# 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 = "PowerBacklightServer"
TIME = "SHORT"
TEST_CATEGORY = "Benchmark"
TEST_CLASS = "power"
TEST_TYPE = "server"

DOC = """
This test measures the backlight level before and after certain system events
and verifies that the backlight level has not changed.
"""

def run_system_power_backlight(machine):
    job.run_test('power_BacklightServer', client_ip=machine)

job.parallel_simple(run_system_power_backlight, machines)
