Dan Shi | 7e04fa8 | 2013-07-25 15:08:48 -0700 | [diff] [blame] | 1 | # Copyright (c) 2013 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 = "Chrome OS Team" |
| 6 | NAME = "push_to_prod" |
| 7 | PURPOSE = "Test Autotest before push to prod." |
| 8 | CRITERIA = "" |
| 9 | |
| 10 | TIME = "LONG" |
| 11 | TEST_CATEGORY = "General" |
| 12 | TEST_CLASS = "suite" |
| 13 | TEST_TYPE = "Server" |
| 14 | |
| 15 | DOC = """ |
| 16 | This suite is designed to test various aspect of Autotest. It should be run |
| 17 | before push to prod. Design doc: |
| 18 | https://docs.google.com/a/google.com/document/d/1JMz0xS3fZRSHMpFkkKAL_rxsdbNZomhHbC3B8L71uuI/edit?usp=sharing |
| 19 | Email chromeos-lab-infrastructure@google.com if you have any question about this |
| 20 | suite. |
| 21 | |
| 22 | This suite sets num to 6 in the reimage_and_run call to make sure we run |
| 23 | across 6 different machines. This overrides the CROS.sharding_factor option in |
| 24 | the global_config. |
| 25 | |
| 26 | |
| 27 | @param build: The name of the image to test. |
| 28 | Ex: x86-mario-release/R17-1412.33.0-a1-b29 |
| 29 | @param board: The board to test on. Ex: x86-mario |
| 30 | @param pool: The pool of machines to utilize for scheduling. If pool=None |
| 31 | board is used. |
| 32 | @param check_hosts: require appropriate live hosts to exist in the lab. |
| 33 | @param SKIP_IMAGE: (optional) If present and True, don't re-image devices. |
| 34 | """ |
| 35 | |
| 36 | import common |
| 37 | from autotest_lib.client.common_lib.cros import dev_server |
| 38 | from autotest_lib.server.cros import provision |
| 39 | from autotest_lib.server.cros.dynamic_suite import dynamic_suite |
| 40 | |
| 41 | # Needs to be done to generate the control files for the suite. |
| 42 | ds = dev_server.ImageServer.resolve(build) |
| 43 | ds.stage_artifacts(build, artifacts=['au_suite']) |
| 44 | |
| 45 | # Values specified in this bug template will override default values when |
| 46 | # filing bugs on tests that are a part of this suite. If left unspecified |
| 47 | # the bug filer will fallback to it's defaults. |
| 48 | _BUG_TEMPLATE = { |
| 49 | 'labels': ['push_to_prod'], |
| 50 | 'owner': '', |
| 51 | 'status': None, |
| 52 | 'summary': None, |
| 53 | 'title': None, |
| 54 | 'ccs': [] |
| 55 | } |
| 56 | |
Shuqian Zhao | 24785cc | 2015-06-01 16:32:18 -0700 | [diff] [blame^] | 57 | args_dict['max_runtime_mins'] = 20 |
| 58 | args_dict['file_bugs'] = True |
| 59 | args_dict['name'] = 'push_to_prod' |
| 60 | args_dict['job'] = job |
| 61 | args_dict['add_experimental'] = True |
| 62 | args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX |
| 63 | args_dict['bug_template'] = _BUG_TEMPLATE |
| 64 | |
| 65 | dynamic_suite.reimage_and_run(**args_dict) |