aboutsummaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorElias Naur <elias.naur@gmail.com>2018-01-20 19:56:51 +0100
committerElias Naur <elias.naur@gmail.com>2018-01-20 21:13:30 +0000
commit919e85ae056a238789af6bb2d7b34fe9fdde4ebb (patch)
tree6cf0adb52c28e6e4cfa8ff89ee1b803e54141dd4 /misc
parent3810f5bfed72d401b5b78b6b1e281d671c599606 (diff)
downloadgo-919e85ae056a238789af6bb2d7b34fe9fdde4ebb.tar.xz
misc,src: add support for specifying adb flags to the android harness
Introduce GOANDROID_ADB_FLAGS for additional flags to adb invocations. With GOANDROID_ADG_FLAGS, the Android builders can distinguish between emulator and device builds. Change-Id: I11729926a523ee27f6a3795cb2cfb64a9454f0a5 Reviewed-on: https://go-review.googlesource.com/88795 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
Diffstat (limited to 'misc')
-rw-r--r--misc/android/go_android_exec.go3
-rw-r--r--misc/cgo/testcshared/cshared_test.go20
2 files changed, 18 insertions, 5 deletions
diff --git a/misc/android/go_android_exec.go b/misc/android/go_android_exec.go
index 49b7ae902c..5671479d87 100644
--- a/misc/android/go_android_exec.go
+++ b/misc/android/go_android_exec.go
@@ -21,6 +21,9 @@ import (
)
func run(args ...string) string {
+ if flags := os.Getenv("GOANDROID_ADB_FLAGS"); flags != "" {
+ args = append(strings.Split(flags, " "), args...)
+ }
buf := new(bytes.Buffer)
cmd := exec.Command("adb", args...)
cmd.Stdout = io.MultiWriter(os.Stdout, buf)
diff --git a/misc/cgo/testcshared/cshared_test.go b/misc/cgo/testcshared/cshared_test.go
index b9499fcf37..e43422de6e 100644
--- a/misc/cgo/testcshared/cshared_test.go
+++ b/misc/cgo/testcshared/cshared_test.go
@@ -56,7 +56,8 @@ func TestMain(m *testing.M) {
androiddir = fmt.Sprintf("/data/local/tmp/testcshared-%d", os.Getpid())
if GOOS == "android" {
- cmd := exec.Command("adb", "shell", "mkdir", "-p", androiddir)
+ args := append(adbCmd(), "shell", "mkdir", "-p", androiddir)
+ cmd := exec.Command(args[0], args[1:]...)
out, err := cmd.CombinedOutput()
if err != nil {
log.Fatalf("setupAndroid failed: %v\n%s\n", err, out)
@@ -155,11 +156,19 @@ func cmdToRun(name string) string {
return "./" + name + exeSuffix
}
+func adbCmd() []string {
+ cmd := []string{"adb"}
+ if flags := os.Getenv("GOANDROID_ADB_FLAGS"); flags != "" {
+ cmd = append(cmd, strings.Split(flags, " ")...)
+ }
+ return cmd
+}
+
func adbPush(t *testing.T, filename string) {
if GOOS != "android" {
return
}
- args := []string{"adb", "push", filename, fmt.Sprintf("%s/%s", androiddir, filename)}
+ args := append(adbCmd(), "push", filename, fmt.Sprintf("%s/%s", androiddir, filename))
cmd := exec.Command(args[0], args[1:]...)
if out, err := cmd.CombinedOutput(); err != nil {
t.Fatalf("adb command failed: %v\n%s\n", err, out)
@@ -170,7 +179,7 @@ func adbRun(t *testing.T, env []string, adbargs ...string) string {
if GOOS != "android" {
t.Fatalf("trying to run adb command when operating system is not android.")
}
- args := []string{"adb", "shell"}
+ args := append(adbCmd(), "shell")
// Propagate LD_LIBRARY_PATH to the adb shell invocation.
for _, e := range env {
if strings.Index(e, "LD_LIBRARY_PATH=") != -1 {
@@ -238,7 +247,7 @@ func createHeaders() error {
}
if GOOS == "android" {
- args = []string{"adb", "push", libgoname, fmt.Sprintf("%s/%s", androiddir, libgoname)}
+ args = append(adbCmd(), "push", libgoname, fmt.Sprintf("%s/%s", androiddir, libgoname))
cmd = exec.Command(args[0], args[1:]...)
out, err = cmd.CombinedOutput()
if err != nil {
@@ -271,7 +280,8 @@ func cleanupAndroid() {
if GOOS != "android" {
return
}
- cmd := exec.Command("adb", "shell", "rm", "-rf", androiddir)
+ args := append(adbCmd(), "shell", "rm", "-rf", androiddir)
+ cmd := exec.Command(args[0], args[1:]...)
out, err := cmd.CombinedOutput()
if err != nil {
log.Fatalf("cleanupAndroid failed: %v\n%s\n", err, out)