aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/testdata/script/list_parse_err.txt
blob: 3c5345801a233e12890ba61bd3c118071031f696 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 'go list' without -e should fail and print errors on stderr.
! go list ./p
stderr '^p[/\\]b.go:2:2: expected ''package'', found ''EOF''$'
! go list -f '{{range .Imports}}{{.}} {{end}}' ./p
stderr '^p[/\\]b.go:2:2: expected ''package'', found ''EOF''$'
! go list -test ./t
stderr '^can''t load test package: t[/\\]t_test.go:8:1: expected declaration, found ʕ'
! go list -test -f '{{range .Imports}}{{.}} {{end}}' ./t
stderr '^can''t load test package: t[/\\]t_test.go:8:1: expected declaration, found ʕ'

# 'go list -e' should report imports, even if some files have parse errors
# before the import block.
go list -e -f '{{range .Imports}}{{.}} {{end}}' ./p
stdout '^fmt '

# 'go list' should report the position of the error if there's only one.
go list -e -f '{{.Error.Pos}} => {{.Error.Err}}' ./p
stdout 'b.go:[0-9:]+ => expected ''package'', found ''EOF'''

# 'go test' should report the position of the error if there's only one.
go list -e -test -f '{{if .Error}}{{.Error.Pos}} => {{.Error.Err}}{{end}}' ./t
stdout 't_test.go:[0-9:]+ => expected declaration, found ʕ'

-- go.mod --
module m

go 1.13

-- p/a.go --
package a

import "fmt"

-- p/b.go --
// no package statement

-- t/t_test.go --
package t

import "testing"

func Test(t *testing.T) {}

// scan error
ʕ◔ϖ◔ʔ