Home | History | Annotate | Download | only in platform_CloseOpenLid
      1 # Copyright (c) 2012 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 from autotest_lib.client.common_lib import error
      6 from autotest_lib.server import test
      7 
      8 class platform_CloseOpenLid(test.test):
      9     """Uses servo to send the host to sleep and wake back up.
     10 
     11     Uses pwr_button and lid_open gpios in various combinations.
     12     """
     13     version = 1
     14 
     15 
     16     def run_once(self, host):
     17         # lid only
     18         boot_id = host.get_boot_id()
     19         host.servo.lid_close()
     20         host.test_wait_for_shutdown()
     21 
     22         host.servo.lid_open()
     23         host.servo.pass_devmode()
     24         host.test_wait_for_boot(boot_id)
     25 
     26         # pwr_button and open lid
     27         boot_id = host.get_boot_id()
     28         host.servo.power_long_press()
     29         if host.is_up():
     30             raise error.TestError('DUT still up after long press power')
     31 
     32         host.servo.lid_close()
     33         host.servo.lid_open()
     34         host.servo.pass_devmode()
     35         host.test_wait_for_boot(boot_id)
     36