# 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_SPT_Longevity'
TIME = 'LONG'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:android_telephony_longevity'
DEPENDENCIES = 'carrier:sprint,location:mtv'

DOC = """
This test runs telephony longevity test against an phones with Sprint SIMs.
"""

def run(machine):
    job.run_test('android_ACTS',
                 testbed=hosts.create_testbed(machine),
                 config_file='android1758-telephony-test-station.config',
                 test_file='telephony_longevity',
                 additional_configs=['simcard_list.json'],
                 testtracker_project_id=11349,
                 testtracker_owner='android-comms-tvc@google.com',
                 testtracker_extra_env="sprint",
                 acts_timeout=36000)

parallel_simple(run, machines)
