# Copyright (c) 2009 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.

AUTHOR = "Chrome OS Team"
NAME = "platform_BootPerf"
PURPOSE = "Collect boot performance metrics from the last system reboot."
CRITERIA = """
The test will fail if startup times or shut down times are exceeded. These
values are set in the suite control file.
"""
SUITE = "bvt-perbuild"
TIME = "SHORT"
TEST_CATEGORY = "Benchmark"
TEST_CLASS = "platform"
TEST_TYPE = "client"

DOC = """
Definitions of the results:

  - reboots_in_syslog:
    - the count of the number of reboots in syslog.
  - seconds_firmware_boot:
    - how long it took just the firmware to boot.
  - seconds_kernel_to_login:
    - how long from kernel startup to login screen display.
  - seconds_kernel_to_startup:
    - how long we've been up before starting the kernel.
  - seconds_kernel_to_startup_done:
    - how long we've been up after starting the kernel.
  - seconds_power_on_to_login:
    - total number of seconds from power on to login screen display. This is
      the sum of the other values, and represents the total startup time.
  - seconds_reboot_time:
    - This is the total time from start of a reboot until the firmware has
      booted.
  - seconds_shutdown_time:
    - This is the total time from the beginning of a shutdown until
      power off.  This is actually measured as time for a complete
      reboot, minus the seconds_firmware_boot time.
  - sectors_read_kernel_to_login:
    - This is the number of disk sectors read from kernel boot until
      login screen display.
"""

job.run_test('platform_BootPerf')
