# 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.VirtualMachinesAllowed_false'
TIME = 'SHORT'
TEST_CATEGORY = 'General'
TEST_CLASS = 'enterprise'
TEST_TYPE = 'server'
# Disable until test can be fixed: http://b/160218741
# ATTRIBUTES = 'suite:ent-nightly, suite:policy'

DOC = """
Sets up and runs the client test for the VirtualMachinesAllowed
policy. If the policy is set to True virtual machines should be allowed.

"""

client_test = 'policy_VirtualMachinesAllowed'
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)
