Skip to content

Commit 46bce2a

Browse files
test: convert more tests to rundir/compiledir conventions
Update golang#4139. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6609051
1 parent 5497787 commit 46bce2a

File tree

17 files changed

+324
-295
lines changed

17 files changed

+324
-295
lines changed

test/fixedbugs/bug191.dir/main.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Copyright 2009 The Go Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style
3+
// license that can be found in the LICENSE file.
4+
5+
package main
6+
7+
import . "./a"
8+
import . "./b"
9+
10+
var _ T
11+
var _ V
12+
13+
func main() {
14+
}

test/fixedbugs/bug191.go

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,9 @@
1-
// $G $D/bug191.dir/a.go && $G $D/bug191.dir/b.go && $G $D/$F.go && $L $F.$A
2-
3-
// NOTE: This test is not run by 'run.go' and so not run by all.bash.
4-
// To run this test you must use the ./run shell script.
1+
// rundircmpout
52

63
// Copyright 2009 The Go Authors. All rights reserved.
74
// Use of this source code is governed by a BSD-style
85
// license that can be found in the LICENSE file.
96

10-
package main
11-
12-
import . "./a"
13-
import . "./b"
14-
15-
var _ T
16-
var _ V
7+
// Tests bug with dot imports.
178

18-
func main() {
19-
}
9+
package ignored

test/fixedbugs/bug191.out

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
b
2+
a

test/fixedbugs/bug382.dir/prog.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Copyright 2011 The Go Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style
3+
// license that can be found in the LICENSE file
4+
5+
// Issue 2529
6+
7+
package main
8+
9+
import "./pkg"
10+
11+
var x = pkg.E
12+
13+
var fo = struct{ F pkg.T }{F: x}

test/fixedbugs/bug382.go

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,9 @@
1-
// $G $D/$F.dir/pkg.go && $G $D/$F.go || echo "Bug 382"
2-
3-
// NOTE: This test is not run by 'run.go' and so not run by all.bash.
4-
// To run this test you must use the ./run shell script.
1+
// compiledir
52

63
// Copyright 2011 The Go Authors. All rights reserved.
74
// Use of this source code is governed by a BSD-style
85
// license that can be found in the LICENSE file
96

10-
// Issue 2529
11-
12-
package main
13-
import "./pkg"
14-
15-
var x = pkg.E
7+
// Issue 2529.
168

17-
var fo = struct {F pkg.T}{F: x}
9+
package ignored

test/fixedbugs/bug424.dir/main.go

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
// Copyright 2012 The Go Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style
3+
// license that can be found in the LICENSE file.
4+
5+
// Tests that method calls through an interface always
6+
// call the locally defined method localT.m independent
7+
// at which embedding level it is and in which order
8+
// embedding is done.
9+
10+
package main
11+
12+
import "./lib"
13+
import "reflect"
14+
import "fmt"
15+
16+
type localI interface {
17+
m() string
18+
}
19+
20+
type localT struct{}
21+
22+
func (t *localT) m() string {
23+
return "main.localT.m"
24+
}
25+
26+
type myT1 struct {
27+
localT
28+
}
29+
30+
type myT2 struct {
31+
localT
32+
lib.T
33+
}
34+
35+
type myT3 struct {
36+
lib.T
37+
localT
38+
}
39+
40+
func main() {
41+
var i localI
42+
43+
i = new(localT)
44+
if i.m() != "main.localT.m" {
45+
println("BUG: localT:", i.m(), "called")
46+
}
47+
48+
i = new(myT1)
49+
if i.m() != "main.localT.m" {
50+
println("BUG: myT1:", i.m(), "called")
51+
}
52+
53+
i = new(myT2)
54+
if i.m() != "main.localT.m" {
55+
println("BUG: myT2:", i.m(), "called")
56+
}
57+
58+
t3 := new(myT3)
59+
if t3.m() != "main.localT.m" {
60+
println("BUG: t3:", t3.m(), "called")
61+
}
62+
63+
i = new(myT3)
64+
if i.m() != "main.localT.m" {
65+
t := reflect.TypeOf(i)
66+
n := t.NumMethod()
67+
for j := 0; j < n; j++ {
68+
m := t.Method(j)
69+
fmt.Printf("#%d: %s.%s %s\n", j, m.PkgPath, m.Name, m.Type)
70+
}
71+
println("BUG: myT3:", i.m(), "called")
72+
}
73+
74+
var t4 struct {
75+
localT
76+
lib.T
77+
}
78+
if t4.m() != "main.localT.m" {
79+
println("BUG: t4:", t4.m(), "called")
80+
}
81+
i = &t4
82+
if i.m() != "main.localT.m" {
83+
println("BUG: myT4:", i.m(), "called")
84+
}
85+
86+
var t5 struct {
87+
lib.T
88+
localT
89+
}
90+
if t5.m() != "main.localT.m" {
91+
println("BUG: t5:", t5.m(), "called")
92+
}
93+
i = &t5
94+
if i.m() != "main.localT.m" {
95+
println("BUG: myT5:", i.m(), "called")
96+
}
97+
}

test/fixedbugs/bug424.go

Lines changed: 2 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
// $G $D/$F.dir/lib.go && $G $D/$F.go && $L $F.$A && ./$A.out
2-
3-
// NOTE: This test is not run by 'run.go' and so not run by all.bash.
4-
// To run this test you must use the ./run shell script.
1+
// rundir
52

63
// Copyright 2012 The Go Authors. All rights reserved.
74
// Use of this source code is governed by a BSD-style
@@ -12,91 +9,5 @@
129
// at which embedding level it is and in which order
1310
// embedding is done.
1411

15-
package main
16-
17-
import "./lib"
18-
import "reflect"
19-
import "fmt"
20-
21-
type localI interface {
22-
m() string
23-
}
24-
25-
type localT struct{}
26-
27-
func (t *localT) m() string {
28-
return "main.localT.m"
29-
}
30-
31-
type myT1 struct {
32-
localT
33-
}
34-
35-
type myT2 struct {
36-
localT
37-
lib.T
38-
}
39-
40-
type myT3 struct {
41-
lib.T
42-
localT
43-
}
44-
45-
func main() {
46-
var i localI
47-
48-
i = new(localT)
49-
if i.m() != "main.localT.m" {
50-
println("BUG: localT:", i.m(), "called")
51-
}
52-
53-
i = new(myT1)
54-
if i.m() != "main.localT.m" {
55-
println("BUG: myT1:", i.m(), "called")
56-
}
57-
58-
i = new(myT2)
59-
if i.m() != "main.localT.m" {
60-
println("BUG: myT2:", i.m(), "called")
61-
}
12+
package ignored
6213

63-
t3 := new(myT3)
64-
if t3.m() != "main.localT.m" {
65-
println("BUG: t3:", t3.m(), "called")
66-
}
67-
68-
i = new(myT3)
69-
if i.m() != "main.localT.m" {
70-
t := reflect.TypeOf(i)
71-
n := t.NumMethod()
72-
for j := 0; j < n; j++ {
73-
m := t.Method(j)
74-
fmt.Printf("#%d: %s.%s %s\n", j, m.PkgPath, m.Name, m.Type)
75-
}
76-
println("BUG: myT3:", i.m(), "called")
77-
}
78-
79-
var t4 struct {
80-
localT
81-
lib.T
82-
}
83-
if t4.m() != "main.localT.m" {
84-
println("BUG: t4:", t4.m(), "called")
85-
}
86-
i = &t4
87-
if i.m() != "main.localT.m" {
88-
println("BUG: myT4:", i.m(), "called")
89-
}
90-
91-
var t5 struct {
92-
lib.T
93-
localT
94-
}
95-
if t5.m() != "main.localT.m" {
96-
println("BUG: t5:", t5.m(), "called")
97-
}
98-
i = &t5
99-
if i.m() != "main.localT.m" {
100-
println("BUG: myT5:", i.m(), "called")
101-
}
102-
}

test/import2.dir/import2.go

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Copyright 2010 The Go Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style
3+
// license that can be found in the LICENSE file.
4+
5+
// Various declarations of exported variables and functions.
6+
7+
package p
8+
9+
var C1 chan <- chan int = (chan<- (chan int))(nil)
10+
var C2 chan (<- chan int) = (chan (<-chan int))(nil)
11+
var C3 <- chan chan int = (<-chan (chan int))(nil)
12+
var C4 chan chan <- int = (chan (chan<- int))(nil)
13+
14+
var C5 <- chan <- chan int = (<-chan (<-chan int))(nil)
15+
var C6 chan <- <- chan int = (chan<- (<-chan int))(nil)
16+
var C7 chan <- chan <- int = (chan<- (chan<- int))(nil)
17+
18+
var C8 <- chan <- chan chan int = (<-chan (<-chan (chan int)))(nil)
19+
var C9 <- chan chan <- chan int = (<-chan (chan<- (chan int)))(nil)
20+
var C10 chan <- <- chan chan int = (chan<- (<-chan (chan int)))(nil)
21+
var C11 chan <- chan <- chan int = (chan<- (chan<- (chan int)))(nil)
22+
var C12 chan chan <- <- chan int = (chan (chan<- (<-chan int)))(nil)
23+
var C13 chan chan <- chan <- int = (chan (chan<- (chan<- int)))(nil)
24+
25+
var R1 chan<- (chan int) = (chan <- chan int)(nil)
26+
var R3 <-chan (chan int) = (<- chan chan int)(nil)
27+
var R4 chan (chan<- int) = (chan chan <- int)(nil)
28+
29+
var R5 <-chan (<-chan int) = (<- chan <- chan int)(nil)
30+
var R6 chan<- (<-chan int) = (chan <- <- chan int)(nil)
31+
var R7 chan<- (chan<- int) = (chan <- chan <- int)(nil)
32+
33+
var R8 <-chan (<-chan (chan int)) = (<- chan <- chan chan int)(nil)
34+
var R9 <-chan (chan<- (chan int)) = (<- chan chan <- chan int)(nil)
35+
var R10 chan<- (<-chan (chan int)) = (chan <- <- chan chan int)(nil)
36+
var R11 chan<- (chan<- (chan int)) = (chan <- chan <- chan int)(nil)
37+
var R12 chan (chan<- (<-chan int)) = (chan chan <- <- chan int)(nil)
38+
var R13 chan (chan<- (chan<- int)) = (chan chan <- chan <- int)(nil)
39+
40+
var F1 func() func() int
41+
func F2() func() func() int
42+
func F3(func() func() int)

test/import3.go renamed to test/import2.dir/import3.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
// $G $D/import2.go && $G $D/$F.go
2-
3-
// NOTE: This test is not run by 'run.go' and so not run by all.bash.
4-
// To run this test you must use the ./run shell script.
5-
61
// Copyright 2010 The Go Authors. All rights reserved.
72
// Use of this source code is governed by a BSD-style
83
// license that can be found in the LICENSE file.

test/import2.go

Lines changed: 3 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,8 @@
1-
// skip # used by import3
1+
// compiledir
22

33
// Copyright 2010 The Go Authors. All rights reserved.
44
// Use of this source code is governed by a BSD-style
55
// license that can be found in the LICENSE file.
66

7-
// Various declarations of exported variables and functions.
8-
// Imported by import3.go.
9-
10-
package p
11-
12-
var C1 chan <- chan int = (chan<- (chan int))(nil)
13-
var C2 chan (<- chan int) = (chan (<-chan int))(nil)
14-
var C3 <- chan chan int = (<-chan (chan int))(nil)
15-
var C4 chan chan <- int = (chan (chan<- int))(nil)
16-
17-
var C5 <- chan <- chan int = (<-chan (<-chan int))(nil)
18-
var C6 chan <- <- chan int = (chan<- (<-chan int))(nil)
19-
var C7 chan <- chan <- int = (chan<- (chan<- int))(nil)
20-
21-
var C8 <- chan <- chan chan int = (<-chan (<-chan (chan int)))(nil)
22-
var C9 <- chan chan <- chan int = (<-chan (chan<- (chan int)))(nil)
23-
var C10 chan <- <- chan chan int = (chan<- (<-chan (chan int)))(nil)
24-
var C11 chan <- chan <- chan int = (chan<- (chan<- (chan int)))(nil)
25-
var C12 chan chan <- <- chan int = (chan (chan<- (<-chan int)))(nil)
26-
var C13 chan chan <- chan <- int = (chan (chan<- (chan<- int)))(nil)
27-
28-
var R1 chan<- (chan int) = (chan <- chan int)(nil)
29-
var R3 <-chan (chan int) = (<- chan chan int)(nil)
30-
var R4 chan (chan<- int) = (chan chan <- int)(nil)
31-
32-
var R5 <-chan (<-chan int) = (<- chan <- chan int)(nil)
33-
var R6 chan<- (<-chan int) = (chan <- <- chan int)(nil)
34-
var R7 chan<- (chan<- int) = (chan <- chan <- int)(nil)
35-
36-
var R8 <-chan (<-chan (chan int)) = (<- chan <- chan chan int)(nil)
37-
var R9 <-chan (chan<- (chan int)) = (<- chan chan <- chan int)(nil)
38-
var R10 chan<- (<-chan (chan int)) = (chan <- <- chan chan int)(nil)
39-
var R11 chan<- (chan<- (chan int)) = (chan <- chan <- chan int)(nil)
40-
var R12 chan (chan<- (<-chan int)) = (chan chan <- <- chan int)(nil)
41-
var R13 chan (chan<- (chan<- int)) = (chan chan <- chan <- int)(nil)
42-
43-
var F1 func() func() int
44-
func F2() func() func() int
45-
func F3(func() func() int)
7+
// Tests that export data does not corrupt type syntax.
8+
package ignored

test/import4.dir/empty.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// Copyright 2009 The Go Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style
3+
// license that can be found in the LICENSE file.
4+
5+
package P
6+
7+
import ( )
8+
const ( )
9+
var ( )
10+
type ( )

0 commit comments

Comments
 (0)