blob: 6387bbea7b235d885972c4440f2036aed1e2c462 [file] [log] [blame]
# Copyright (c) 2013 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 = "milleral, chromeos-lab-infrastructure"
NAME = "provision_AutoUpdate"
PURPOSE = "Provision a system to the correct OS version."
TIME = "MEDIUM"
TEST_CATEGORY = "System"
TEST_CLASS = "provision"
TEST_TYPE = "Server"
DOC = """
This is a test used by the provision control segment in autoserv to set the
cros-version label of a host to the desired setting.
To run locally:
1. Start a devserver outside of a chroot like this:
src/platform/dev/devserver.py --port=8082
2. You will need to add a few lines to
src/third_party/autotest/files/shadow_config.ini
[CROS]
dev_server: http://127.0.0.1:8082
enable_devserver_trigger_auto_update: True
3. Use a command like this replacing the |value| arg with the device and build
version you want to run the test against:
test_that --args="value='samus-release/R60-9495.0.0'" <DUT-IPADDR>
provision_AutoUpdate
"""
from autotest_lib.client.bin import sysinfo
from autotest_lib.client.common_lib import error, utils
from autotest_lib.client.cros import constants
# Uncomment the below line, and change it to the correct value if you are
# running this from the AFE.
# value = 'lumpy-release/R28-3993.0.0'
if not locals().get('value'):
args = utils.args_to_dict(args)
if not args.get('value'):
raise error.TestError("No provision value!")
value = args['value']
def run(machine):
# Save preserved log after autoupdate is completed.
job.sysinfo.add_logdir(
sysinfo.logdir(constants.AUTOUPDATE_PRESERVE_LOG))
host = hosts.create_host(machine)
# Only collect pre-test sysinfo to save time.
job.run_test('provision_AutoUpdate', host=host, value=value,
disable_sysinfo=False,
disable_before_test_sysinfo=False,
disable_before_iteration_sysinfo=True,
disable_after_test_sysinfo=True,
disable_after_iteration_sysinfo=True)
job.parallel_simple(run, machines)