# Copyright (c) 2012 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 = "firmware_UpdateKernelVersion"
PURPOSE = "Servo based kernel update test which checks the kernel version."
CRITERIA = """
This test will fail if one of the following conditions is met:
1. In Normal Mode.
2. After update, device restart with KERNEL A.
3. Kernel version does not increase after update.
4. After recovery, device can't successfully restart.
5. Kernel version does not recover to original version after recovery.
"""
SUITE = "faft,faft_update"
TIME = "LONG"
TEST_CATEGORY = "Functional"
TEST_CLASS = "firmware"
TEST_TYPE = "server"

DOC = """
This test should run in developer mode. On runtime, this test modifies the
kernel version of kernel b and modifies cgpt to reboot with kernel b. Check
kernel version after reboot, and then recover kernel b version to original
version. Here also tries to reboot with kernel b after recovery. If sccuess,
reboot with kernel a.
"""

def run_updatekernelversion(machine):
    host = hosts.create_host(machine)
    job.run_test("firmware_UpdateKernelVersion", host=host, cmdline_args=args,
                 use_faft=True, disable_sysinfo=True,
                 dev_mode=True, tag="dev")

parallel_simple(run_updatekernelversion, machines)
