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

cmd/go: convert tests using testdata/testinternal* to script framework

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

Updates #36320
Updates #17751

Change-Id: I94a99c339f527da8ffacc73f1b36a7ac860522ee
Reviewed-on: https://go-review.googlesource.com/c/go/+/213819
Reviewed-by: Jay Conrod <jayconrod@google.com>
This commit is contained in:
Michael Matloob 2020-01-08 13:49:25 -05:00
parent ce7fc1788d
commit 8f41b1ff96
9 changed files with 44 additions and 49 deletions

View File

@ -1012,35 +1012,6 @@ func TestNewReleaseRebuildsStalePackagesInGOPATH(t *testing.T) {
tg.wantNotStale("p1", "", "./testgo list claims p1 is stale after building with old release")
}
func TestInternalPackagesInGOROOTAreRespected(t *testing.T) {
skipIfGccgo(t, "gccgo does not have GOROOT")
tg := testgo(t)
defer tg.cleanup()
tg.runFail("build", "-v", "./testdata/testinternal")
tg.grepBoth(`testinternal(\/|\\)p\.go\:3\:8\: use of internal package net/http/internal not allowed`, "wrong error message for testdata/testinternal")
}
func TestInternalPackagesOutsideGOROOTAreRespected(t *testing.T) {
tg := testgo(t)
defer tg.cleanup()
tg.runFail("build", "-v", "./testdata/testinternal2")
tg.grepBoth(`testinternal2(\/|\\)p\.go\:3\:8\: use of internal package .*internal/w not allowed`, "wrote error message for testdata/testinternal2")
}
func TestInternalPackageErrorsAreHandled(t *testing.T) {
tg := testgo(t)
defer tg.cleanup()
tg.run("list", "./testdata/testinternal3")
}
func TestInternalCache(t *testing.T) {
tg := testgo(t)
defer tg.cleanup()
tg.setenv("GOPATH", filepath.Join(tg.pwd(), "testdata/testinternal4"))
tg.runFail("build", "p")
tg.grepStderr("internal", "did not fail to build p")
}
// 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

@ -0,0 +1,44 @@
# Test internal package errors are handled
go list ./testinternal3
stdout 'testinternal3'
# Test internal cache
env GOPATH=$WORK/gopath/src/testinternal4
! go build p
stderr 'internal'
# Test internal packages outside GOROOT are respected
! go build -v ./testinternal2
stderr 'testinternal2(\/|\\)p\.go\:3\:8\: use of internal package .*internal/w not allowed'
[gccgo] skip # gccgo does not have GOROOT
! go build -v ./testinternal
stderr 'testinternal(\/|\\)p\.go\:3\:8\: use of internal package net/http/internal not allowed'
-- testinternal/p.go --
package p
import _ "net/http/internal"
-- testinternal2/p.go --
package p
import _ "./x/y/z/internal/w"
-- testinternal2/x/y/z/internal/w/w.go --
package w
-- testinternal3/t.go --
package t
import _ "internal/does-not-exist"
-- testinternal4/src/p/p.go --
package p
import (
_ "q/internal/x"
_ "q/j"
)
-- testinternal4/src/q/internal/x/x.go --
package x
-- testinternal4/src/q/j/j.go --
package j
import _ "q/internal/x"

View File

@ -1,3 +0,0 @@
package p
import _ "net/http/internal"

View File

@ -1,3 +0,0 @@
package p
import _ "./x/y/z/internal/w"

View File

@ -1 +0,0 @@
package w

View File

@ -1,3 +0,0 @@
package t
import _ "internal/does-not-exist"

View File

@ -1,6 +0,0 @@
package p
import (
_ "q/internal/x"
_ "q/j"
)

View File

@ -1 +0,0 @@
package x

View File

@ -1,3 +0,0 @@
package j
import _ "q/internal/x"