summaryrefslogtreecommitdiff
path: root/libgo/go/cmd/go/testdata/script/mod_test_files.txt
blob: 6f520c7720d2fee618d1eeb5dcef0d2b4c000503 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
env GO111MODULE=on

cd foo

# Testing an explicit source file should use the same import visibility as the
# package in the same directory.
go list -test -deps
go list -test -deps foo_test.go

# If the file is inside the main module's vendor directory, it should have
# visibility based on the vendor-relative import path.
mkdir vendor/example.com/foo
cp foo_test.go vendor/example.com/foo
go list -test -deps vendor/example.com/foo/foo_test.go

# If the file is outside the main module entirely, it should be treated as outside.
cp foo_test.go ../foo_test.go
! go list -test -deps ../foo_test.go
stderr 'use of internal package'

-- foo/go.mod --
module example.com/foo
go 1.12
require example.com/internal v0.0.0
replace example.com/internal => ../internal

-- foo/internal.go --
package foo
import _ "example.com/internal"

-- foo/foo_test.go --
package foo_test

import (
	"testing"
	"example.com/internal"
)

func TestHacksEnabled(t *testing.T) {
	if !internal.Hacks {
		t.Fatal("hacks not enabled")
	}
}

-- internal/go.mod --
module example.com/internal

-- internal/internal.go --
package internal
const Hacks = true