Skip to content

Commit

Permalink
cmd/go: convert TestCoverageRuns to the script framework
Browse files Browse the repository at this point in the history
Part of converting all tests to script framework to improve
test parallelism.

Updates #36320
Updates #17751

Change-Id: Ie46118eddbd7c3ed0bb9ecee4bdc1cb6fdaf06a0
Reviewed-on: https://go-review.googlesource.com/c/go/+/214291
Reviewed-by: Jay Conrod <[email protected]>
  • Loading branch information
matloob committed Feb 19, 2020
1 parent 1331113 commit b44008f
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 21 deletions.
21 changes: 0 additions & 21 deletions src/cmd/go/go_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1709,27 +1709,6 @@ func TestShadowingLogic(t *testing.T) {
}
}

// Check that coverage analysis works at all.
// Don't worry about the exact numbers but require not 0.0%.
func checkCoverage(tg *testgoData, data string) {
tg.t.Helper()
if regexp.MustCompile(`[^0-9]0\.0%`).MatchString(data) {
tg.t.Error("some coverage results are 0.0%")
}
}

func TestCoverageRuns(t *testing.T) {
skipIfGccgo(t, "gccgo has no cover tool")
tooSlow(t)
tg := testgo(t)
defer tg.cleanup()
tg.run("test", "-short", "-coverpkg=strings", "strings", "regexp")
data := tg.getStdout() + tg.getStderr()
tg.run("test", "-short", "-cover", "strings", "math", "regexp")
data += tg.getStdout() + tg.getStderr()
checkCoverage(tg, data)
}

func TestBuildDryRunWithCgo(t *testing.T) {
if !canCgo {
t.Skip("skipping because cgo not enabled")
Expand Down
13 changes: 13 additions & 0 deletions src/cmd/go/testdata/script/cover_runs.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[gccgo] skip 'gccgo has no cover tool'
[short] skip

go test -short -coverpkg=strings strings regexp
! stdout '[^0-9]0\.0%'
stdout 'strings.*coverage:.*[1-9][0-9.]+%'
stdout 'regexp.*coverage:.*[1-9][0-9.]+%'

go test -short -cover strings math regexp
! stdout '[^0-9]0\.0%'
stdout 'strings.*coverage:.*[1-9][0-9.]+%'
stdout 'math.*coverage:.*[1-9][0-9.]+%'
stdout 'regexp.*coverage:.*[1-9][0-9.]+%'

0 comments on commit b44008f

Please sign in to comment.