| # Copyright (c) 2015 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, time |
| |
| from autotest_lib.server import autotest, test |
| |
| |
| class cellular_ChromeEndToEnd(test.test): |
| """Reboots the DUT and runs clients side tests to test cellular UI. |
| |
| """ |
| version = 1 |
| |
| |
| def _cold_reboot_dut(self, boot_id): |
| """Cold reboot the dut. |
| |
| @param boot_id: DUT boot_id. |
| |
| """ |
| self._servo.get_power_state_controller().power_off() |
| self._servo.get_power_state_controller().power_on() |
| time.sleep(self._servo.BOOT_DELAY) |
| self._client.wait_for_restart(old_boot_id=boot_id) |
| |
| |
| def run_once(self, host, test): |
| """Runs the test. |
| |
| @param host: A host object representing the DUT. |
| @param test: Cellular UI test to execute. |
| |
| """ |
| |
| self._client = host |
| self._servo = host.servo |
| |
| if not self._servo: |
| logging.info('Host %s does not have a servo.', host.hostname) |
| return |
| |
| boot_id = self._client.get_boot_id() |
| self._cold_reboot_dut(boot_id) |
| |
| client_at = autotest.Autotest(self._client) |
| client_at.run_test('network_ChromeCellularEndToEnd', |
| test=test, check_client_result=True) |