70 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| # Copyright (c) 2015 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_DummyServerSuite"
 | |
| PURPOSE = "Test that Moblab can run the Dummy Server suite."
 | |
| ATTRIBUTES = "suite:moblab_quick"
 | |
| TIME = "MEDIUM"
 | |
| TEST_CATEGORY = "Functional"
 | |
| TEST_CLASS = "moblab"
 | |
| TEST_TYPE = "server"
 | |
| 
 | |
| DOC = """
 | |
| Kicks off the Dummy Server 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_DummyServerSuite
 | |
|   --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/results',
 | |
|                            '/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='dummy_server',
 | |
|                  moblab_suite_max_retries=1, **args_dict)
 | |
| 
 | |
| parallel_simple(run, machines)
 |