diff options
author | Damian Gryski <[email protected]> | 2021-09-27 10:13:21 -0700 |
---|---|---|
committer | Ron Evans <[email protected]> | 2021-09-27 20:02:02 +0200 |
commit | 0dfb33656381f5999450426680f3b5eb6c9800a0 (patch) | |
tree | 2642a28389cf93dd63c0fe327857c87993803dc2 /main.go | |
parent | d9ad500cf70840686704f2952e443b8ecdbd0617 (diff) | |
download | tinygo-0dfb33656381f5999450426680f3b5eb6c9800a0.tar.gz tinygo-0dfb33656381f5999450426680f3b5eb6c9800a0.zip |
add support for -test.short flag
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -159,7 +159,7 @@ func Build(pkgName, outpath string, options *compileopts.Options) error { // Test runs the tests in the given package. Returns whether the test passed and // possibly an error if the test failed to run. -func Test(pkgName string, options *compileopts.Options, testCompileOnly, testVerbose bool, outpath string) (bool, error) { +func Test(pkgName string, options *compileopts.Options, testCompileOnly, testVerbose, testShort bool, outpath string) (bool, error) { options.TestConfig.CompileTestBinary = true config, err := builder.NewConfig(options) if err != nil { @@ -185,7 +185,7 @@ func Test(pkgName string, options *compileopts.Options, testCompileOnly, testVer // Run the test. start := time.Now() var err error - passed, err = runPackageTest(config, result, testVerbose) + passed, err = runPackageTest(config, result, testVerbose, testShort) if err != nil { return err } @@ -211,13 +211,17 @@ func Test(pkgName string, options *compileopts.Options, testCompileOnly, testVer // runPackageTest runs a test binary that was previously built. The return // values are whether the test passed and any errors encountered while trying to // run the binary. -func runPackageTest(config *compileopts.Config, result builder.BuildResult, testVerbose bool) (bool, error) { +func runPackageTest(config *compileopts.Config, result builder.BuildResult, testVerbose, testShort bool) (bool, error) { if len(config.Target.Emulator) == 0 { // Run directly. var flags []string if testVerbose { flags = append(flags, "-test.v") } + if testShort { + flags = append(flags, "-test.short") + } + cmd := executeCommand(config.Options, result.Binary, flags...) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr @@ -1102,10 +1106,11 @@ func main() { if command == "help" || command == "build" || command == "build-library" || command == "test" { flag.StringVar(&outpath, "o", "", "output filename") } - var testCompileOnlyFlag, testVerboseFlag *bool + var testCompileOnlyFlag, testVerboseFlag, testShortFlag *bool if command == "help" || command == "test" { testCompileOnlyFlag = flag.Bool("c", false, "compile the test binary but do not run it") testVerboseFlag = flag.Bool("v", false, "verbose: print additional output") + testShortFlag = flag.Bool("short", false, "short: run smaller test suite to save time") } // Early command processing, before commands are interpreted by the Go flag @@ -1280,7 +1285,7 @@ func main() { allTestsPassed := true for _, pkgName := range pkgNames { // TODO: parallelize building the test binaries - passed, err := Test(pkgName, options, *testCompileOnlyFlag, *testVerboseFlag, outpath) + passed, err := Test(pkgName, options, *testCompileOnlyFlag, *testVerboseFlag, *testShortFlag, outpath) handleCompilerError(err) if !passed { allTestsPassed = false |