diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-10-18 00:23:39 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-10-18 00:23:39 +0900 |
| commit | 5c51464c157fac76433ff06f4dad16aa530b5a3e (patch) | |
| tree | 38faf93329594c6255a274cf1168b59a146374df | |
| parent | 4a75529f04d504e9072085fe77080fc66dfd2b2e (diff) | |
cmd/hakurei/testsuite: move rts test out of loopstaging
This was inadvertently placed inside the setscheduler loop due to
miscounting indentations.
Signed-off-by: Ophestra <cat@gensokyo.uk>
| -rw-r--r-- | cmd/hakurei/testsuite/main.go | 224 | ||||
| -rw-r--r-- | internal/testsuite/testsuite.go | 2 |
2 files changed, 113 insertions, 113 deletions
diff --git a/cmd/hakurei/testsuite/main.go b/cmd/hakurei/testsuite/main.go index bc93c944..61c2833e 100644 --- a/cmd/hakurei/testsuite/main.go +++ b/cmd/hakurei/testsuite/main.go @@ -696,7 +696,7 @@ func main() { _policy := policy checkHakurei( ctx, &wg, &cred, dbusEnv, - "setscheduler-"+strconv.Itoa(int(policy)), "setscheduler", + "setscheduler-"+strconv.Itoa(int(policy)), "setscheduler "+strconv.Quote(policy.String()), true, false, false, 0, func(c *hst.Config) { c.SchedPolicy = _policy }, func(p hst.State, pid int) error { @@ -754,137 +754,137 @@ func main() { return nil }, nil, ) + } - wg.Go(func() { - defer log.Println("validated revert type selection") - - c := newConfig("rts 0", "sleep", "infinity") - c.Container.Flags |= hst.FShareRuntime - uid := hst.ToUser(0, c.Identity) + wg.Go(func() { + defer log.Println("validated revert type selection") - onDone := func(err error, output string) { - if err == nil { - log.Fatal("revert type selection test process " + - "terminated unexpectedly") - } else if e, ok := errors.AsType[*exec.ExitError](err); !ok { - log.Fatalf("revert type selection: %v\n%s", err, output) - } else if e.ExitCode() != 130 { - log.Fatalf("revert type selection: %v\n%s", e, output) - } + c := newConfig("rts 0", "sleep", "infinity") + c.Container.Flags |= hst.FShareRuntime + uid := hst.ToUser(0, c.Identity) - if output != "" { - log.Fatalf("unexpected output\n%s", output) - } + onDone := func(err error, output string) { + if err == nil { + log.Fatal("revert type selection test process " + + "terminated unexpectedly") + } else if e, ok := errors.AsType[*exec.ExitError](err); !ok { + log.Fatalf("revert type selection: %v\n%s", err, output) + } else if e.ExitCode() != 130 { + log.Fatalf("revert type selection: %v\n%s", e, output) } - validatePresent := func() { - testsuite.AssertOutput( - "validating ACLs for rts present", - "user::rwx\n"+ - "user:"+strconv.Itoa(uid)+":rwx\n"+ - "group::---\n"+ - "mask::rwx\n"+ - "other::---\n"+ - "\n", - "", - )(testsuite.MustOutput( - ctx, &cred, nil, 0, "getfacl rts present", - "getfacl", - "--absolute-names", - "--omit-header", - "--numeric", - "/tmp/hakurei.0/runtime/"+strconv.Itoa(c.Identity), - )) - } - validateReverted := func() { - testsuite.AssertOutput( - "validating ACLs for rts reverted", - "user::rwx\n"+ - "group::---\n"+ - "mask::---\n"+ - "other::---\n"+ - "\n", - "", - )(testsuite.MustOutput( - ctx, &cred, nil, 0, "getfacl rts present", - "getfacl", - "--absolute-names", - "--omit-header", - "--numeric", - "/tmp/hakurei.0/runtime/"+strconv.Itoa(c.Identity), - )) + if output != "" { + log.Fatalf("unexpected output\n%s", output) } + } - p0, pid0 := testsuite.MustStartHakurei( - ctx, &wg, &cred, dbusEnv, onDone, - true, false, false, false, c, - ) - validatePresent() + validatePresent := func() { + testsuite.AssertOutput( + "validating ACLs for rts present", + "user::rwx\n"+ + "user:"+strconv.Itoa(uid)+":rwx\n"+ + "group::---\n"+ + "mask::rwx\n"+ + "other::---\n"+ + "\n", + "", + )(testsuite.MustOutput( + ctx, &cred, nil, 0, "getfacl rts present", + "getfacl", + "--absolute-names", + "--omit-header", + "--numeric", + "/tmp/hakurei.0/runtime/"+strconv.Itoa(c.Identity), + )) + } + validateReverted := func() { + testsuite.AssertOutput( + "validating ACLs for rts reverted", + "user::rwx\n"+ + "group::---\n"+ + "mask::---\n"+ + "other::---\n"+ + "\n", + "", + )(testsuite.MustOutput( + ctx, &cred, nil, 0, "getfacl rts present", + "getfacl", + "--absolute-names", + "--omit-header", + "--numeric", + "/tmp/hakurei.0/runtime/"+strconv.Itoa(c.Identity), + )) + } - p1, pid1 := testsuite.MustStartHakurei( - ctx, &wg, &cred, dbusEnv, onDone, - true, false, false, false, c, - ) - validatePresent() + p0, pid0 := testsuite.MustStartHakurei( + ctx, &wg, &cred, dbusEnv, onDone, + true, false, false, false, c, + ) + validatePresent() - testsuite.MustRun( - &cred, testsuite.SessionEnv(dbusEnv), - "hakurei", "kill", p1.ID.String(), - ) - testsuite.PollPID("revert type selection 1", pid1) - validatePresent() + p1, pid1 := testsuite.MustStartHakurei( + ctx, &wg, &cred, dbusEnv, onDone, + true, false, false, false, c, + ) + validatePresent() - testsuite.MustRun( - &cred, testsuite.SessionEnv(dbusEnv), - "hakurei", "kill", p0.ID.String(), - ) - testsuite.PollPID("revert type selection 0", pid0) - validateReverted() - }) + testsuite.MustRun( + &cred, testsuite.SessionEnv(dbusEnv), + "hakurei", "kill", p1.ID.String(), + ) + testsuite.PollPID("revert type selection 1", pid1) + validatePresent() - wg.Wait() + testsuite.MustRun( + &cred, testsuite.SessionEnv(dbusEnv), + "hakurei", "kill", p0.ID.String(), + ) + testsuite.PollPID("revert type selection 0", pid0) + validateReverted() + }) - if dents, err := os.ReadDir(fhs.Tmp); err != nil { - log.Fatal(err) - } else { - for _, dent := range dents { - if name := dent.Name(); strings.HasPrefix(name, ".hakurei-shim-") { - log.Fatalf("leftover shim work dir %q", name) - } - } - } + wg.Wait() - if dents, err := os.ReadDir(testsuite.HakureiPrefix); err != nil { - log.Fatal(err) - } else { - if len(dents) != 3 { - log.Fatal("leftover hakurei work directories") + if dents, err := os.ReadDir(fhs.Tmp); err != nil { + log.Fatal(err) + } else { + for _, dent := range dents { + if name := dent.Name(); strings.HasPrefix(name, ".hakurei-shim-") { + log.Fatalf("leftover shim work dir %q", name) } } + } - if err := filepath.WalkDir(testsuite.HakureiPrefix+"state", func( - path string, - d fs.DirEntry, - err error, - ) error { - if err != nil { - return err - } + if dents, err := os.ReadDir(testsuite.HakureiPrefix); err != nil { + log.Fatal(err) + } else { + if len(dents) != 3 { + log.Fatal("leftover hakurei work directories") + } + } - if d.IsDir() { - return nil - } + if err := filepath.WalkDir(testsuite.HakureiPrefix+"state", func( + path string, + d fs.DirEntry, + err error, + ) error { + if err != nil { + return err + } - if !d.Type().IsRegular() { - return fmt.Errorf("strange entry at %q: %s", path, d.Type()) - } - if d.Name() != "lock" { - return fmt.Errorf("leftover entry at %q", path) - } + if d.IsDir() { return nil - }); err != nil { - log.Fatal(err) } + + if !d.Type().IsRegular() { + return fmt.Errorf("strange entry at %q: %s", path, d.Type()) + } + if d.Name() != "lock" { + return fmt.Errorf("leftover entry at %q", path) + } + return nil + }); err != nil { + log.Fatal(err) } var identifiers []hst.ID diff --git a/internal/testsuite/testsuite.go b/internal/testsuite/testsuite.go index 367cb4c0..b7805380 100644 --- a/internal/testsuite/testsuite.go +++ b/internal/testsuite/testsuite.go @@ -798,7 +798,7 @@ func StartHakurei( "hakurei", "--json", "ps", "--short", ) if !slices.Contains(identifiers, id) { - log.Fatal("instance not present in ps output") + log.Fatalf("(%s) instance not present in ps output", c.Container.Hostname) } var got hst.State |
