summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorachuith@chromium.org <achuith@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-03 18:22:23 +0000
committerachuith@chromium.org <achuith@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-03 18:22:23 +0000
commit408dc7aa687434795202c079c1a60749cac0d772 (patch)
tree1bea2b30d2ef5c10cab0ecf308bff4e64615e006 /tools
parent627e3a3b7105e27c00a6219e2d3194d769fc6135 (diff)
downloadchromium_src-408dc7aa687434795202c079c1a60749cac0d772.zip
chromium_src-408dc7aa687434795202c079c1a60749cac0d772.tar.gz
chromium_src-408dc7aa687434795202c079c1a60749cac0d772.tar.bz2
Skip bad hwid screen on VMs.
BUG=245129,245381 TEST=manual (delete /usr/bin/crossystem on a cros device) NOTRY=True Review URL: https://chromiumcodereview.appspot.com/15907015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203737 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools')
-rw-r--r--tools/telemetry/telemetry/core/chrome/cros_browser_backend.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/telemetry/telemetry/core/chrome/cros_browser_backend.py b/tools/telemetry/telemetry/core/chrome/cros_browser_backend.py
index 5f05240..a422e9f 100644
--- a/tools/telemetry/telemetry/core/chrome/cros_browser_backend.py
+++ b/tools/telemetry/telemetry/core/chrome/cros_browser_backend.py
@@ -5,6 +5,7 @@ import logging
import os
import subprocess
+from telemetry.core import exceptions
from telemetry.core import util
from telemetry.core.chrome import browser_backend
from telemetry.core.chrome import cros_util
@@ -101,6 +102,14 @@ class CrOSBrowserBackend(browser_backend.BrowserBackend):
self.Close()
raise
+ # chrome_branch_number is set in _PostBrowserStartupInitialization.
+ # Without --skip-hwid-check (introduced in crrev.com/203397), devices/VMs
+ # will be stuck on the bad hwid screen.
+ if self.chrome_branch_number <= 1500 and not self.hwid:
+ raise exceptions.LoginException(
+ 'Hardware id not set on device/VM. --skip-hwid-check not supported '
+ 'with chrome branches 1500 or earlier.')
+
if self._is_guest:
cros_util.NavigateGuestLogin(self, cri)
# Guest browsing shuts down the current browser and launches an incognito
@@ -129,6 +138,10 @@ class CrOSBrowserBackend(browser_backend.BrowserBackend):
if not self._is_guest:
args.append('--auth-ext-path=%s' % self._login_ext_dir)
+ # Skip hwid check on systems that don't have a hwid set, eg VMs.
+ if not self.hwid:
+ args.append('--skip-hwid-check')
+
return args
@property
@@ -139,6 +152,10 @@ class CrOSBrowserBackend(browser_backend.BrowserBackend):
return int(pid)
return None
+ @property
+ def hwid(self):
+ return self._cri.RunCmdOnDevice(['/usr/bin/crossystem', 'hwid'])[0]
+
def GetRemotePort(self, _):
return self._cri.GetRemotePort()