blob: ecb893dc9b593fec051045b71044ee6b522b1df9 [file] [log] [blame]
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +02001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
2load("//osbase/build:def.bzl", "node_initramfs")
3load("//osbase/build:efi.bzl", "efi_unified_kernel_image")
4
5go_test(
6 name = "test_test",
7 size = "medium",
8 srcs = ["run_test.go"],
9 data = [
10 ":kernel_failed",
11 ":kernel_succeeded",
12 "//third_party/edk2:OVMF_CODE.fd",
13 "//third_party/edk2:OVMF_VARS.fd",
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +020014 ],
15 importpath = "source.monogon.dev/metropolis/installer/test",
16 visibility = ["//visibility:private"],
17 x_defs = {
18 "xOvmfVarsPath": "$(rlocationpath //third_party/edk2:OVMF_VARS.fd )",
19 "xOvmfCodePath": "$(rlocationpath //third_party/edk2:OVMF_CODE.fd )",
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +020020 "xSucceedKernelPath": "$(rlocationpath :kernel_succeeded )",
21 "xFailedKernelPath": "$(rlocationpath :kernel_failed )",
22 },
23 deps = [
24 "//osbase/cmd",
25 "@io_bazel_rules_go//go/runfiles:go_default_library",
26 ],
27)
28
29go_library(
30 name = "succeeded_lib",
31 srcs = ["main_succeeded.go"],
32 importpath = "source.monogon.dev/osbase/bringup/test",
33 visibility = ["//visibility:private"],
34 deps = [
35 "//osbase/bootparam",
36 "//osbase/bringup",
37 "//osbase/efivarfs",
38 "//osbase/logtree",
39 "//osbase/supervisor",
40 "@org_golang_x_sys//unix",
41 "@org_uber_go_multierr//:multierr",
42 ],
43)
44
45go_binary(
46 name = "succeeded",
47 embed = [":succeeded_lib"],
48 visibility = ["//visibility:private"],
49)
50
51node_initramfs(
52 name = "initramfs_succeeded",
53 files = {
54 ":succeeded": "/init",
55 },
56 fsspecs = [
57 "//osbase/build:earlydev.fsspec",
58 ],
59 visibility = ["//visibility:private"],
60)
61
62efi_unified_kernel_image(
63 name = "kernel_succeeded",
64 cmdline = "quiet console=ttyS0 init=/init",
65 initrd = [":initramfs_succeeded"],
66 kernel = "//third_party/linux",
67 visibility = ["//visibility:private"],
68)
69
70go_library(
71 name = "failed_lib",
72 srcs = ["main_failed.go"],
73 importpath = "source.monogon.dev/osbase/bringup/test",
74 visibility = ["//visibility:private"],
75 deps = [
76 "//osbase/bootparam",
77 "//osbase/bringup",
78 "//osbase/efivarfs",
79 "//osbase/logtree",
80 "//osbase/supervisor",
81 "@org_golang_x_sys//unix",
82 "@org_uber_go_multierr//:multierr",
83 ],
84)
85
86go_binary(
87 name = "failed",
88 embed = [":failed_lib"],
89 visibility = ["//visibility:private"],
90)
91
92node_initramfs(
93 name = "initramfs_failed",
94 files = {
95 ":failed": "/init",
96 },
97 fsspecs = [
98 "//osbase/build:earlydev.fsspec",
99 ],
100 visibility = ["//visibility:private"],
101)
102
103efi_unified_kernel_image(
104 name = "kernel_failed",
105 cmdline = "quiet console=ttyS0 init=/init",
106 initrd = [":initramfs_failed"],
107 kernel = "//third_party/linux",
108 visibility = ["//visibility:private"],
109)