blob: 1b5f30558753499b0391dbfee5cb5a8762aa0b46 [file] [log] [blame]
# Tests golang.org/issue/4773
go list -json example/a
stdout 'case-insensitive import collision'
! go build example/a
stderr 'case-insensitive import collision'
# If we're not guaranteed to have a case-sensitive file system, list files explicitly on command line.
# Otherwise, let directory read find both files.
[darwin] ! go list example/b/file.go example/b/FILE.go
[windows] ! go list example/b/file.go example/b/FILE.go
[!darwin] [!windows] ! go list example/b
stderr 'case-insensitive file name collision'
! go list example/a/pkg example/a/Pkg
stderr 'case-insensitive import collision'
go list -json -e example/a/pkg example/a/Pkg
stdout 'case-insensitive import collision'
! go build example/a/pkg example/a/Pkg
stderr 'case-insensitive import collision'
# Test that the path reported with an indirect import is correct.
[!darwin] [!windows] ! go build example/c
[!darwin] [!windows] stderr '^package example/c\n\timports example/b: case-insensitive file name collision: "FILE.go" and "file.go"$'
-- example/a/a.go --
package p
import (
_ "example/a/pkg"
_ "example/a/Pkg"
)
-- example/a/pkg/pkg.go --
package pkg
-- example/a/Pkg/pkg.go --
package pkg
-- example/b/file.go --
package b
-- example/b/FILE.go --
package b
-- example/c/c.go --
package c
import _ "example/b"