普通文本  |  50行  |  1.33 KB

# 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)