]> Cypherpunks repositories - gostls13.git/commitdiff
misc/cgo/testcarchive: enable test on darwin/arm
authorDavid Crawshaw <crawshaw@golang.org>
Mon, 20 Apr 2015 13:33:25 +0000 (09:33 -0400)
committerDavid Crawshaw <crawshaw@golang.org>
Mon, 20 Apr 2015 15:16:16 +0000 (15:16 +0000)
Change-Id: I0d3f9841500e0a41f1c427244869bf3736a31e18
Reviewed-on: https://go-review.googlesource.com/9075
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
misc/cgo/testcarchive/main.c
misc/cgo/testcarchive/src/libgo/libgo.go
misc/cgo/testcarchive/test.bash
src/cmd/dist/test.go

index 6e39d849244b7838e5e3a621dff8832c9518a2e0..b553a3ae50149863a36f71448aa0183ea6368259 100644 (file)
@@ -31,5 +31,6 @@ int main(void) {
 
        CheckArgs();
 
+       fprintf(stderr, "PASS\n");
        return 0;
 }
index 8116b312820e9e290afcd001d649fbc735c47766..45958a546cb0e4667fdb121077feb9a4b84a176d 100644 (file)
@@ -7,7 +7,6 @@ package main
 import (
        "fmt"
        "os"
-       "reflect"
        "syscall"
        "time"
 
@@ -47,9 +46,8 @@ 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)
+       if len(os.Args) != 3 || os.Args[1] != "arg1" || os.Args[2] != "arg2" {
+               fmt.Printf("CheckArgs: want [_, arg1, arg2], got: %v\n", os.Args)
                os.Exit(2)
        }
 }
index 5705725818a012ec08c7d2408fbee4deee0086a9..adcd88e39b4a7088ec8b274ab1fc05b931954c0c 100755 (executable)
@@ -10,7 +10,7 @@ if [ "$(go env GOOS)" == "darwin" ]; then
        ccargs="-Wl,-no_pie"
        # For darwin/arm.
        # TODO(crawshaw): Can we do better?
-       ccargs="$ccargs -framework CoreFoundation"
+       ccargs="$ccargs -framework CoreFoundation -framework Foundation"
 fi
 
 # TODO(crawshaw): Consider a go env for exec script name.
index efdebce3b534c6a26a8e2404703f34a83a98a5cf..8a0c692f1aadfee8ea65c8c130d58ee8542c51e3 100644 (file)
@@ -352,6 +352,7 @@ func (t *tester) extLink() bool {
        pair := t.gohostos + "-" + t.goarch
        switch pair {
        case "android-arm",
+               "darwin-arm", "darwin-arm64",
                "dragonfly-386", "dragonfly-amd64",
                "freebsd-386", "freebsd-amd64", "freebsd-arm",
                "linux-386", "linux-amd64", "linux-arm",
@@ -378,9 +379,14 @@ func (t *tester) buildmode(mode string) bool {
                switch {
                case !t.extLink():
                        return false
-               case t.goos == "darwin" && t.goarch == "amd64":
-                       // TODO(crawshaw): add darwin/arm{,64}
-                       return true
+               case t.goos == "darwin":
+                       switch t.goarch {
+                       case "amd64", "arm":
+                               // TODO(crawshaw): add darwin/arm64
+                               return true
+                       default:
+                               return false
+                       }
                case t.goos == "linux" && (t.goarch == "amd64" || t.goarch == "386"):
                        return true
                default: