diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-05-02 02:39:12 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-05-02 02:39:12 +0900 |
| commit | e61628a34ecccae0feb5e059a2f808977261fa0e (patch) | |
| tree | 863341ca0b1d0a4758426a26c812ccb36851c2e9 /cmd/mbf/main_test.go | |
| parent | 5a18f1492906773b20a6e0ec2b1350edcaa8cb96 (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.go | 47 |
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) + } + }) + } +} |
