forked from rosa/hakurei
This is the daemon equivalent of CureAll in internal/rosa. Signed-off-by: Ophestra <cat@gensokyo.uk>
48 lines
800 B
Go
48 lines
800 B
Go
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)
|
|
}
|
|
})
|
|
}
|
|
}
|