# Copyright (c) 2011 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_ECBattery"
PURPOSE = "Servo based EC battery status report test"
CRITERIA = "This test will fail if EC battery status report misbehalved."
SUITE = "faft,faft_ec"
TIME = "LONG"
TEST_CATEGORY = "Functional"
TEST_CLASS = "firmware"
TEST_TYPE = "server"

DOC = """
This test check battery status read from EC console and kernel sysfs match.
"""

def run_ecbattery(machine):
    host = hosts.create_host(machine)
    job.run_test("firmware_ECBattery", host=host, cmdline_args=args,
                 use_faft=True, disable_sysinfo=True)

parallel_simple(run_ecbattery, machines)
