m/n/c/update: fix matching boot entries

The matching code accidentally worked as long as there was only one boot
entry for each loader path (boot-a.efi/boot-b.efi) as it type-asserted
a pointer which caused ok to always be false and thus all entries passed
through the UUID check.

This fixes the type assertion and following logic.

Change-Id: I83fdd2204028633dc274055f7d1ecb458747174e
Reviewed-on: https://review.monogon.dev/c/monogon/+/2031
Tested-by: Jenkins CI
Reviewed-by: Serge Bazanski <serge@monogon.tech>
diff --git a/metropolis/node/core/update/BUILD.bazel b/metropolis/node/core/update/BUILD.bazel
index e3cdcd1..e506984 100644
--- a/metropolis/node/core/update/BUILD.bazel
+++ b/metropolis/node/core/update/BUILD.bazel
@@ -1,4 +1,4 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 
 go_library(
     name = "update",
@@ -18,3 +18,14 @@
         "@org_golang_x_sys//unix",
     ],
 )
+
+go_test(
+    name = "update_test",
+    srcs = ["update_test.go"],
+    embed = [":update"],
+    deps = [
+        "//metropolis/pkg/efivarfs",
+        "//metropolis/pkg/gpt",
+        "@com_github_google_uuid//:uuid",
+    ],
+)