# Copyright (c) 2010 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 = "HWQualAuto"
TIME = "LONG"
TEST_CATEGORY = "Functional"
TEST_CLASS = "suite"
TEST_TYPE = "server"

DOC = """
This is a server side wrapper for the client suite suite_HWQual/control.auto.
"""


# HWQualAuto client control file.
CLIENT_CONTROL = 'client/site_tests/suite_HWQual/control.auto'


def run_client_test(machine):
  client = hosts.create_host(machine)

  # Execute client control file.
  autotest.Autotest(client).run(os.path.join(job.autodir, CLIENT_CONTROL))

job.parallel_on_machines(run_client_test, machines)
