1
0
mirror of https://github.com/golang/go synced 2024-11-24 15:00:14 -07:00

misc/cgo/{life,stdio}, test/run.go: use test/run.go to do the cgo tests

Enhances test/run.go to support testing other directories
   Will enable stdio tests on Windows in a follow-up CL.

R=golang-dev, alex.brainman, rsc
CC=golang-dev
https://golang.org/cl/6220049
This commit is contained in:
Shenghou Ma 2012-08-07 09:38:35 +08:00
parent 2276ab92c1
commit 1e95429c3f
16 changed files with 189 additions and 42 deletions

View File

@ -1,3 +1,5 @@
// skip
// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

View File

@ -1,3 +1,5 @@
// cmpout
// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

View File

@ -1,4 +1,3 @@
* life
XXX XXX

View File

@ -1,14 +0,0 @@
#!/bin/sh
# Copyright 2010 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
set -e
go build -o life main.go
echo '*' life >run.out
./life >>run.out
diff run.out golden.out
rm -f life

View File

@ -1,3 +1,5 @@
// cmpout
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

55
misc/cgo/stdio/chain.out Normal file
View File

@ -0,0 +1,55 @@
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10

View File

@ -1,3 +1,5 @@
// cmpout
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

91
misc/cgo/stdio/fib.out Normal file
View File

@ -0,0 +1,91 @@
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
9227465
14930352
24157817
39088169
63245986
102334155
165580141
267914296
433494437
701408733
1134903170
1836311903
2971215073
4807526976
7778742049
12586269025
20365011074
32951280099
53316291173
86267571272
139583862445
225851433717
365435296162
591286729879
956722026041
1548008755920
2504730781961
4052739537881
6557470319842
10610209857723
17167680177565
27777890035288
44945570212853
72723460248141
117669030460994
190392490709135
308061521170129
498454011879264
806515533049393
1304969544928657
2111485077978050
3416454622906707
5527939700884757
8944394323791464
14472334024676221
23416728348467685
37889062373143906
61305790721611591
99194853094755497
160500643816367088
259695496911122585
420196140727489673
679891637638612258
1100087778366101931
1779979416004714189
2880067194370816120

View File

@ -1,3 +1,5 @@
// skip
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

View File

@ -1,3 +1,5 @@
// cmpout
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

1
misc/cgo/stdio/hello.out Normal file
View File

@ -0,0 +1 @@
hello, world

View File

@ -1,20 +0,0 @@
#!/bin/sh
# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
set -e
go build hello.go
go build fib.go
go build chain.go
echo '*' hello >run.out
./hello >>run.out
echo '*' fib >>run.out
./fib >>run.out
echo '*' chain >>run.out
./chain >>run.out
diff run.out golden.out
rm -f hello fib chain

View File

@ -49,12 +49,12 @@ xcd() {
[ "$CGO_ENABLED" != 1 ] ||
[ "$GOHOSTOS" == windows ] ||
(xcd ../misc/cgo/stdio
./test.bash
go run $GOROOT/test/run.go - .
) || exit $?
[ "$CGO_ENABLED" != 1 ] ||
(xcd ../misc/cgo/life
./test.bash
go run $GOROOT/test/run.go - .
) || exit $?
[ "$CGO_ENABLED" != 1 ] ||

View File

@ -30,6 +30,13 @@ echo.
:: at least runtime/debug test will fail.
set GOROOT_FINAL=
:: get CGO_ENABLED
go env > env.bat
if errorlevel 1 goto fail
call env.bat
del env.bat
echo.
echo # Testing packages.
go test std -short -timeout=120s
if errorlevel 1 goto fail
@ -56,6 +63,15 @@ echo.
::if errorlevel 1 goto fail
::echo.
:: cgo tests
:: TODO: Other cgo tests
if x%CGO_ENABLED% == x0 goto nocgo
echo # ..\misc\cgo\life
go run %GOROOT%\test\run.go - ..\misc\cgo\life
if errorlevel 1 goto fail
echo.
:nocgo
:: TODO: The other tests in run.bash.
echo # test

View File

@ -77,16 +77,23 @@ func main() {
if flag.NArg() > 0 {
for _, arg := range flag.Args() {
if arg == "-" || arg == "--" {
// Permit running either:
// Permit running:
// $ go run run.go - env.go
// $ go run run.go -- env.go
// $ go run run.go - ./fixedbugs
// $ go run run.go -- ./fixedbugs
continue
}
if !strings.HasSuffix(arg, ".go") {
log.Fatalf("can't yet deal with non-go file %q", arg)
if fi, err := os.Stat(arg); err == nil && fi.IsDir() {
for _, baseGoFile := range goFiles(arg) {
tests = append(tests, startTest(arg, baseGoFile))
}
} else if strings.HasSuffix(arg, ".go") {
dir, file := filepath.Split(arg)
tests = append(tests, startTest(dir, file))
} else {
log.Fatalf("can't yet deal with non-directory and non-go file %q", arg)
}
dir, file := filepath.Split(arg)
tests = append(tests, startTest(dir, file))
}
} else {
for _, dir := range dirs {