# 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_Reston_VZW_Conf_NoCEP'
TIME = 'LONG'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:android_telephony_nightly'
DEPENDENCIES = 'carrier:verizon,telephony:cep,location:reston'

DOC = """
This test runs telephony sanity against an phones 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_conf_nocep',
                 additional_configs=['simcard_list.json', 'tel_data'],
                 override_build_url='git_master-release/sailfish-userdebug/latest',
                 testtracker_project_id=11349,
                 testtracker_owner='android-comms-tvc@google.com',
                 testtracker_extra_env="verizon_reston",
                 acts_timeout=36000)

parallel_simple(run, machines)
