# Copyright 2017 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. from autotest_lib.server.cros.cfm.configurable_test.dsl import * from autotest_lib.server import utils AUTHOR = "kerl@google.com, chromeos-meetings@google.com" NAME = "enterprise_CFM_ConfigurableCfmTestSanity.verifications" PURPOSE = "Verifies the configurable CfM test infra with a simple scenario" CRITERIA = "No errors occur" ATTRIBUTES = "suite:hotrod-remora, suite:bluestreak-pre-cq" TIME = "SHORT" TEST_CATEGORY = "Functional" TEST_TYPE = "server" DOC = """ Verifies that we can specify and run verification and assertion steps in a configurable CFM test. """ cfm_test = CfmTest( scenario=Scenario( AssertUsbDevices([ATRUS], lambda devices: True), RetryAssertAction( AssertFileDoesNotContain('/var/log/messages', ['FOOERRORBAR']), 5, 0.1), Sleep(0.1), AssertFileDoesNotContain('/var/log/eventlog.txt', ['FOOERRORBAR']), # Create some silly scenarios to be selected at random. The purpose # of this is only to test the SelectScenarioAtRandom action. # Since the predicate always return true for the assert actions # we do not actually verify the devices exist. SelectScenarioAtRandom(scenarios=[ Scenario(AssertUsbDevices([ATRUS], lambda devices: True), AssertFileDoesNotContain('/var/log/messages', ['FOOERRORBAR'])), Scenario(AssertUsbDevices([HUDDLY_GO], lambda devices: True)), Scenario(AssertUsbDevices([ATRUS], lambda devices: True))], run_times=3), AssertNoNewCrashes() ), configuration=Configuration( run_test_only = True ) ) def run_test(machine): job.run_test("enterprise_CFM_ConfigurableCfmTestSanity", cfm_test = cfm_test, tag = 'verifications', host = hosts.create_host(machine)) parallel_simple(run_test, machines)