33 lines
1.0 KiB
Python
Executable File
33 lines
1.0 KiB
Python
Executable File
# 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 time
|
|
|
|
from autotest_lib.server import autotest, test
|
|
|
|
class system_ColdBoot(test.test):
|
|
"""
|
|
Shut down the device gracefully via Linux shell commands, then simulate
|
|
a power button press and verify that it comes back up correctly.
|
|
"""
|
|
version = 1
|
|
|
|
# Allowed timeout for graceful shutdown.
|
|
TIMEOUT_POWEROFF_TRANSITION = 15
|
|
# Time to sleep to ensure full power off, after OS quits replying to pings.
|
|
WAIT_TIME_FULL_POWEROFF = 5
|
|
|
|
def run_once(self, host):
|
|
boot_id = host.get_boot_id()
|
|
|
|
host.run("poweroff")
|
|
host.test_wait_for_shutdown(self.TIMEOUT_POWEROFF_TRANSITION)
|
|
time.sleep(self.WAIT_TIME_FULL_POWEROFF)
|
|
|
|
host.servo.power_normal_press()
|
|
host.test_wait_for_boot(boot_id)
|
|
|
|
autotest.Autotest(host).run_test("desktopui_SimpleLogin",
|
|
exit_without_logout=True)
|