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