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 (
runtime = flag.String("runtime", "", "name of runtime")
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")
)
@ -74,15 +74,24 @@ func main() {
return
}
// Run a single test.
if *test == "" {
log.Fatalf("test flag must be provided")
var tests []string
if *testName == "" {
// 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
if err := cmd.Run(); err != nil {
log.Fatalf("FAIL: %v", err)
}
}
}
// testRunnerForRuntime returns a new TestRunner for the given runtime.