# Copyright 2016 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 = "harpreet@chromium.org"
NAME = "enterprise_CFM_PerfServer"
TIME = "MEDIUM"
TEST_CATEGORY = "Performance"
TEST_CLASS = "enterprise"
ATTRIBUTES = "suite:hotrod"
TEST_TYPE = "server"

DOC = """
This test enrolls ChromeOS device in to hotrod mode and captures device usage
data including cpu, memory and temperature data and uploads it to Google Cloud
Storage as part of the test logs.
"""

def run_test(machine):
    host = hosts.create_host(machine)
    job.run_test('enterprise_CFM_PerfServer', host=host)

parallel_simple(run_test, machines)
