summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-06-23 07:09:30 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-06-23 07:09:30 +0000
commit249b72741ba7d1c081ee26472cea82214599b95c (patch)
tree4ba7e8cf4ecafb498abbb2ab7cfab19cfcbb5c9d
parentb85c4e088bec0b8c6b5816f8c25791a217d089de (diff)
parent29c2a9a3bf26e2491daa35cc260116d8e30fafde (diff)
downloadplatform_tools_test_connectivity-249b72741ba7d1c081ee26472cea82214599b95c.tar.gz
platform_tools_test_connectivity-249b72741ba7d1c081ee26472cea82214599b95c.tar.bz2
platform_tools_test_connectivity-249b72741ba7d1c081ee26472cea82214599b95c.zip
release-request-160c4b31-7fa0-4e2b-aabe-85380836a1ce-for-git_oc-release-4129081 snap-temp-L15300000077039010
Change-Id: I9ec937b25545cf720e7769731dc06973cc9f7505
-rw-r--r--acts/framework/acts/controllers/anritsu_lib/md8475a.py52
-rw-r--r--acts/framework/acts/test_utils/tel/anritsu_utils.py74
-rw-r--r--acts/framework/acts/test_utils/tel/tel_voice_utils.py18
-rw-r--r--acts/tests/google/tel/live/TelLiveMobilityStressTest.py6
-rw-r--r--acts/tests/google/tel/live/TelLiveSinglePhoneStressTest.py4
5 files changed, 135 insertions, 19 deletions
diff --git a/acts/framework/acts/controllers/anritsu_lib/md8475a.py b/acts/framework/acts/controllers/anritsu_lib/md8475a.py
index 584cf53c0e..5b7f0e375f 100644
--- a/acts/framework/acts/controllers/anritsu_lib/md8475a.py
+++ b/acts/framework/acts/controllers/anritsu_lib/md8475a.py
@@ -1562,6 +1562,58 @@ class _BaseTransceiverStation(object):
self._anritsu.send_command(cmd)
@property
+ def transmode(self):
+ """ Gets the Transmission Mode of the cell
+
+ Args:
+ None
+
+ Returns:
+ Transmission mode
+ """
+ cmd = "TRANSMODE? " + self._bts_number
+ return self._anritsu.send_query(cmd)
+
+ @transmode.setter
+ def transmode(self, tm_mode):
+ """ Sets the TM of the cell
+
+ Args:
+ TM: TM of the cell
+
+ Returns:
+ None
+ """
+ cmd = "TRANSMODE {},{}".format(tm_mode, self._bts_number)
+ self._anritsu.send_command(cmd)
+
+ @property
+ def dl_antenna(self):
+ """ Gets the DL ANTENNA count of the cell
+
+ Args:
+ None
+
+ Returns:
+ No of DL Antenna
+ """
+ cmd = "ANTENNAS? " + self._bts_number
+ return self._anritsu.send_query(cmd)
+
+ @dl_antenna.setter
+ def dl_antenna(self, num_antenna):
+ """ Sets the DL ANTENNA of the cell
+
+ Args:
+ c: DL ANTENNA of the cell
+
+ Returns:
+ None
+ """
+ cmd = "ANTENNAS {},{}".format(num_antenna, self._bts_number)
+ self._anritsu.send_command(cmd)
+
+ @property
def bandwidth(self):
""" Gets the channel bandwidth of the cell
diff --git a/acts/framework/acts/test_utils/tel/anritsu_utils.py b/acts/framework/acts/test_utils/tel/anritsu_utils.py
index de4b34034c..5a308959af 100644
--- a/acts/framework/acts/test_utils/tel/anritsu_utils.py
+++ b/acts/framework/acts/test_utils/tel/anritsu_utils.py
@@ -68,6 +68,7 @@ WAIT_TIME_IN_ALERT = 5
# SIM card names
P0250Ax = "P0250Ax"
VzW12349 = "VzW12349"
+P0135Ax = "P0135Ax"
# Test PLMN information
TEST_PLMN_LTE_NAME = "MD8475A_LTE"
@@ -82,6 +83,8 @@ DEFAULT_RAC = 1
DEFAULT_LAC = 1
VzW_MCC = "311"
VzW_MNC = "480"
+TMO_MCC = "310"
+TMO_MNC = "260"
# IP address information for internet sharing
#GATEWAY_IPV4_ADDR = "192.168.137.1"
@@ -141,6 +144,8 @@ VzW_CDMA1X_NID = 65535
VzW_EVDO_BAND = 0
VzW_EVDO_CH = 384
VzW_EVDO_SECTOR_ID = "12345678,00000000,00000000,00000000"
+DEFAULT_T_MODE = "TM1"
+DEFAULT_DL_ANTENNA = 1
# CMAS Message IDs
CMAS_MESSAGE_PRESIDENTIAL_ALERT = hex(0x1112)
@@ -202,6 +207,7 @@ PDN_NO_3 = 3
DEFAULT_VNID = 1
NDP_NIC_NAME = '"Intel(R) 82577LM Gigabit Network Connection"'
CSCF_Monitoring_UA_URI = '"sip:+11234567890@test.3gpp.com"'
+TMO_CSCF_Monitoring_UA_URI = '"sip:310260123456789@msg.lab.t-mobile.com"'
#Cell Numbers
CELL_1 = 1
@@ -231,6 +237,8 @@ def set_usim_parameters(anritsu_handle, sim_card):
"""
if sim_card == P0250Ax:
anritsu_handle.usim_key = "000102030405060708090A0B0C0D0E0F"
+ elif sim_card == P0135Ax:
+ anritsu_handle.usim_key = "00112233445566778899AABBCCDDEEFF"
elif sim_card == VzW12349:
anritsu_handle.usim_key = "465B5CE8B199B49FAA5F0A2EE238A6BC"
anritsu_handle.send_command("IMSI 311480012345678")
@@ -295,6 +303,8 @@ def _init_lte_bts(bts, user_params, cell_no, sim_card):
bts.mcc = get_lte_mcc(user_params, cell_no, sim_card)
bts.mnc = get_lte_mnc(user_params, cell_no, sim_card)
bts.band = get_lte_band(user_params, cell_no)
+ bts.transmode = get_transmission_mode(user_params, cell_no)
+ bts.dl_antenna = get_dl_antenna(user_params, cell_no)
bts.output_level = DEFAULT_OUTPUT_LEVEL
bts.input_level = DEFAULT_INPUT_LEVEL
@@ -413,7 +423,7 @@ def _init_PDN(anritsu_handle, pdn, ipv4, ipv6, ims_binding):
pdn.cscf_address_ipv4 = CSCF_IPV4_ADDR
-def _init_IMS(anritsu_handle, vnid):
+def _init_IMS(anritsu_handle, vnid, sim_card=None):
""" initializes the IMS VNID parameters
All IMS parameters should be set here
@@ -429,7 +439,10 @@ def _init_IMS(anritsu_handle, vnid):
vnid.cscf_address_ipv6 = CSCF_IPV6_ADDR
vnid.dns = Switch.DISABLE
vnid.ndp_nic = NDP_NIC_NAME
- vnid.cscf_monitoring_ua = CSCF_Monitoring_UA_URI
+ if sim_card == P0135Ax:
+ vnid.cscf_monitoring_ua = TMO_CSCF_Monitoring_UA_URI
+ else:
+ vnid.cscf_monitoring_ua = CSCF_Monitoring_UA_URI
vnid.psap = Switch.ENABLE
vnid.psap_auto_answer = Switch.ENABLE
@@ -458,7 +471,7 @@ def set_system_model_lte_lte(anritsu_handle, user_params, sim_card):
_init_PDN(anritsu_handle, pdn2, UE_IPV4_ADDR_2, UE_IPV6_ADDR_2, False)
_init_PDN(anritsu_handle, pdn3, UE_IPV4_ADDR_3, UE_IPV6_ADDR_3, True)
vnid1 = anritsu_handle.get_IMS(DEFAULT_VNID)
- _init_IMS(anritsu_handle, vnid1)
+ _init_IMS(anritsu_handle, vnid1, sim_card)
return [lte1_bts, lte2_bts]
@@ -509,7 +522,7 @@ def set_system_model_lte_wcdma(anritsu_handle, user_params, sim_card):
_init_PDN(anritsu_handle, pdn2, UE_IPV4_ADDR_2, UE_IPV6_ADDR_2, False)
_init_PDN(anritsu_handle, pdn3, UE_IPV4_ADDR_3, UE_IPV6_ADDR_3, True)
vnid1 = anritsu_handle.get_IMS(DEFAULT_VNID)
- _init_IMS(anritsu_handle, vnid1)
+ _init_IMS(anritsu_handle, vnid1, sim_card)
return [lte_bts, wcdma_bts]
@@ -537,7 +550,7 @@ def set_system_model_lte_gsm(anritsu_handle, user_params, sim_card):
_init_PDN(anritsu_handle, pdn2, UE_IPV4_ADDR_2, UE_IPV6_ADDR_2, False)
_init_PDN(anritsu_handle, pdn3, UE_IPV4_ADDR_3, UE_IPV6_ADDR_3, True)
vnid1 = anritsu_handle.get_IMS(DEFAULT_VNID)
- _init_IMS(anritsu_handle, vnid1)
+ _init_IMS(anritsu_handle, vnid1, sim_card)
return [lte_bts, gsm_bts]
@@ -566,7 +579,7 @@ def set_system_model_lte_1x(anritsu_handle, user_params, sim_card):
_init_PDN(anritsu_handle, pdn2, UE_IPV4_ADDR_2, UE_IPV6_ADDR_2, False)
_init_PDN(anritsu_handle, pdn3, UE_IPV4_ADDR_3, UE_IPV6_ADDR_3, True)
vnid1 = anritsu_handle.get_IMS(DEFAULT_VNID)
- _init_IMS(anritsu_handle, vnid1)
+ _init_IMS(anritsu_handle, vnid1, sim_card)
return [lte_bts, cdma1x_bts]
@@ -636,7 +649,7 @@ def set_system_model_lte(anritsu_handle, user_params, sim_card):
_init_PDN(anritsu_handle, pdn2, UE_IPV4_ADDR_2, UE_IPV6_ADDR_2, False)
_init_PDN(anritsu_handle, pdn3, UE_IPV4_ADDR_3, UE_IPV6_ADDR_3, True)
vnid1 = anritsu_handle.get_IMS(DEFAULT_VNID)
- _init_IMS(anritsu_handle, vnid1)
+ _init_IMS(anritsu_handle, vnid1, sim_card)
return [lte_bts]
@@ -1421,6 +1434,38 @@ def read_ue_identity(log, ad, anritsu_handle, identity_type):
return anritsu_handle.get_ue_identity(identity_type)
+def get_transmission_mode(user_params, cell_no):
+ """ Returns the TRANSMODE to be used from the user specified parameters
+ or default value
+
+ Args:
+ user_params: pointer to user supplied parameters
+ cell_no: specify the cell number this BTS is configured
+ Anritsu supports two cells. so cell_1 or cell_2
+
+ Returns:
+ TM to be used
+ """
+ key = "cell{}_transmission_mode".format(cell_no)
+ transmission_mode = user_params.get(key, DEFAULT_T_MODE)
+ return transmission_mode
+
+def get_dl_antennas(user_params, cell_no):
+ """ Returns the DL ANTENNA to be used from the user specified parameters
+ or default value
+
+ Args:
+ user_params: pointer to user supplied parameters
+ cell_no: specify the cell number this BTS is configured
+ Anritsu supports two cells. so cell_1 or cell_2
+
+ Returns:
+ number of DL ANTENNAS to be used
+ """
+ key = "cell{}_dl_antenna".format(cell_no)
+ dl_antenna = user_params.get(key, DEFAULT_DL_ANTENNA)
+ return dl_antenna
+
def get_lte_band(user_params, cell_no):
""" Returns the LTE BAND to be used from the user specified parameters
or default value
@@ -1434,10 +1479,7 @@ def get_lte_band(user_params, cell_no):
LTE BAND to be used
"""
key = "cell{}_lte_band".format(cell_no)
- try:
- lte_band = user_params[key]
- except KeyError:
- lte_band = DEFAULT_LTE_BAND
+ lte_band = user_params.get(key, DEFAULT_LTE_BAND)
return lte_band
@@ -1454,10 +1496,7 @@ def get_wcdma_band(user_params, cell_no):
WCDMA BAND to be used
"""
key = "cell{}_wcdma_band".format(cell_no)
- try:
- wcdma_band = user_params[key]
- except KeyError:
- wcdma_band = DEFAULT_WCDMA_BAND
+ wcdma_band = user_params.get(key, DEFAULT_WCDMA_BAND)
return wcdma_band
@@ -1474,10 +1513,7 @@ def get_gsm_band(user_params, cell_no):
GSM BAND to be used
"""
key = "cell{}_gsm_band".format(cell_no)
- try:
- gsm_band = user_params[key]
- except KeyError:
- gsm_band = DEFAULT_GSM_BAND
+ gsm_band = user_params.get(key, DEFAULT_GSM_BAND)
return gsm_band
diff --git a/acts/framework/acts/test_utils/tel/tel_voice_utils.py b/acts/framework/acts/test_utils/tel/tel_voice_utils.py
index 94bf9344a3..cf155ae98f 100644
--- a/acts/framework/acts/test_utils/tel/tel_voice_utils.py
+++ b/acts/framework/acts/test_utils/tel/tel_voice_utils.py
@@ -978,6 +978,24 @@ def phone_idle_2g_for_subscription(log, ad, sub_id):
return wait_for_network_generation_for_subscription(
log, ad, sub_id, GEN_2G, voice_or_data=NETWORK_SERVICE_VOICE)
+def get_current_voice_rat(log, ad):
+ """Return current Voice RAT
+
+ Args:
+ ad: Android device object.
+ """
+ return get_current_voice_rat_for_subscription(
+ log, ad, get_outgoing_voice_sub_id(ad))
+
+def get_current_voice_rat_for_subscription(log, ad, sub_id):
+ """Return current Voice RAT for subscription id.
+
+ Args:
+ ad: Android device object.
+ sub_id: subscription id.
+ """
+ return get_network_rat_for_subscription(log, ad, sub_id,
+ NETWORK_SERVICE_VOICE)
def is_phone_in_call_volte(log, ad):
"""Return if phone is in VoLTE call.
diff --git a/acts/tests/google/tel/live/TelLiveMobilityStressTest.py b/acts/tests/google/tel/live/TelLiveMobilityStressTest.py
index 75a76d7bf3..134fbb6171 100644
--- a/acts/tests/google/tel/live/TelLiveMobilityStressTest.py
+++ b/acts/tests/google/tel/live/TelLiveMobilityStressTest.py
@@ -55,6 +55,7 @@ from acts.test_utils.tel.tel_voice_utils import phone_setup_iwlan
from acts.test_utils.tel.tel_voice_utils import phone_setup_voice_3g
from acts.test_utils.tel.tel_voice_utils import phone_setup_voice_2g
from acts.test_utils.tel.tel_voice_utils import phone_setup_volte
+from acts.test_utils.tel.tel_voice_utils import get_current_voice_rat
from acts.utils import rand_ascii_str
from TelWifiVoiceTest import TelWifiVoiceTest
from TelWifiVoiceTest import ATTEN_NAME_FOR_WIFI_2G
@@ -234,6 +235,11 @@ class TelLiveMobilityStressTest(TelWifiVoiceTest):
ads = [self.dut, self.helper]
random.shuffle(ads)
total_count += 1
+ # Current Voice RAT
+ self.dut.log.info("Current Voice RAT is %s",
+ get_current_voice_rat(self.log, self.dut))
+ self.helper.log.info("Current Voice RAT is %s",
+ get_current_voice_rat(self.log, self.helper))
if not self._make_phone_call(ads):
failure += 1
self.log.error("New call test failure: %s/%s", failure,
diff --git a/acts/tests/google/tel/live/TelLiveSinglePhoneStressTest.py b/acts/tests/google/tel/live/TelLiveSinglePhoneStressTest.py
index b24e9085e6..db6e824cae 100644
--- a/acts/tests/google/tel/live/TelLiveSinglePhoneStressTest.py
+++ b/acts/tests/google/tel/live/TelLiveSinglePhoneStressTest.py
@@ -49,6 +49,7 @@ from acts.test_utils.tel.tel_voice_utils import phone_setup_iwlan
from acts.test_utils.tel.tel_voice_utils import phone_setup_voice_3g
from acts.test_utils.tel.tel_voice_utils import phone_setup_voice_2g
from acts.test_utils.tel.tel_voice_utils import phone_setup_volte
+from acts.test_utils.tel.tel_voice_utils import get_current_voice_rat
from acts.utils import rand_ascii_str
@@ -146,6 +147,9 @@ class TelLiveSinglePhoneStressTest(TelephonyBaseTest):
self.dut.log.info(dict(self.result_info))
self.result_info["Total Calls"] += 1
duration = random.randrange(1, self.max_phone_call_duration)
+ # Current Voice RAT
+ self.dut.log.info("Current Voice RAT is %s",
+ get_current_voice_rat(self.log, self.dut))
self.dut.log.info("Make call to %s with call duration %s",
self.call_server_number, duration)
if not initiate_call(self.log, self.dut, self.call_server_number):