# 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_France_Lapuce_Roaming_Security_Build'
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:android_telephony_international_roaming_security'
DEPENDENCIES = 'carrier:france_lapuce,location:mtv'

DOC = """
This test runs telephony sanity against phones with France Lapuce SIMs roaming
in US.
"""

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

parallel_simple(run, machines)
