# 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 = 'bettyzhou, jaineelm, krisr'
NAME = 'android_ACTS.Telephony_MTV_VZW_Data_Security_Build'
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:android_telephony_nightly_security'
DEPENDENCIES = 'carrier:verizon,telephony:data,location:mtv'

DOC = """
This test runs telephony data tests against devices with Verizon SIMs.
"""

def run(machine):
    job.run_test('android_ACTS',
                 testbed=hosts.create_testbed(machine),
                 config_file='android1758-telephony-test-station.config',
                 test_file='telephony_vzw_data',
                 additional_configs=['simcard_list.json'],
                 override_build_url='git_master-release/angler-userdebug/4025853',
                 testtracker_project_id=11435,
                 testtracker_owner='android-comms-tvc@google.com',
                 testtracker_extra_env="verizon",
                 acts_timeout=36000)

parallel_simple(run, machines)
