| # Copyright 2017 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 = "dhaddock, Chromium OS" |
| NAME = "autoupdate_ForcedOOBEUpdate.full.moblab" |
| PURPOSE = "Test forced update at OOBE." |
| TIME = "MEDIUM" |
| TEST_CATEGORY = "Functional" |
| TEST_CLASS = "platform" |
| TEST_TYPE = "server" |
| ATTRIBUTES = "suite:au_fsi" |
| DOC = """ |
| This tests the forced autoupdate flow at OOBE. |
| |
| Debugging steps: |
| This test cannot be debugged locally easily because |
| 1. Using a devserver on your workstation is blocked by SNAX |
| 2. The test relies on reading a job_repo_url which is only set by runs |
| initiated in the lab. |
| |
| You will need to use a lab DUT and a lab devserver but kick it off from your |
| workstation. You can start by going to cautotest and locking a DUT. |
| |
| You will need to pass a job_repo_url param to test_that. |
| |
| The test needs to be able to ssh into devservers. To ssh into lab devservers |
| Follow these instructions to setup the ssh access to lab devservers: |
| https://sites.google.com/a/google.com/chromeos/for-team-members/infrastructure/chromeos-admin/devserver-access |
| |
| Use this instruction to find the list of lab devservers: |
| atest server list | grep devserver |
| |
| Get access to "Access To Chrome Lab or Cautotest" from: |
| https://sphinx.corp.google.com/sphinx/#accessChangeRequest:systemName=default-mnp-use-cases |
| |
| Then run the test as follows: |
| test_that <hostname>.cros autoupdate_ForcedOOBEUpdate.full --args="job_repo_url='http://<IP>:<PORT>/static/<board>-release/RXX-XXXX.X.X/autotest/packages'" |
| |
| - IP: The IP of the devserver you are running the test agains: |
| - PORT: The port of the devserver, normally 8082 |
| """ |
| |
| from autotest_lib.client.common_lib import utils |
| |
| args_dict = utils.args_to_dict(args) |
| |
| def run(machine): |
| host = hosts.create_host(machine) |
| job.run_test('autoupdate_ForcedOOBEUpdate', host=host, full_payload=True, |
| moblab=True, **args_dict) |
| |
| job.parallel_simple(run, machines) |