blob: 103b2b4527e77f9fce8bdb9c3a30fe74ea3f2acf [file] [log] [blame]
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +02001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
Tim Windelschmidtbed76d92025-02-18 03:04:14 +01002load("//osbase/build/mkcpio:def.bzl", "node_initramfs")
3load("//osbase/build/mkpayload:def.bzl", "efi_unified_kernel_image")
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +02004
5go_test(
6 name = "test_test",
7 size = "medium",
8 srcs = ["run_test.go"],
9 data = [
Tim Windelschmidt83da4222024-12-16 02:49:50 +010010 ":kernel_error",
11 ":kernel_panic",
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +020012 ":kernel_succeeded",
13 "//third_party/edk2:OVMF_CODE.fd",
14 "//third_party/edk2:OVMF_VARS.fd",
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +020015 ],
16 importpath = "source.monogon.dev/metropolis/installer/test",
17 visibility = ["//visibility:private"],
18 x_defs = {
19 "xOvmfVarsPath": "$(rlocationpath //third_party/edk2:OVMF_VARS.fd )",
20 "xOvmfCodePath": "$(rlocationpath //third_party/edk2:OVMF_CODE.fd )",
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +020021 "xSucceedKernelPath": "$(rlocationpath :kernel_succeeded )",
Tim Windelschmidt83da4222024-12-16 02:49:50 +010022 "xPanicKernelPath": "$(rlocationpath :kernel_panic )",
23 "xErrorKernelPath": "$(rlocationpath :kernel_error )",
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +020024 },
25 deps = [
26 "//osbase/cmd",
Tim Windelschmidt156248b2025-01-10 00:27:45 +010027 "@io_bazel_rules_go//go/runfiles",
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +020028 ],
29)
30
Tim Windelschmidt24bf6fd2025-02-12 04:48:24 +010031# TODO(tim): Replace instances with macro
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +020032go_library(
33 name = "succeeded_lib",
34 srcs = ["main_succeeded.go"],
35 importpath = "source.monogon.dev/osbase/bringup/test",
36 visibility = ["//visibility:private"],
37 deps = [
38 "//osbase/bootparam",
39 "//osbase/bringup",
40 "//osbase/efivarfs",
41 "//osbase/logtree",
42 "//osbase/supervisor",
43 "@org_golang_x_sys//unix",
44 "@org_uber_go_multierr//:multierr",
45 ],
46)
47
48go_binary(
49 name = "succeeded",
50 embed = [":succeeded_lib"],
51 visibility = ["//visibility:private"],
52)
53
54node_initramfs(
55 name = "initramfs_succeeded",
56 files = {
Tim Windelschmidt24bf6fd2025-02-12 04:48:24 +010057 "/init": ":succeeded",
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +020058 },
59 fsspecs = [
60 "//osbase/build:earlydev.fsspec",
61 ],
62 visibility = ["//visibility:private"],
63)
64
65efi_unified_kernel_image(
66 name = "kernel_succeeded",
67 cmdline = "quiet console=ttyS0 init=/init",
68 initrd = [":initramfs_succeeded"],
69 kernel = "//third_party/linux",
70 visibility = ["//visibility:private"],
71)
72
73go_library(
Tim Windelschmidt83da4222024-12-16 02:49:50 +010074 name = "panic_lib",
75 srcs = ["main_panic.go"],
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +020076 importpath = "source.monogon.dev/osbase/bringup/test",
77 visibility = ["//visibility:private"],
78 deps = [
79 "//osbase/bootparam",
80 "//osbase/bringup",
81 "//osbase/efivarfs",
82 "//osbase/logtree",
83 "//osbase/supervisor",
84 "@org_golang_x_sys//unix",
85 "@org_uber_go_multierr//:multierr",
86 ],
87)
88
89go_binary(
Tim Windelschmidt83da4222024-12-16 02:49:50 +010090 name = "panic",
91 embed = [":panic_lib"],
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +020092 visibility = ["//visibility:private"],
93)
94
95node_initramfs(
Tim Windelschmidt83da4222024-12-16 02:49:50 +010096 name = "initramfs_panic",
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +020097 files = {
Tim Windelschmidt24bf6fd2025-02-12 04:48:24 +010098 "/init": ":panic",
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +020099 },
100 fsspecs = [
101 "//osbase/build:earlydev.fsspec",
102 ],
103 visibility = ["//visibility:private"],
104)
105
106efi_unified_kernel_image(
Tim Windelschmidt83da4222024-12-16 02:49:50 +0100107 name = "kernel_panic",
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +0200108 cmdline = "quiet console=ttyS0 init=/init",
Tim Windelschmidt83da4222024-12-16 02:49:50 +0100109 initrd = [":initramfs_panic"],
110 kernel = "//third_party/linux",
111 visibility = ["//visibility:private"],
112)
113
114go_library(
115 name = "error_lib",
116 srcs = ["main_error.go"],
117 importpath = "source.monogon.dev/osbase/bringup/test",
118 visibility = ["//visibility:private"],
119 deps = [
120 "//osbase/bootparam",
121 "//osbase/bringup",
122 "//osbase/efivarfs",
123 "//osbase/logtree",
124 "//osbase/supervisor",
125 "@org_golang_x_sys//unix",
126 "@org_uber_go_multierr//:multierr",
127 ],
128)
129
130go_binary(
131 name = "error",
132 embed = [":error_lib"],
133 visibility = ["//visibility:private"],
134)
135
136node_initramfs(
137 name = "initramfs_error",
138 files = {
Tim Windelschmidt24bf6fd2025-02-12 04:48:24 +0100139 "/init": ":error",
Tim Windelschmidt83da4222024-12-16 02:49:50 +0100140 },
141 fsspecs = [
142 "//osbase/build:earlydev.fsspec",
143 ],
144 visibility = ["//visibility:private"],
145)
146
147efi_unified_kernel_image(
148 name = "kernel_error",
149 cmdline = "quiet console=ttyS0 init=/init",
150 initrd = [":initramfs_error"],
Tim Windelschmidt18e9a3f2024-04-08 21:51:03 +0200151 kernel = "//third_party/linux",
152 visibility = ["//visibility:private"],
153)