You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
3.1 KiB
68 lines
3.1 KiB
# Copyright (c) 2014 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 = "chromeos-moblab@google.com"
|
|
NAME = "moblab_SmokeSuite"
|
|
PURPOSE = "Test that Moblab can run the smoke suite."
|
|
TIME = "MEDIUM"
|
|
TEST_CATEGORY = "Functional"
|
|
TEST_CLASS = "moblab"
|
|
TEST_TYPE = "server"
|
|
MAX_RESULT_SIZE_KB = 5120000
|
|
|
|
DOC = """
|
|
Kicks off the smoke suite on a Moblab host against the DUTs on its subnet
|
|
and ensures the suite completes successfully.
|
|
|
|
To invole this test locally:
|
|
test_that -b stumpy_moblab <remote> moblab_SmokeSuite --args="<ARGLIST>"
|
|
|
|
where ARGLIST is a whitespace separated list of the following key=value pairs.
|
|
Values pertaining to the test case include:
|
|
|
|
boto_path=<boto_path> path to the boto file to be installed on
|
|
the Moblab DUT. If not specified, the
|
|
boto file in the current home directory
|
|
will be installed if it exists.
|
|
image_storage_server=<server_name> Google Storage Bucket from which to
|
|
fetch test images from. If not
|
|
specified, the value will be fetched
|
|
from global_config.
|
|
service_init_timeout_m=<int> Timeout (in minutes) to wait for upstart
|
|
services to start on the moblab host.
|
|
This can take ~5 minutes on a physical
|
|
devices and ~10 minutes on a VM.
|
|
test_timeout_hint_m=<int> The overall timeout to expect for the
|
|
test run. For this test, it is very
|
|
important to collect post failure data
|
|
from the moblab device. If the overall
|
|
timeout is provided, the test will try to
|
|
fail early to save some time for log
|
|
collection from the DUT.
|
|
clear_devserver_cache=<boolean> If True, image cache of the devserver
|
|
running on moblab is cleared before
|
|
running the test to validate devserver
|
|
imaging staging flow.
|
|
"""
|
|
from autotest_lib.client.bin import sysinfo
|
|
from autotest_lib.client.common_lib import utils
|
|
|
|
MOBLAB_AUTOTEST_FOLDERS = ['/usr/local/autotest/logs']
|
|
|
|
|
|
def run(machine):
|
|
host = hosts.create_host(machine)
|
|
args_dict = utils.args_to_dict(args)
|
|
|
|
logging.info('Logs from moblab\'s instance of autotest will be collected '
|
|
'under the sysinfo/ folder in results.')
|
|
for folder in MOBLAB_AUTOTEST_FOLDERS:
|
|
logging.info(' Will collect %s', folder)
|
|
job.sysinfo.add_logdir(sysinfo.logdir(folder, excludes=()))
|
|
|
|
job.run_test('moblab_RunSuite', host=host, suite_name='smoke',
|
|
moblab_suite_max_retries=1, **args_dict)
|
|
|
|
parallel_simple(run, machines)
|