1# Copyright 2017 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
5AUTHOR = "dhaddock, Chromium OS"
6NAME = "autoupdate_ForcedOOBEUpdate.full"
7PURPOSE = "Test forced update at OOBE."
8TIME = "MEDIUM"
9TEST_CATEGORY = "Functional"
10TEST_CLASS = "platform"
11TEST_TYPE = "server"
12ATTRIBUTES = "suite:au-oobe, suite:infra_qual"
13DOC = """
14This tests the forced autoupdate flow at OOBE.
15
16Debugging steps:
17This test cannot be debugged locally easily because
181. Using a devserver on your workstation is blocked by SNAX
192. The test relies on reading a job_repo_url which is only set by runs
20initiated in the lab.
21
22You will need to use a lab DUT and a lab devserver but kick it off from your
23workstation. You can start by going to cautotest and locking a DUT.
24
25You will need to pass a job_repo_url param to test_that.
26
27The test needs to be able to ssh into devservers. To ssh into lab devservers
28Follow these instructions to setup the ssh access to lab devservers:
29https://sites.google.com/a/google.com/chromeos/for-team-members/infrastructure/chromeos-admin/devserver-access
30
31Use this instruction to find the list of lab devservers:
32atest server list | grep devserver
33
34Get access to "Access To Chrome Lab or Cautotest" from:
35https://sphinx.corp.google.com/sphinx/#accessChangeRequest:systemName=default-mnp-use-cases
36
37Then run the test as follows:
38test_that <hostname>.cros autoupdate_ForcedOOBEUpdate.full --args="job_repo_url='http://<IP>:<PORT>/static/<board>-release/RXX-XXXX.X.X/autotest/packages'"
39
40- IP: The IP of the devserver you are running the test agains:
41- PORT: The port of the devserver, normally 8082
42"""
43
44from autotest_lib.client.common_lib import utils
45
46args_dict = utils.args_to_dict(args)
47
48def run(machine):
49    host = hosts.create_host(machine)
50    job.run_test('autoupdate_ForcedOOBEUpdate', host=host, full_payload=True,
51                 **args_dict)
52
53job.parallel_simple(run, machines)
54