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
