# 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_DeviceServer.DeviceWilcoDtcAllowed_false'
TIME = 'SHORT'
TEST_CATEGORY = 'General'
TEST_CLASS = 'enterprise'
TEST_TYPE = 'server'
# Disable until test can be fixed: http://b/160218741
# ATTRIBUTES = "suite:wilco_bve"

DOC = """
Sets up and runs the client test for the DeviceWilcoDtcAllowed
policy. If the policy is set to false Wilco daemons should not start running
on the device.

"""

client_test = 'policy_DeviceWilcoDtcAllowed'
case = False

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

parallel_simple(run, machines)
