mirror of
https://github.com/golang/go
synced 2024-09-30 07:28:36 -06:00
testing: enforce -skip in example tests
The go test flag -skip had no effect in example tests.
Fixes #61482
Change-Id: I28dfddb88fef3fead2a3c74f9cb63a674a768231
GitHub-Last-Rev: e8c3c3460a
GitHub-Pull-Request: golang/go#61491
Reviewed-on: https://go-review.googlesource.com/c/go/+/511837
Reviewed-by: Bryan Mills <bcmills@google.com>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Bryan Mills <bcmills@google.com>
This commit is contained in:
parent
e713d6f939
commit
2eca0b1e16
10
src/cmd/go/testdata/script/test_skip.txt
vendored
10
src/cmd/go/testdata/script/test_skip.txt
vendored
@ -13,13 +13,19 @@ stdout RUN.*Test2/3
|
||||
go test -v -skip 2/3 skip_test.go
|
||||
stdout RUN.*Test1
|
||||
stdout RUN.*Test2
|
||||
stdout RUN.*ExampleTest1
|
||||
! stdout Test2/3
|
||||
|
||||
go test -v -skip 2/4 skip_test.go
|
||||
stdout RUN.*Test1
|
||||
stdout RUN.*Test2
|
||||
stdout RUN.*Test2/3
|
||||
stdout RUN.*ExampleTest1
|
||||
|
||||
go test -v -skip Example skip_test.go
|
||||
stdout RUN.*Test1
|
||||
stdout RUN.*Test2
|
||||
stdout RUN.*Test2/3
|
||||
|
||||
-- skip_test.go --
|
||||
package skip_test
|
||||
@ -32,3 +38,7 @@ func Test1(t *testing.T) {
|
||||
func Test2(t *testing.T) {
|
||||
t.Run("3", func(t *testing.T) {})
|
||||
}
|
||||
|
||||
func ExampleTest1() {
|
||||
// Output:
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ package testing
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"sort"
|
||||
"strings"
|
||||
"time"
|
||||
@ -29,14 +28,11 @@ func RunExamples(matchString func(pat, str string) (bool, error), examples []Int
|
||||
func runExamples(matchString func(pat, str string) (bool, error), examples []InternalExample) (ran, ok bool) {
|
||||
ok = true
|
||||
|
||||
var eg InternalExample
|
||||
m := newMatcher(matchString, *match, "-test.run", *skip)
|
||||
|
||||
var eg InternalExample
|
||||
for _, eg = range examples {
|
||||
matched, err := matchString(*match, eg.Name)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "testing: invalid regexp for -test.run: %s\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
_, matched, _ := m.fullName(nil, eg.Name)
|
||||
if !matched {
|
||||
continue
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user