# Relative imports in go test
env GO111MODULE=off # relative import not supported in module mode

# 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())
	}
}
