# Copyright 2018 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

AUTHOR = "dhaddock, ChromiumOS"
NAME = "autoupdate_Cellular.full.tmobile"
METADATA = {
  "contacts": [
    "chromeos-core-services@google.com",
    "chromeos-sw-engprod@google.com"
  ],
  "bug_component": "b:908319",
  "criteria": "Test autoupdate over cellular with a full payload."
}
TIME = "SHORT"
TEST_TYPE = "server"
# Disable due to b/190648331, full payload tests exceed autotest SSH timeout.
# ATTRIBUTES = "suite:cellular_au"
DEPENDENCIES = "carrier:tmobile"
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="build=RXX-XXXX.X.X"

"""

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)
