| # Copyright (c) 2014 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import logging, os, sys, time |
| |
| from autotest_lib.client.bin import test |
| from autotest_lib.client.common_lib.cros import chrome |
| |
| |
| class desktopui_SimpleLogin(test.test): |
| """Login and wait until exit flag file is seen.""" |
| version = 2 |
| |
| |
| def run_once(self, start_url=None, exit_without_logout=False): |
| """ |
| Entrance point for test. |
| |
| @param exit_without_logout: True if exit without logout |
| False otherwise |
| """ |
| terminate_path = '/tmp/simple_login_exit' |
| if os.path.isfile(terminate_path): |
| os.remove(terminate_path) |
| |
| cr = chrome.Chrome() |
| if start_url is not None: |
| tab = cr.browser.tabs[0] |
| try: |
| tab.Navigate(start_url) |
| except Exception as e: |
| logging.debug(e) |
| pass |
| if exit_without_logout is True: |
| sys.exit(0) |
| while True: |
| time.sleep(1) |
| if os.path.isfile(terminate_path): |
| logging.info('Exit flag detected; exiting.') |
| cr.browser.Close() |
| return |
| |
| |