Home | History | Annotate | Download | only in moblab_RunSuite
      1 # Copyright 2017 The Chromium OS Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 AUTHOR = "ChromeOS Team"
      6 NAME = "moblab_DummyServerNoSspSuite"
      7 PURPOSE = "Test that Moblab can run the Dummy Server suite without SSP."
      8 TIME = "MEDIUM"
      9 TEST_CATEGORY = "Functional"
     10 TEST_CLASS = "moblab"
     11 TEST_TYPE = "server"
     12 
     13 DOC = """
     14 Kicks off the Dummy Server NoSSp suite on a Moblab host against the DUTs on its
     15 subnet and ensures the suite completes successfully.
     16 
     17 To invole this test locally:
     18   test_that -b stumpy_moblab <remote> moblab_DummyServerSuiteNoSsp
     19   --args="<ARGLIST>"
     20 
     21 where ARGLIST is a whitespace separated list of the following key=value pairs.
     22 Values pertaining to the test case include:
     23 
     24   boto_path=<boto_path>                path to the boto file to be installed on
     25                                        the Moblab DUT. If not specified, the
     26                                        boto file in the current home directory
     27                                        will be installed if it exists.
     28   image_storage_server=<server_name>   Google Storage Bucket from which to
     29                                        fetch test images from. If not
     30                                        specified, the value will be fetched
     31                                        from global_config.
     32   service_init_timeout_m=<int>         Timeout (in minutes) to wait for upstart
     33                                        services to start on the moblab host.
     34                                        This can take ~5 minutes on a physical
     35                                        devices and ~10 minutes on a VM.
     36   test_timeout_hint_m=<int>            The overall timeout to expect for the
     37                                        test run. For this test, it is very
     38                                        important to collect post failure data
     39                                        from the moblab device. If the overall
     40                                        timeout is provided, the test will try to
     41                                        fail early to save some time for log
     42                                        collection from the DUT.
     43   clear_devserver_cache=<boolean>      If True, image cache of the devserver
     44                                        running on moblab is cleared before
     45                                        running the test to validate devserver
     46                                        imaging staging flow.
     47 """
     48 from autotest_lib.client.bin import sysinfo
     49 from autotest_lib.client.common_lib import utils
     50 
     51 MOBLAB_AUTOTEST_FOLDERS = ['/usr/local/autotest/results',
     52                            '/usr/local/autotest/logs']
     53 
     54 
     55 def run(machine):
     56     host = hosts.create_host(machine)
     57     args_dict = utils.args_to_dict(args)
     58 
     59     logging.info('Logs from moblab\'s instance of autotest will be collected '
     60                  'under the sysinfo/ folder in results.')
     61     for folder in MOBLAB_AUTOTEST_FOLDERS:
     62         logging.info('  Will collect %s', folder)
     63         job.sysinfo.add_logdir(sysinfo.logdir(folder, excludes=()))
     64 
     65     job.run_test('moblab_RunSuite', host=host, suite_name='dummy_server_nossp',
     66                  moblab_suite_max_retries=1, **args_dict)
     67 
     68 parallel_simple(run, machines)
     69