]> Cypherpunks repositories - gostls13.git/commitdiff
misc/cgo/testcarchive: check that os.Args is set
authorDavid Crawshaw <crawshaw@golang.org>
Fri, 17 Apr 2015 20:42:16 +0000 (16:42 -0400)
committerDavid Crawshaw <crawshaw@golang.org>
Fri, 17 Apr 2015 22:29:51 +0000 (22:29 +0000)
Change-Id: I4278abca9d2a8f25149fa8935a93d32e7d04a43a
Reviewed-on: https://go-review.googlesource.com/9050
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: David Crawshaw <crawshaw@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

misc/cgo/testcarchive/main.c
misc/cgo/testcarchive/src/libgo/libgo.go
misc/cgo/testcarchive/test.bash

index f4d59f7636f9e99c88e26cd196ec62e935d8a24c..6e39d849244b7838e5e3a621dff8832c9518a2e0 100644 (file)
@@ -8,6 +8,7 @@
 extern signed char DidInitRun();
 extern signed char DidMainRun();
 extern int32_t FromPkg();
+extern void CheckArgs();
 
 int main(void) {
        int32_t res;
@@ -28,5 +29,7 @@ int main(void) {
                return 2;
        }
 
+       CheckArgs();
+
        return 0;
 }
index 87cb79cabe61cb354afd12dfc989e484844e34ca..8116b312820e9e290afcd001d649fbc735c47766 100644 (file)
@@ -5,9 +5,13 @@
 package main
 
 import (
-       _ "p"
+       "fmt"
+       "os"
+       "reflect"
        "syscall"
        "time"
+
+       _ "p"
 )
 
 import "C"
@@ -40,3 +44,12 @@ func DidInitRun() bool {
 
 //export DidMainRun
 func DidMainRun() bool { return ranMain }
+
+//export CheckArgs
+func CheckArgs() {
+       want := []string{"./testp", "arg1", "arg2"}
+       if !reflect.DeepEqual(want, os.Args) {
+               fmt.Printf("CheckArgs: want %v, got: %v\n", want, os.Args)
+               os.Exit(2)
+       }
+}
index 7c10c00b7c595dd55baf698b60648ff8920d70a0..5705725818a012ec08c7d2408fbee4deee0086a9 100755 (executable)
@@ -22,10 +22,10 @@ fi
 
 GOPATH=$(pwd) go build -buildmode=c-archive src/libgo/libgo.go
 $(go env CC) $(go env GOGCCFLAGS) $ccargs -o testp main.c libgo.a
-$bin
+$bin arg1 arg2
 rm libgo.a testp
 
 GOPATH=$(pwd) go build -buildmode=c-archive -o libgo.a libgo
 $(go env CC) $(go env GOGCCFLAGS) $ccargs -o testp main.c libgo.a
-$bin
+$bin arg1 arg2
 rm libgo.a testp