Fixes #3056
Этот коммит содержится в:
Damian Gryski 2023-03-31 12:59:14 -07:00 коммит произвёл Damian Gryski
родитель ee81c31884
коммит 63aaa43072
4 изменённых файлов: 14 добавлений и 6 удалений

Просмотреть файл

@ -545,6 +545,7 @@ type TestConfig struct {
Verbose bool
Short bool
RunRegexp string
SkipRegexp string
Count *int
BenchRegexp string
BenchTime string

Просмотреть файл

@ -236,6 +236,9 @@ func Test(pkgName string, stdout, stderr io.Writer, options *compileopts.Options
if testConfig.RunRegexp != "" {
flags = append(flags, "-test.run="+testConfig.RunRegexp)
}
if testConfig.SkipRegexp != "" {
flags = append(flags, "-test.skip="+testConfig.SkipRegexp)
}
if testConfig.BenchRegexp != "" {
flags = append(flags, "-test.bench="+testConfig.BenchRegexp)
}
@ -1434,6 +1437,7 @@ func main() {
flag.BoolVar(&testConfig.Verbose, "v", false, "verbose: print additional output")
flag.BoolVar(&testConfig.Short, "short", false, "short: run smaller test suite to save time")
flag.StringVar(&testConfig.RunRegexp, "run", "", "run: regexp of tests to run")
flag.StringVar(&testConfig.SkipRegexp, "skip", "", "run: regexp of tests to run")
testConfig.Count = flag.Int("count", 1, "count: number of times to run tests/benchmarks `count` times")
flag.StringVar(&testConfig.BenchRegexp, "bench", "", "run: regexp of benchmarks to run")
flag.StringVar(&testConfig.BenchTime, "benchtime", "", "run each benchmark for duration `d`")

Просмотреть файл

@ -365,7 +365,7 @@ func runBenchmarks(matchString func(pat, str string) (bool, error), benchmarks [
return true
}
ctx := &benchContext{
match: newMatcher(matchString, *matchBenchmarks, "-test.bench", ""),
match: newMatcher(matchString, *matchBenchmarks, "-test.bench", flagSkipRegexp),
}
var bs []InternalBenchmark
for _, Benchmark := range benchmarks {

Просмотреть файл

@ -24,10 +24,11 @@ import (
// Testing flags.
var (
flagVerbose bool
flagShort bool
flagRunRegexp string
flagCount int
flagVerbose bool
flagShort bool
flagRunRegexp string
flagSkipRegexp string
flagCount int
)
var initRan bool
@ -42,6 +43,8 @@ func Init() {
flag.BoolVar(&flagVerbose, "test.v", false, "verbose: print additional output")
flag.BoolVar(&flagShort, "test.short", false, "short: run smaller test suite to save time")
flag.StringVar(&flagRunRegexp, "test.run", "", "run: regexp of tests to run")
flag.StringVar(&flagSkipRegexp, "test.skip", "", "skip: regexp of tests to run")
flag.IntVar(&flagCount, "test.count", 1, "run each test or benchmark `count` times")
initBenchmarkFlags()
@ -499,7 +502,7 @@ func (m *M) Run() (code int) {
func runTests(matchString func(pat, str string) (bool, error), tests []InternalTest) (ran, ok bool) {
ok = true
ctx := newTestContext(newMatcher(matchString, flagRunRegexp, "-test.run", ""))
ctx := newTestContext(newMatcher(matchString, flagRunRegexp, "-test.run", flagSkipRegexp))
t := &T{
common: common{
output: &logger{logToStdout: flagVerbose},