1
0
mirror of https://github.com/golang/go synced 2024-11-23 11:40:07 -07:00

cmd/go: convert import comment tests to script framework

Part of converting all tests to script framework to improve
test parallelism.

Updates #36320
Updates #17751

Change-Id: I30230ca3b4d8b037ea861db952b89e706ed8706d
Reviewed-on: https://go-review.googlesource.com/c/go/+/213425
Run-TryBot: Michael Matloob <matloob@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
This commit is contained in:
Michael Matloob 2020-01-06 14:26:28 -05:00
parent 7340d15c85
commit 52a9210a2c
12 changed files with 47 additions and 49 deletions

View File

@ -1041,37 +1041,6 @@ func TestInternalCache(t *testing.T) {
tg.grepStderr("internal", "did not fail to build p")
}
func TestImportCommandMatch(t *testing.T) {
tg := testgo(t)
defer tg.cleanup()
tg.setenv("GOPATH", filepath.Join(tg.pwd(), "testdata/importcom"))
tg.run("build", "./testdata/importcom/works.go")
}
func TestImportCommentMismatch(t *testing.T) {
tg := testgo(t)
defer tg.cleanup()
tg.setenv("GOPATH", filepath.Join(tg.pwd(), "testdata/importcom"))
tg.runFail("build", "./testdata/importcom/wrongplace.go")
tg.grepStderr(`wrongplace expects import "my/x"`, "go build did not mention incorrect import")
}
func TestImportCommentSyntaxError(t *testing.T) {
tg := testgo(t)
defer tg.cleanup()
tg.setenv("GOPATH", filepath.Join(tg.pwd(), "testdata/importcom"))
tg.runFail("build", "./testdata/importcom/bad.go")
tg.grepStderr("cannot parse import comment", "go build did not mention syntax error")
}
func TestImportCommentConflict(t *testing.T) {
tg := testgo(t)
defer tg.cleanup()
tg.setenv("GOPATH", filepath.Join(tg.pwd(), "testdata/importcom"))
tg.runFail("build", "./testdata/importcom/conflict.go")
tg.grepStderr("found import comments", "go build did not mention comment conflict")
}
// cmd/go: custom import path checking should not apply to Go packages without import comment.
func TestIssue10952(t *testing.T) {
testenv.MustHaveExternalNetwork(t)

View File

@ -1,3 +0,0 @@
package p
import "bad"

View File

@ -1,3 +0,0 @@
package p
import "conflict"

View File

@ -1 +0,0 @@
package bad // import

View File

@ -1 +0,0 @@
package conflict // import "a"

View File

@ -1 +0,0 @@
package conflict /* import "b" */

View File

@ -1 +0,0 @@
package x // import "works/x"

View File

@ -1 +0,0 @@
package x // important! not an import comment

View File

@ -1 +0,0 @@
package x // import "my/x"

View File

@ -1,3 +0,0 @@
package p
import _ "works/x"

View File

@ -1,3 +0,0 @@
package p
import "wrongplace"

View File

@ -0,0 +1,47 @@
// TODO: add a go.mod file and test with GO111MODULE explicitly on and off.
// We only report the 'expects import' error when modules are disabled.
// Do we report comment parse errors or conflicts in module mode? We shouldn't.
# Import comment matches
go build -n works.go
# Import comment mismatch
! go build -n wrongplace.go
stderr 'wrongplace expects import "my/x"'
# Import comment syntax error
! go build -n bad.go
stderr 'cannot parse import comment'
# Import comment conflict
! go build -n conflict.go
stderr 'found import comments'
-- bad.go --
package p
import "bad"
-- conflict.go --
package p
import "conflict"
-- works.go --
package p
import _ "works/x"
-- wrongplace.go --
package p
import "wrongplace"
-- bad/bad.go --
package bad // import
-- conflict/a.go --
package conflict // import "a"
-- conflict/b.go --
package conflict /* import "b" */
-- works/x/x.go --
package x // import "works/x"
-- works/x/x1.go --
package x // important! not an import comment
-- wrongplace/x.go --
package x // import "my/x"