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 5from autotest_lib.client.common_lib import error 6from autotest_lib.server import test 7 8class 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