]> Cypherpunks repositories - gostls13.git/commitdiff
misc/cgo/{life,stdio}, test/run.go: use test/run.go to do the cgo tests
authorShenghou Ma <minux.ma@gmail.com>
Tue, 7 Aug 2012 01:38:35 +0000 (09:38 +0800)
committerShenghou Ma <minux.ma@gmail.com>
Tue, 7 Aug 2012 01:38:35 +0000 (09:38 +0800)
   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

16 files changed:
misc/cgo/life/life.go
misc/cgo/life/main.go
misc/cgo/life/main.out [moved from misc/cgo/life/golden.out with 97% similarity]
misc/cgo/life/test.bash [deleted file]
misc/cgo/stdio/chain.go
misc/cgo/stdio/chain.out [new file with mode: 0644]
misc/cgo/stdio/fib.go
misc/cgo/stdio/fib.out [new file with mode: 0644]
misc/cgo/stdio/file.go
misc/cgo/stdio/hello.go
misc/cgo/stdio/hello.out [new file with mode: 0644]
misc/cgo/stdio/run.out [moved from misc/cgo/stdio/golden.out with 100% similarity]
misc/cgo/stdio/test.bash [deleted file]
src/run.bash
src/run.bat
test/run.go

index ec000ce3a3dedc4692e858cc2299239bba74625c..bbec4c56fab6e0d61e4dcdc6cea8a95d5b4e8942 100644 (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.
index 47ae0e18c53f0ba143857b16c174bc32fbf56bca..dba0965eecf459329f675544dcf5f85f2e161ffe 100644 (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.
similarity index 97%
rename from misc/cgo/life/golden.out
rename to misc/cgo/life/main.out
index 539d2106d6591ea64e172e47dba84035d2818ee9..26fc9c6e3ff6d126734a1608560c8efccb95cc1f 100644 (file)
@@ -1,4 +1,3 @@
-* life
                 
                 
   XXX     XXX   
diff --git a/misc/cgo/life/test.bash b/misc/cgo/life/test.bash
deleted file mode 100755 (executable)
index bb48352..0000000
+++ /dev/null
@@ -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
-
index 1cf0b1fe5f4c26e6e6242b8f8cc08d64dee1c2ce..a55cefa40c20dbb98388b7ca8262ef8b106303c3 100644 (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.
diff --git a/misc/cgo/stdio/chain.out b/misc/cgo/stdio/chain.out
new file mode 100644 (file)
index 0000000..963cf9b
--- /dev/null
@@ -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
index 6d3ccfd5275c0fb9583b3b80c99d73a76a35e63e..981ffeb9abd5b9579c96dd829ae517969901edc5 100644 (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.
diff --git a/misc/cgo/stdio/fib.out b/misc/cgo/stdio/fib.out
new file mode 100644 (file)
index 0000000..17ff503
--- /dev/null
@@ -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
index a202f358c6653a887ccd105051f74555dae21fde..e7bb906a54b354f0e8264f16a08267dbcb854a2c 100644 (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.
index 4ab3c7447f335e303c2b673007c5e353ac850c8a..9cfeefbba701b8b90da893ea5ba2018054166f9f 100644 (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.
diff --git a/misc/cgo/stdio/hello.out b/misc/cgo/stdio/hello.out
new file mode 100644 (file)
index 0000000..4b5fa63
--- /dev/null
@@ -0,0 +1 @@
+hello, world
diff --git a/misc/cgo/stdio/test.bash b/misc/cgo/stdio/test.bash
deleted file mode 100755 (executable)
index 21829fa..0000000
+++ /dev/null
@@ -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
-
index ca84b7034d366c6ab95a719c35901edcf1510d1c..e818e96ecc2a1d4ddf29bd355000ee251b550b5c 100755 (executable)
@@ -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 ] ||
index 9a09d435ca7c6de1b6d5dfb2c845c4e023061444..496cbe3d577e9564d7847fe19669ef99aaf91eca 100644 (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
index e3c305690df9aa96639a9f050bdebacd808f2407..325d2ea41036da69fd49ccaa038ba362cd3eea5a 100644 (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 {