From 69c77ee7835d702d08ab996f885ec49a13261ef2 Mon Sep 17 00:00:00 2001 From: Mauri de Souza Meneguzzo Date: Thu, 20 Jul 2023 21:20:44 -0300 Subject: [PATCH 1/2] testing: enforce -skip in example tests The go test flag -skip had no effect in example tests. Fixes #61482 --- src/testing/example.go | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/testing/example.go b/src/testing/example.go index 42ee555cb28f7d..07aa5cb66c192f 100644 --- a/src/testing/example.go +++ b/src/testing/example.go @@ -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 } From e8c3c3460af906f4c7be7f7a8b4a4c60b71fcec1 Mon Sep 17 00:00:00 2001 From: Mauri de Souza Meneguzzo Date: Fri, 21 Jul 2023 15:19:27 -0300 Subject: [PATCH 2/2] add example test --- src/cmd/go/testdata/script/test_skip.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/cmd/go/testdata/script/test_skip.txt b/src/cmd/go/testdata/script/test_skip.txt index 94d20b96449086..73e4195f78e81a 100644 --- a/src/cmd/go/testdata/script/test_skip.txt +++ b/src/cmd/go/testdata/script/test_skip.txt @@ -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: +}