osbase/bringup/test: replace test builds with macro
This just makes the BUILD.bazel a bit more readable
Change-Id: If9ca4b8776c2b428da467dcd8627e839bac37468
Reviewed-on: https://review.monogon.dev/c/monogon/+/3904
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
Tested-by: Jenkins CI
diff --git a/osbase/bringup/test/BUILD.bazel b/osbase/bringup/test/BUILD.bazel
index 103b2b4..66803bb 100644
--- a/osbase/bringup/test/BUILD.bazel
+++ b/osbase/bringup/test/BUILD.bazel
@@ -1,6 +1,11 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
-load("//osbase/build/mkcpio:def.bzl", "node_initramfs")
-load("//osbase/build/mkpayload:def.bzl", "efi_unified_kernel_image")
+load("@io_bazel_rules_go//go:def.bzl", "go_test")
+load(":bringup.bzl", "bringup_test")
+
+bringup_test(variant = "succeeded")
+
+bringup_test(variant = "error")
+
+bringup_test(variant = "panic")
go_test(
name = "test_test",
@@ -27,127 +32,3 @@
"@io_bazel_rules_go//go/runfiles",
],
)
-
-# TODO(tim): Replace instances with macro
-go_library(
- name = "succeeded_lib",
- srcs = ["main_succeeded.go"],
- importpath = "source.monogon.dev/osbase/bringup/test",
- visibility = ["//visibility:private"],
- deps = [
- "//osbase/bootparam",
- "//osbase/bringup",
- "//osbase/efivarfs",
- "//osbase/logtree",
- "//osbase/supervisor",
- "@org_golang_x_sys//unix",
- "@org_uber_go_multierr//:multierr",
- ],
-)
-
-go_binary(
- name = "succeeded",
- embed = [":succeeded_lib"],
- visibility = ["//visibility:private"],
-)
-
-node_initramfs(
- name = "initramfs_succeeded",
- files = {
- "/init": ":succeeded",
- },
- fsspecs = [
- "//osbase/build:earlydev.fsspec",
- ],
- visibility = ["//visibility:private"],
-)
-
-efi_unified_kernel_image(
- name = "kernel_succeeded",
- cmdline = "quiet console=ttyS0 init=/init",
- initrd = [":initramfs_succeeded"],
- kernel = "//third_party/linux",
- visibility = ["//visibility:private"],
-)
-
-go_library(
- name = "panic_lib",
- srcs = ["main_panic.go"],
- importpath = "source.monogon.dev/osbase/bringup/test",
- visibility = ["//visibility:private"],
- deps = [
- "//osbase/bootparam",
- "//osbase/bringup",
- "//osbase/efivarfs",
- "//osbase/logtree",
- "//osbase/supervisor",
- "@org_golang_x_sys//unix",
- "@org_uber_go_multierr//:multierr",
- ],
-)
-
-go_binary(
- name = "panic",
- embed = [":panic_lib"],
- visibility = ["//visibility:private"],
-)
-
-node_initramfs(
- name = "initramfs_panic",
- files = {
- "/init": ":panic",
- },
- fsspecs = [
- "//osbase/build:earlydev.fsspec",
- ],
- visibility = ["//visibility:private"],
-)
-
-efi_unified_kernel_image(
- name = "kernel_panic",
- cmdline = "quiet console=ttyS0 init=/init",
- initrd = [":initramfs_panic"],
- kernel = "//third_party/linux",
- visibility = ["//visibility:private"],
-)
-
-go_library(
- name = "error_lib",
- srcs = ["main_error.go"],
- importpath = "source.monogon.dev/osbase/bringup/test",
- visibility = ["//visibility:private"],
- deps = [
- "//osbase/bootparam",
- "//osbase/bringup",
- "//osbase/efivarfs",
- "//osbase/logtree",
- "//osbase/supervisor",
- "@org_golang_x_sys//unix",
- "@org_uber_go_multierr//:multierr",
- ],
-)
-
-go_binary(
- name = "error",
- embed = [":error_lib"],
- visibility = ["//visibility:private"],
-)
-
-node_initramfs(
- name = "initramfs_error",
- files = {
- "/init": ":error",
- },
- fsspecs = [
- "//osbase/build:earlydev.fsspec",
- ],
- visibility = ["//visibility:private"],
-)
-
-efi_unified_kernel_image(
- name = "kernel_error",
- cmdline = "quiet console=ttyS0 init=/init",
- initrd = [":initramfs_error"],
- kernel = "//third_party/linux",
- visibility = ["//visibility:private"],
-)
diff --git a/osbase/bringup/test/bringup.bzl b/osbase/bringup/test/bringup.bzl
new file mode 100644
index 0000000..eeea1b2
--- /dev/null
+++ b/osbase/bringup/test/bringup.bzl
@@ -0,0 +1,46 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
+load("//osbase/build/mkcpio:def.bzl", "node_initramfs")
+load("//osbase/build/mkpayload:def.bzl", "efi_unified_kernel_image")
+
+# buildifier: disable=unnamed-macro
+def bringup_test(variant):
+ go_library(
+ name = "%s_lib" % variant,
+ srcs = ["main_%s.go" % variant],
+ importpath = "source.monogon.dev/osbase/bringup/test",
+ visibility = ["//visibility:private"],
+ deps = [
+ "//osbase/bootparam",
+ "//osbase/bringup",
+ "//osbase/efivarfs",
+ "//osbase/logtree",
+ "//osbase/supervisor",
+ "@org_golang_x_sys//unix",
+ "@org_uber_go_multierr//:multierr",
+ ],
+ )
+
+ go_binary(
+ name = "%s_bin" % variant,
+ embed = [":%s_lib" % variant],
+ visibility = ["//visibility:private"],
+ )
+
+ node_initramfs(
+ name = "initramfs_%s" % variant,
+ files = {
+ "/init": ":%s_bin" % variant,
+ },
+ fsspecs = [
+ "//osbase/build:earlydev.fsspec",
+ ],
+ visibility = ["//visibility:private"],
+ )
+
+ efi_unified_kernel_image(
+ name = "kernel_%s" % variant,
+ cmdline = "quiet console=ttyS0 init=/init",
+ initrd = [":initramfs_%s" % variant],
+ kernel = "//third_party/linux",
+ visibility = ["//visibility:private"],
+ )