Adding more mode pref change before making a call
in volte_mode_pref_change test, inserting couple of more
mode_pref change to catch bugs like W-G-W causing the next
L-W failure
Test: Yes, locally
Change-Id: I7b546762ed369c812f077f4c5c6a20088b70193f
diff --git a/acts/tests/google/tel/live/TelLiveSinglePhoneStressTest.py b/acts/tests/google/tel/live/TelLiveSinglePhoneStressTest.py
index 0231b19..bd1790b 100644
--- a/acts/tests/google/tel/live/TelLiveSinglePhoneStressTest.py
+++ b/acts/tests/google/tel/live/TelLiveSinglePhoneStressTest.py
@@ -82,9 +82,11 @@
"+19523521350")
self.user_params["telephony_auto_rerun"] = False
self.wifi_network_ssid = self.user_params.get(
- "wifi_network_ssid") or self.user_params.get("wifi_network_ssid_2g")
+ "wifi_network_ssid") or self.user_params.get(
+ "wifi_network_ssid_2g")
self.wifi_network_pass = self.user_params.get(
- "wifi_network_pass") or self.user_params.get("wifi_network_pass_2g")
+ "wifi_network_pass") or self.user_params.get(
+ "wifi_network_pass_2g")
self.max_phone_call_duration = int(
self.user_params.get("max_phone_call_duration", 3600))
self.max_sleep_time = int(self.user_params.get("max_sleep_time", 1200))
@@ -158,8 +160,8 @@
try:
begin_time = get_current_epoch_time()
time.sleep(self.crash_check_interval)
- crash_report = self.dut.check_crash_report(
- "checking_crash", begin_time, True)
+ crash_report = self.dut.check_crash_report("checking_crash",
+ begin_time, True)
if crash_report:
self.dut.log.error("Find new crash reports %s",
crash_report)
@@ -205,9 +207,8 @@
self.call_server_number)
self.result_info["Call initiation failure"] += 1
failure += 1
- self._take_bug_report(
- "%s_call_initiation_failure" % self.test_name,
- begin_time)
+ self._take_bug_report("%s_call_initiation_failure" %
+ self.test_name, begin_time)
start_qxdm_loggers(self.log, self.android_devices)
continue
elapse_time = 0
@@ -270,9 +271,8 @@
self.call_server_number)
self.result_info["Call initiation failure"] += 1
failure += 1
- self._take_bug_report(
- "%s_call_initiation_failure" % self.test_name,
- begin_time)
+ self._take_bug_report("%s_call_initiation_failure" %
+ self.test_name, begin_time)
start_qxdm_loggers(self.log, self.android_devices)
continue
elapse_time = 0
@@ -285,8 +285,8 @@
self.dut.log.error("Call not VoLTE")
self.result_info["Call not VoLTE"] += 1
failure += 1
- self._take_bug_report(
- "%s_not_in_volte" % self.test_name, begin_time)
+ self._take_bug_report("%s_not_in_volte" %
+ self.test_name, begin_time)
start_qxdm_loggers(self.log, self.android_devices)
break
else:
@@ -295,6 +295,9 @@
hangup_call(self.log, self.dut)
self.dut.log.info("VoLTE test succeed.")
+ # Wait for few sec for call cleanup on nw side
+ time.sleep(5)
+
# ModePref change to non-LTE
network_preference_list = [
NETWORK_MODE_TDSCDMA_GSM_WCDMA,
@@ -306,14 +309,21 @@
sub_id, network_preference)
time.sleep(WAIT_TIME_AFTER_MODE_CHANGE)
self.dut.log.info("Current Voice RAT is %s",
- get_current_voice_rat(
- self.log, self.dut))
+ get_current_voice_rat(self.log,
+ self.dut))
- # ModePref change back to with LTE
- set_preferred_network_mode_pref(
- self.dut.log, self.dut, sub_id,
- NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA)
- time.sleep(WAIT_TIME_AFTER_MODE_CHANGE)
+ for mode, sleep_time in zip([
+ NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA,
+ random.choice(network_preference_list),
+ NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA
+ ], [
+ random.randrange(0, WAIT_TIME_AFTER_MODE_CHANGE),
+ random.randrange(0, WAIT_TIME_AFTER_MODE_CHANGE),
+ WAIT_TIME_AFTER_MODE_CHANGE
+ ]):
+ set_preferred_network_mode_pref(self.dut.log, self.dut,
+ sub_id, mode)
+ time.sleep(sleep_time)
except IGNORE_EXCEPTIONS as e:
self.log.error("Exception error %s", str(e))
@@ -426,11 +436,10 @@
self.log.error("%s of length %s from self to self fails",
message_type, length)
self.result_info["%s failure" % message_type] += 1
- if message_type == "SMS" or self.result_info["%s failure" %
- message_type] == 1:
- self._take_bug_report("%s_%s_failure" %
- (self.test_name,
- message_type), begin_time)
+ if message_type == "SMS" or self.result_info[
+ "%s failure" % message_type] == 1:
+ self._take_bug_report("%s_%s_failure" % (
+ self.test_name, message_type), begin_time)
start_qxdm_loggers(self.log, self.android_devices)
failure += 1
else:
@@ -481,9 +490,8 @@
if tcpdump_pid is not None:
stop_adb_tcpdump(self.dut, tcpdump_pid,
tcpdump_file, True)
- self._take_bug_report(
- "%s_file_download_failure" % self.test_name,
- begin_time)
+ self._take_bug_report("%s_file_download_failure" %
+ self.test_name, begin_time)
start_qxdm_loggers(self.log, self.android_devices)
elif tcpdump_pid is not None:
stop_adb_tcpdump(self.dut, tcpdump_pid, tcpdump_file,