Home | History | Annotate | Download | only in cellular_ChromeEndToEnd
      1 # Copyright (c) 2015 The Chromium OS Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 import logging, time
      6 
      7 from autotest_lib.server import autotest, test
      8 
      9 
     10 class cellular_ChromeEndToEnd(test.test):
     11     """Reboots the DUT and runs clients side tests to test cellular UI.
     12 
     13     """
     14     version = 1
     15 
     16 
     17     def _cold_reboot_dut(self, boot_id):
     18         """Cold reboot the dut.
     19 
     20         @param boot_id: DUT boot_id.
     21 
     22         """
     23         self._servo.get_power_state_controller().power_off()
     24         self._servo.get_power_state_controller().power_on()
     25         time.sleep(self._servo.BOOT_DELAY)
     26         self._client.wait_for_restart(old_boot_id=boot_id)
     27 
     28 
     29     def run_once(self, host, test):
     30         """Runs the test.
     31 
     32         @param host: A host object representing the DUT.
     33         @param test: Cellular UI test to execute.
     34 
     35         """
     36 
     37         self._client = host
     38         self._servo = host.servo
     39 
     40         if not self._servo:
     41             logging.info('Host %s does not have a servo.', host.hostname)
     42             return
     43 
     44         boot_id = self._client.get_boot_id()
     45         self._cold_reboot_dut(boot_id)
     46 
     47         client_at = autotest.Autotest(self._client)
     48         client_at.run_test('network_ChromeCellularEndToEnd',
     49                            test=test)
     50