diff options
Diffstat (limited to 'container/init_test.go')
| -rw-r--r-- | container/init_test.go | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/container/init_test.go b/container/init_test.go new file mode 100644 index 00000000..ad35b4cf --- /dev/null +++ b/container/init_test.go @@ -0,0 +1,43 @@ +package container_test + +import ( + "log" + "os" + "testing" + + "hakurei.app/command" + "hakurei.app/container" + "hakurei.app/internal" + "hakurei.app/internal/hlog" +) + +const ( + envDoCheck = "HAKUREI_TEST_DO_CHECK" +) + +var helperCommands []func(c command.Command) + +func TestMain(m *testing.M) { + container.TryArgv0(hlog.Output{}, hlog.Prepare, internal.InstallOutput) + + if os.Getenv(envDoCheck) == "1" { + c := command.New(os.Stderr, log.Printf, "helper", func(args []string) error { + log.SetFlags(0) + log.SetPrefix("helper: ") + return nil + }) + for _, f := range helperCommands { + f(c) + } + c.MustParse(os.Args[1:], func(err error) { + if err != nil { + log.Fatal(err.Error()) + } + }) + return + } + + os.Exit(m.Run()) +} + +func prepareHelper(c *container.Container) { c.Env = append(c.Env, envDoCheck+"=1") } |
