From ea3545a1e5f4848692435363a880840b9958c468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Fri, 19 Jun 2015 13:22:01 +0200 Subject: [PATCH] Better support for adb result codes --- adb/adb.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/adb/adb.go b/adb/adb.go index 3e4f5fc..c9321a4 100644 --- a/adb/adb.go +++ b/adb/adb.go @@ -153,7 +153,7 @@ func (d *Device) Install(path string) error { if err := cmd.Start(); err != nil { return err } - line := getLine(stdout) + line := getResultLine(stdout) if line == "Success" { return nil } @@ -243,12 +243,15 @@ func (d *Device) Install(path string) error { return errors.New("unknown error: " + line) } -func getLine(out io.ReadCloser) string { +func getResultLine(out io.ReadCloser) string { scanner := bufio.NewScanner(out) - if !scanner.Scan() { - return "" + for scanner.Scan() { + l := scanner.Text() + if strings.HasPrefix(l, "Failure") || strings.HasPrefix(l, "Success") { + return l + } } - return scanner.Text() + return "" } func (d *Device) Uninstall(pkg string) error { @@ -260,7 +263,7 @@ func (d *Device) Uninstall(pkg string) error { if err := cmd.Start(); err != nil { return err } - line := getLine(stdout) + line := getResultLine(stdout) if line == "Success" { return nil }