Home | History | Annotate | Download | only in test_suites
      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 (a] 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 
     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)
     66