From 8cff5843fb3bbbc1342cf3aafbff953f4477761f Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 20 Jan 2016 13:58:57 +0100 Subject: vm/adb: use a more reliable way to reboot devices --- vm/adb/adb.go | 9 +++++++-- vm/vm.go | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'vm') diff --git a/vm/adb/adb.go b/vm/adb/adb.go index 5fa3d17dd..5508667c0 100644 --- a/vm/adb/adb.go +++ b/vm/adb/adb.go @@ -74,9 +74,14 @@ func (inst *instance) adbOK() error { } func (inst *instance) adbReboot() error { - if _, err := inst.adb("reboot"); err != nil { - return fmt.Errorf("adb reboot failed: %v", err) + // adb reboot episodically hangs, so we use a more reliable way. + if _, err := inst.adb("push", inst.cfg.Executor, "/data/syz-executor"); err != nil { + return err } + if _, err := inst.adb("shell", "/data/syz-executor", "reboot"); err != nil { + return err + } + time.Sleep(10 * time.Second) for i := 0; i < 300; i++ { time.Sleep(time.Second) if inst.adbOK() == nil { diff --git a/vm/vm.go b/vm/vm.go index a3b077fd6..8ac190264 100644 --- a/vm/vm.go +++ b/vm/vm.go @@ -37,6 +37,7 @@ type Config struct { Cmdline string Image string Sshkey string + Executor string ConsoleDev string Cpu int Mem int -- cgit mrf-deployment