blob: f1b9205f9904b7898eeb1a35773a10e78d0e2e8f [file] [log] [blame]
# go list -e -deps should list imports from any file it can read, even if
# other files in the same package cause go/build.Import to return an error.
# Verifies golang.org/issue/38568
go list -e -deps ./scan
stdout m/want
go list -e -deps ./multi
stdout m/want
go list -e -deps ./constraint
stdout m/want
[cgo] go list -e -test -deps ./cgotest
[cgo] stdout m/want
[cgo] go list -e -deps ./cgoflag
[cgo] stdout m/want
# go list -e should include files with errors in GoFiles, TestGoFiles, and
# other lists, assuming they match constraints.
# Verifies golang.org/issue/39986
go list -e -f '{{range .GoFiles}}{{.}},{{end}}' ./scan
stdout '^good.go,scan.go,$'
go list -e -f '{{range .GoFiles}}{{.}},{{end}}' ./multi
stdout '^a.go,b.go,$'
go list -e -f '{{range .GoFiles}}{{.}},{{end}}' ./constraint
stdout '^good.go,$'
go list -e -f '{{range .IgnoredGoFiles}}{{.}},{{end}}' ./constraint
stdout '^constraint.go,$'
[cgo] go list -e -f '{{range .XTestGoFiles}}{{.}},{{end}}' ./cgotest
[cgo] stdout '^cgo_test.go,$'
[cgo] go list -e -f '{{range .GoFiles}}{{.}},{{end}}' ./cgoflag
[cgo] stdout '^cgoflag.go,$'
-- go.mod --
module m
go 1.14
-- want/want.go --
package want
-- scan/scan.go --
// scan error
ʕ◔ϖ◔ʔ
-- scan/good.go --
package scan
import _ "m/want"
-- multi/a.go --
package a
-- multi/b.go --
package b
import _ "m/want"
-- constraint/constraint.go --
// +build !!nope
package constraint
-- constraint/good.go --
package constraint
import _ "m/want"
-- cgotest/cgo_test.go --
package cgo_test
// cgo is not allowed in tests.
// See golang.org/issue/18647
import "C"
import (
"testing"
_ "m/want"
)
func Test(t *testing.T) {}
-- cgoflag/cgoflag.go --
package cgoflag
// #cgo ʕ◔ϖ◔ʔ:
import _ "m/want"