Allow all runtime tests for a language to be run via a single command.

This was intended behavior per the README, but running tests without the --test
flag caused an error. Users can now omit the --test flag to run every test for a
runtime.

PiperOrigin-RevId: 280522025
This commit is contained in:
Kevin Krakauer 2019-11-14 15:04:25 -08:00 committed by gVisor bot
parent 9ca15dbf14
commit 1e1f5ce082
1 changed files with 20 additions and 11 deletions

View File

@ -41,7 +41,7 @@ type TestRunner interface {
var ( var (
runtime = flag.String("runtime", "", "name of runtime") runtime = flag.String("runtime", "", "name of runtime")
list = flag.Bool("list", false, "list all available tests") list = flag.Bool("list", false, "list all available tests")
test = flag.String("test", "", "run a single test from the list of available tests") testName = flag.String("test", "", "run a single test from the list of available tests")
pause = flag.Bool("pause", false, "cause container to pause indefinitely, reaping any zombie children") pause = flag.Bool("pause", false, "cause container to pause indefinitely, reaping any zombie children")
) )
@ -74,15 +74,24 @@ func main() {
return return
} }
// Run a single test. var tests []string
if *test == "" { if *testName == "" {
log.Fatalf("test flag must be provided") // Run every test.
tests, err = tr.ListTests()
if err != nil {
log.Fatalf("failed to get all tests: %v", err)
} }
cmd := tr.TestCmd(*test) } else {
// Run a single test.
tests = []string{*testName}
}
for _, test := range tests {
cmd := tr.TestCmd(test)
cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr
if err := cmd.Run(); err != nil { if err := cmd.Run(); err != nil {
log.Fatalf("FAIL: %v", err) log.Fatalf("FAIL: %v", err)
} }
}
} }
// testRunnerForRuntime returns a new TestRunner for the given runtime. // testRunnerForRuntime returns a new TestRunner for the given runtime.