Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: client/cros/login.py

Issue 6602035: [autotest] Wait for ownership during CryptohomeMounted test (Closed) Base URL: http://git.chromium.org/git/autotest.git@master
Patch Set: Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import errno, logging, os, re, signal, subprocess, time 5 import errno, logging, os, re, signal, subprocess, time
6 import common 6 import common
7 import constants, cros_logging, cros_ui, cryptohome 7 import constants, cros_logging, cros_ui, cryptohome
8 from autotest_lib.client.bin import utils 8 from autotest_lib.client.bin import utils
9 from autotest_lib.client.common_lib import error 9 from autotest_lib.client.common_lib import error
10 10
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 147
148 # Mark /var/log/messages now; we'll run through all subsequent log messages 148 # Mark /var/log/messages now; we'll run through all subsequent log messages
149 # if we couldn't log in to see if the browser crashed. 149 # if we couldn't log in to see if the browser crashed.
150 log_reader = cros_logging.LogReader() 150 log_reader = cros_logging.LogReader()
151 log_reader.set_start_by_current() 151 log_reader.set_start_by_current()
152 152
153 # Up our priority so we don't get descheduled in the middle of sending key 153 # Up our priority so we don't get descheduled in the middle of sending key
154 # press and key release events. 154 # press and key release events.
155 utils.system('renice +%d -p %d' % (_LOGIN_NICE, os.getpid())) 155 utils.system('renice +%d -p %d' % (_LOGIN_NICE, os.getpid()))
156 try: 156 try:
157 ax = cros_ui.get_autox() 157 ax = cros_ui.get_autox()
158 # navigate to login screen 158 # navigate to login screen
159 ax.send_hotkey("Ctrl+Alt+L") 159 ax.send_hotkey("Ctrl+Alt+L")
160 # escape out of any login screen menus (e.g., the network selection menu) 160 # escape out of any login screen menus (e.g., the network select menu)
161 ax.send_hotkey("Escape") 161 ax.send_hotkey("Escape")
162 time.sleep(0.5) 162 time.sleep(0.5)
163 if (username): 163 if (username):
164 # focus username 164 # focus username
165 ax.send_hotkey("Alt+U") 165 ax.send_hotkey("Alt+U")
166 ax.send_text(username) 166 ax.send_text(username)
167 # focus password 167 # focus password
168 ax.send_hotkey("Alt+P") 168 ax.send_hotkey("Alt+P")
169 ax.send_text(password) 169 ax.send_text(password)
170 ax.send_hotkey("Return") 170 ax.send_hotkey("Return")
171 else: 171 else:
172 ax.send_hotkey("Alt+B") # Browse without signing-in 172 ax.send_hotkey("Alt+B") # Browse without signing-in
173 finally: 173 finally:
174 utils.system('renice -%d -p %d' % (_LOGIN_NICE, os.getpid())) 174 utils.system('renice -%d -p %d' % (_LOGIN_NICE, os.getpid()))
175 175
176 wait_for_condition(condition=logged_in, 176 wait_for_condition(condition=logged_in,
177 timeout_msg='Timed out waiting for login', 177 timeout_msg='Timed out waiting for login',
178 timeout=timeout, 178 timeout=timeout,
179 process='chrome', 179 process='chrome',
180 log_reader=log_reader, 180 log_reader=log_reader,
181 crash_msg='Chrome crashed during login') 181 crash_msg='Chrome crashed during login')
182 wait_for_ownership() # Otherwise we SIGABRT keygen
182 183
183 184
184 def attempt_logout(timeout=_DEFAULT_TIMEOUT): 185 def attempt_logout(timeout=_DEFAULT_TIMEOUT):
185 """Attempt to log out by killing Chrome. 186 """Attempt to log out by killing Chrome.
186 187
187 Args: 188 Args:
188 timeout: float number of seconds to wait 189 timeout: float number of seconds to wait
189 190
190 Raises: 191 Raises:
191 TimeoutError: logout didn't complete before timeout 192 TimeoutError: logout didn't complete before timeout
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 except (IOError, OSError) as error: 401 except (IOError, OSError) as error:
401 logging.error(error) 402 logging.error(error)
402 403
403 # Restart the UI. 404 # Restart the UI.
404 nuke_login_manager() 405 nuke_login_manager()
405 utils.poll_for_condition( 406 utils.poll_for_condition(
406 lambda: __session_manager_restarted(oldpid), 407 lambda: __session_manager_restarted(oldpid),
407 TimeoutError('Timed out waiting for logout'), 408 TimeoutError('Timed out waiting for logout'),
408 timeout) 409 timeout)
409 wait_for_login_prompt() 410 wait_for_login_prompt()
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698