aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd/mbf/main_test.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-02 02:39:12 +0900
committerOphestra <cat@gensokyo.uk>2026-05-02 02:39:12 +0900
commite61628a34ecccae0feb5e059a2f808977261fa0e (patch)
tree863341ca0b1d0a4758426a26c812ccb36851c2e9 /cmd/mbf/main_test.go
parent5a18f1492906773b20a6e0ec2b1350edcaa8cb96 (diff)
cmd/mbf: test cure all via daemon
This is the daemon equivalent of CureAll in internal/rosa. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'cmd/mbf/main_test.go')
-rw-r--r--cmd/mbf/main_test.go47
1 files changed, 47 insertions, 0 deletions
diff --git a/cmd/mbf/main_test.go b/cmd/mbf/main_test.go
new file mode 100644
index 00000000..8f0d0894
--- /dev/null
+++ b/cmd/mbf/main_test.go
@@ -0,0 +1,47 @@
+package main
+
+import (
+ "net"
+ "os"
+ "testing"
+
+ "hakurei.app/internal/rosa"
+)
+
+func TestMain(m *testing.M) {
+ rosa.DropCaches(rosa.OptLLVMNoLTO)
+ os.Exit(m.Run())
+}
+
+func TestCureAll(t *testing.T) {
+ t.Parallel()
+ const env = "ROSA_TEST_DAEMON"
+
+ if !testing.Verbose() {
+ t.Skip("verbose flag not set")
+ }
+
+ pathname, ok := os.LookupEnv(env)
+ if !ok {
+ t.Skip(env + " not set")
+ }
+
+ addr := net.UnixAddr{Net: "unix", Name: pathname}
+ t.Cleanup(func() {
+ if t.Failed() {
+ if err := abortRemote(t.Context(), &addr, false); err != nil {
+ t.Fatal(err)
+ }
+ }
+ })
+
+ for i := range rosa.PresetEnd {
+ p := rosa.PArtifact(i)
+ t.Run(rosa.GetMetadata(p).Name, func(t *testing.T) {
+ _, err := cureRemote(t.Context(), &addr, rosa.Std.Load(p), 0)
+ if err != nil {
+ t.Error(err)
+ }
+ })
+ }
+}