1
0
mirror of https://github.com/golang/go synced 2024-11-17 21:04:43 -07:00

cmd/go: convert tests using testdata/testimport dir to script framework

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

Updates #36320
Updates #17751

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

View File

@ -1146,31 +1146,6 @@ func TestAccidentalGitCheckout(t *testing.T) {
} }
} }
func TestRelativeImportsGoTest(t *testing.T) {
tg := testgo(t)
defer tg.cleanup()
tg.run("test", "./testdata/testimport")
}
func TestRelativeImportsGoTestDashI(t *testing.T) {
tg := testgo(t)
defer tg.cleanup()
// don't let test -i overwrite runtime
tg.wantNotStale("runtime", "", "must be non-stale before test -i")
tg.run("test", "-i", "./testdata/testimport")
}
func TestRelativeImportsInCommandLinePackage(t *testing.T) {
tg := testgo(t)
defer tg.cleanup()
// TODO: tg.parallel()
files, err := filepath.Glob("./testdata/testimport/*.go")
tg.must(err)
tg.run(append([]string{"test"}, files...)...)
}
func TestVersionControlErrorMessageIncludesCorrectDirectory(t *testing.T) { func TestVersionControlErrorMessageIncludesCorrectDirectory(t *testing.T) {
tg := testgo(t) tg := testgo(t)
defer tg.cleanup() defer tg.cleanup()

View File

@ -0,0 +1,50 @@
# Relative imports in command line package
# Run tests outside GOPATH.
env GOPATH=$WORK/tmp
go test ./testimport/p.go ./testimport/p_test.go ./testimport/x_test.go
stdout '^ok'
-- testimport/p.go --
package p
func F() int { return 1 }
-- testimport/p1/p1.go --
package p1
func F() int { return 1 }
-- testimport/p2/p2.go --
package p2
func F() int { return 1 }
-- testimport/p_test.go --
package p
import (
"./p1"
"testing"
)
func TestF(t *testing.T) {
if F() != p1.F() {
t.Fatal(F())
}
}
-- testimport/x_test.go --
package p_test
import (
. "../testimport"
"./p2"
"testing"
)
func TestF1(t *testing.T) {
if F() != p2.F() {
t.Fatal(F())
}
}

View File

@ -0,0 +1,30 @@
# Relative imports in go test
# Run tests outside GOPATH.
env GOPATH=$WORK/tmp
go test ./testimport
stdout '^ok'
-- testimport/p.go --
package p
func F() int { return 1 }
-- testimport/p1/p1.go --
package p1
func F() int { return 1 }
-- testimport/p_test.go --
package p
import (
"./p1"
"testing"
)
func TestF(t *testing.T) {
if F() != p1.F() {
t.Fatal(F())
}
}

View File

@ -0,0 +1,31 @@
# Relative imports in go test -i
# Run tests outside GOPATH.
env GOPATH=$WORK/tmp
# Check that it's safe to pass -i (which installs dependencies in $GOPATH/pkg) to go test.
! stale runtime # don't let test -i overwrite runtime
go test -i ./testimport
-- testimport/p.go --
package p
func F() int { return 1 }
-- testimport/p1/p1.go --
package p1
func F() int { return 1 }
-- testimport/p_test.go --
package p
import (
"./p1"
"testing"
)
func TestF(t *testing.T) {
if F() != p1.F() {
t.Fatal(F())
}
}

View File

@ -1,3 +0,0 @@
package p
func F() int { return 1 }

View File

@ -1,3 +0,0 @@
package p1
func F() int { return 1 }

View File

@ -1,3 +0,0 @@
package p2
func F() int { return 1 }

View File

@ -1,13 +0,0 @@
package p
import (
"./p1"
"testing"
)
func TestF(t *testing.T) {
if F() != p1.F() {
t.Fatal(F())
}
}

View File

@ -1,15 +0,0 @@
package p_test
import (
. "../testimport"
"./p2"
"testing"
)
func TestF1(t *testing.T) {
if F() != p2.F() {
t.Fatal(F())
}
}