Commit 20546a32 authored by achuith@chromium.org's avatar achuith@chromium.org

Break CrOSTest into subtests.

BUG=None
TEST=manual
NOTRY=True

Review URL: https://codereview.chromium.org/257803010

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266324 0039d316-1c4b-4281-b951-d872f2087c98
parent ffba31a6
...@@ -14,7 +14,7 @@ from telemetry.core import util ...@@ -14,7 +14,7 @@ from telemetry.core import util
from telemetry.core.backends.chrome import cros_interface from telemetry.core.backends.chrome import cros_interface
from telemetry.unittest import options_for_unittests from telemetry.unittest import options_for_unittests
class CrOSTest(unittest.TestCase): class CrOSTestCase(unittest.TestCase):
def setUp(self): def setUp(self):
options = options_for_unittests.GetCopy() options = options_for_unittests.GetCopy()
self._cri = cros_interface.CrOSInterface(options.cros_remote, self._cri = cros_interface.CrOSInterface(options.cros_remote,
...@@ -63,6 +63,21 @@ class CrOSTest(unittest.TestCase): ...@@ -63,6 +63,21 @@ class CrOSTest(unittest.TestCase):
return self._cri.RunCmdOnDevice( return self._cri.RunCmdOnDevice(
['/usr/sbin/cryptohome', '--action=is_mounted'])[0].strip() == 'true' ['/usr/sbin/cryptohome', '--action=is_mounted'])[0].strip() == 'true'
def _GetLoginStatus(self, browser):
extension = self._GetAutotestExtension(browser)
self.assertTrue(extension.EvaluateJavaScript(
"typeof('chrome.autotestPrivate') != 'undefined'"))
extension.ExecuteJavaScript('''
window.__login_status = null;
chrome.autotestPrivate.loginStatus(function(s) {
window.__login_status = s;
});
''')
return util.WaitFor(
lambda: extension.EvaluateJavaScript('window.__login_status'), 10)
class CrOSCryptohomeTest(CrOSTestCase):
@test.Enabled('chromeos') @test.Enabled('chromeos')
def testCryptohome(self): def testCryptohome(self):
"""Verifies cryptohome mount status for regular and guest user and when """Verifies cryptohome mount status for regular and guest user and when
...@@ -86,19 +101,8 @@ class CrOSTest(unittest.TestCase): ...@@ -86,19 +101,8 @@ class CrOSTest(unittest.TestCase):
self.assertEquals(self._cri.FilesystemMountedAt('/home/chronos/user'), self.assertEquals(self._cri.FilesystemMountedAt('/home/chronos/user'),
'/dev/mapper/encstateful') '/dev/mapper/encstateful')
def _GetLoginStatus(self, browser):
extension = self._GetAutotestExtension(browser)
self.assertTrue(extension.EvaluateJavaScript(
"typeof('chrome.autotestPrivate') != 'undefined'"))
extension.ExecuteJavaScript('''
window.__login_status = null;
chrome.autotestPrivate.loginStatus(function(s) {
window.__login_status = s;
});
''')
return util.WaitFor(
lambda: extension.EvaluateJavaScript('window.__login_status'), 10)
class CrOSLoginTest(CrOSTestCase):
@test.Enabled('chromeos') @test.Enabled('chromeos')
def testLoginStatus(self): def testLoginStatus(self):
"""Tests autotestPrivate.loginStatus""" """Tests autotestPrivate.loginStatus"""
...@@ -113,6 +117,22 @@ class CrOSTest(unittest.TestCase): ...@@ -113,6 +117,22 @@ class CrOSTest(unittest.TestCase):
self.assertEquals(login_status['email'], self._username) self.assertEquals(login_status['email'], self._username)
self.assertFalse(login_status['isScreenLocked']) self.assertFalse(login_status['isScreenLocked'])
@test.Enabled('chromeos')
def testLogout(self):
"""Tests autotestPrivate.logout"""
if self._is_guest:
return
with self._CreateBrowser(autotest_ext=True) as b:
extension = self._GetAutotestExtension(b)
try:
extension.ExecuteJavaScript('chrome.autotestPrivate.logout();')
except (exceptions.BrowserConnectionGoneException,
exceptions.BrowserGoneException):
pass
util.WaitFor(lambda: not self._IsCryptohomeMounted(), 20)
class CrOSScreenLockerTest(CrOSTestCase):
def _IsScreenLocked(self, browser): def _IsScreenLocked(self, browser):
return self._GetLoginStatus(browser)['isScreenLocked'] return self._GetLoginStatus(browser)['isScreenLocked']
...@@ -164,17 +184,3 @@ class CrOSTest(unittest.TestCase): ...@@ -164,17 +184,3 @@ class CrOSTest(unittest.TestCase):
self._LockScreen(browser) self._LockScreen(browser)
self._AttemptUnlockBadPassword(browser) self._AttemptUnlockBadPassword(browser)
self._UnlockScreen(browser) self._UnlockScreen(browser)
@test.Enabled('chromeos')
def testLogout(self):
"""Tests autotestPrivate.logout"""
if self._is_guest:
return
with self._CreateBrowser(autotest_ext=True) as b:
extension = self._GetAutotestExtension(b)
try:
extension.ExecuteJavaScript('chrome.autotestPrivate.logout();')
except (exceptions.BrowserConnectionGoneException,
exceptions.BrowserGoneException):
pass
util.WaitFor(lambda: not self._IsCryptohomeMounted(), 20)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment