# Copyright 2019 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 = 'rzakarian'
NAME = 'policy_WilcoServerOnNonWilcoDevice.wilco_policies'
TIME = 'SHORT'
TEST_CATEGORY = 'General'
TEST_CLASS = 'enterprise'
TEST_TYPE = 'server'
# Disable this test until it can be fixed: http://b/171595642
# ATTRIBUTES = 'suite:ent-nightly, suite:policy'

DOC = """
Sets up and runs the WilcoOnNonWilcoDevice client test. Sets Wilco policies on
non Wilco devices and makes sure they don't crash.

"""

client_test = 'policy_WilcoOnNonWilcoDevice'

def run(machine):
    host = hosts.create_host(machine)
    job.run_test('policy_WilcoServerOnNonWilcoDevice', host=host,
                  client_test=client_test, case=None)

parallel_simple(run, machines)
