Skip to content

Commit

Permalink
testing: enforce -skip in example tests
Browse files Browse the repository at this point in the history
The go test flag -skip had no effect in example tests.

Fixes #61482

Change-Id: I28dfddb88fef3fead2a3c74f9cb63a674a768231
GitHub-Last-Rev: e8c3c3460af906f4c7be7f7a8b4a4c60b71fcec1
GitHub-Pull-Request: golang/go#61491
Reviewed-on: https://go-review.googlesource.com/c/go/+/511837
Reviewed-by: Bryan Mills <[email protected]>
Run-TryBot: Ian Lance Taylor <[email protected]>
Reviewed-by: Heschi Kreinick <[email protected]>
TryBot-Result: Gopher Robot <[email protected]>
Auto-Submit: Bryan Mills <[email protected]>
  • Loading branch information
mauri870 authored and gopherbot committed Jul 21, 2023
1 parent e713d6f commit 2eca0b1
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
10 changes: 10 additions & 0 deletions src/cmd/go/testdata/script/test_skip.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -32,3 +38,7 @@ func Test1(t *testing.T) {
func Test2(t *testing.T) {
t.Run("3", func(t *testing.T) {})
}

func ExampleTest1() {
// Output:
}
10 changes: 3 additions & 7 deletions src/testing/example.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ package testing

import (
"fmt"
"os"
"sort"
"strings"
"time"
Expand All @@ -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
}
Expand Down

0 comments on commit 2eca0b1

Please sign in to comment.