# Copyright 2018 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_Cellular.full"
PURPOSE = "Test autoupdate over cellular."
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "platform"
TEST_TYPE = "server"
ATTRIBUTES = "suite:cellular_au"
DOC = """
This tests autoupdate over a cellular connection.

To run locally you need to pass in a job_repo_url arg. This is used to tell
the test what build it is running. In the lab this is setup when the DUT is
provisioned.

test_that <hostname>.cros autoupdate_Cellular --args="job_repo_url='http://<IP>:<port>/static/<board>-release/RXX-XXXX.X.X/autotest/packages'"

"""

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_Cellular', host=host, **args_dict)

job.parallel_simple(run, machines)
