Moved QXDM/tcpdump related functions to tel_logging_utils
Following functions are moved from tel_test_utils to tel_logging_utils:
- find_qxdm_log_mask
- set_qxdm_logger_command
- stop_qxdm_logger
- start_qxdm_logger
- disable_qxdm_logger
- check_qxdm_logger_run_time
- start_qxdm_loggers
- stop_qxdm_loggers
- check_qxdm_logger_mask
- start_nexuslogger
- start_tcpdumps
- start_adb_tcpdump
- stop_tcpdumps
- stop_adb_tcpdump
- get_tcpdump_log
- wait_for_log
Bug: None
Test: Yes, locally
Change-Id: Ic81b62cf3c8a39af95992619edc615a9b99adb9f
diff --git a/acts_tests/acts_contrib/test_utils/cellular/cellular_base_test.py b/acts_tests/acts_contrib/test_utils/cellular/cellular_base_test.py
index 14c4bb3..5547469 100644
--- a/acts_tests/acts_contrib/test_utils/cellular/cellular_base_test.py
+++ b/acts_tests/acts_contrib/test_utils/cellular/cellular_base_test.py
@@ -30,6 +30,7 @@
from acts.controllers.cellular_lib import LteCaSimulation as lteca_sim
from acts.controllers.cellular_lib import LteImsSimulation as lteims_sim
+from acts_contrib.test_utils.tel import tel_logging_utils
from acts_contrib.test_utils.tel import tel_test_utils as telutils
@@ -247,8 +248,8 @@
# Enable QXDM logger if required
if self.qxdm_logs:
self.log.info('Enabling the QXDM logger.')
- telutils.set_qxdm_logger_command(self.dut)
- telutils.start_qxdm_logger(self.dut)
+ tel_logging_utils.set_qxdm_logger_command(self.dut)
+ tel_logging_utils.start_qxdm_logger(self.dut)
# Start the simulation. This method will raise an exception if
# the phone is unable to attach.
@@ -268,7 +269,7 @@
# If QXDM logging was enabled pull the results
if self.qxdm_logs:
self.log.info('Stopping the QXDM logger and pulling results.')
- telutils.stop_qxdm_logger(self.dut)
+ tel_logging_utils.stop_qxdm_logger(self.dut)
self.dut.get_qxdm_logs()
def consume_parameter(self, parameter_name, num_values=0):
diff --git a/acts_tests/acts_contrib/test_utils/gnss/gnss_test_utils.py b/acts_tests/acts_contrib/test_utils/gnss/gnss_test_utils.py
index 565f014..7b5c841 100644
--- a/acts_tests/acts_contrib/test_utils/gnss/gnss_test_utils.py
+++ b/acts_tests/acts_contrib/test_utils/gnss/gnss_test_utils.py
@@ -33,6 +33,7 @@
from acts.controllers.android_device import DEFAULT_QXDM_LOG_PATH
from acts.controllers.android_device import SL4A_APK_NAME
from acts_contrib.test_utils.wifi import wifi_test_utils as wutils
+from acts_contrib.test_utils.tel import tel_logging_utils as tlutils
from acts_contrib.test_utils.tel import tel_test_utils as tutils
from acts_contrib.test_utils.instrumentation.device.command.instrumentation_command_builder import InstrumentationCommandBuilder
from acts_contrib.test_utils.instrumentation.device.command.instrumentation_command_builder import InstrumentationTestCommandBuilder
@@ -1247,9 +1248,9 @@
"""
try:
for mask in masks:
- if not tutils.find_qxdm_log_mask(ad, mask):
+ if not tlutils.find_qxdm_log_mask(ad, mask):
continue
- tutils.set_qxdm_logger_command(ad, mask)
+ tlutils.set_qxdm_logger_command(ad, mask)
break
except Exception as e:
ad.log.error(e)
diff --git a/acts_tests/acts_contrib/test_utils/power/cellular/cellular_traffic_power_test.py b/acts_tests/acts_contrib/test_utils/power/cellular/cellular_traffic_power_test.py
index 21e3dcf..67dc214 100644
--- a/acts_tests/acts_contrib/test_utils/power/cellular/cellular_traffic_power_test.py
+++ b/acts_tests/acts_contrib/test_utils/power/cellular/cellular_traffic_power_test.py
@@ -24,8 +24,9 @@
from acts_contrib.test_utils.power import IperfHelper as IPH
from acts_contrib.test_utils.power import plot_utils
import acts_contrib.test_utils.power.cellular.cellular_power_base_test as PWCEL
-from acts_contrib.test_utils.tel import tel_test_utils as telutils
-
+from acts_contrib.test_utils.tel.tel_logging_utils import start_adb_tcpdump
+from acts_contrib.test_utils.tel.tel_logging_utils import stop_adb_tcpdump
+from acts_contrib.test_utils.tel.tel_logging_utils import get_tcpdump_log
class PowerTelTrafficTest(PWCEL.PowerCellularLabBaseTest):
""" Cellular traffic power test.
@@ -204,8 +205,8 @@
# Pull TCP logs if enabled
if self.tcp_dumps:
self.log.info('Pulling TCP dumps.')
- telutils.stop_adb_tcpdump(self.dut)
- telutils.get_tcpdump_log(self.dut)
+ stop_adb_tcpdump(self.dut)
+ get_tcpdump_log(self.dut)
throughput = {}
@@ -333,7 +334,7 @@
# Enable TCP logger.
if self.tcp_dumps:
self.log.info('Enabling TCP logger.')
- telutils.start_adb_tcpdump(self.dut)
+ start_adb_tcpdump(self.dut)
return iperf_helpers
diff --git a/acts_tests/acts_contrib/test_utils/tel/TelephonyBaseTest.py b/acts_tests/acts_contrib/test_utils/tel/TelephonyBaseTest.py
index 48ded7c..5c9f26e 100644
--- a/acts_tests/acts_contrib/test_utils/tel/TelephonyBaseTest.py
+++ b/acts_tests/acts_contrib/test_utils/tel/TelephonyBaseTest.py
@@ -33,14 +33,21 @@
from acts.libs.utils.multithread import multithread_func
from acts.libs.utils.multithread import run_multithread_func
+from acts_contrib.test_utils.tel.tel_logging_utils import disable_qxdm_logger
+from acts_contrib.test_utils.tel.tel_logging_utils import set_qxdm_logger_command
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_logger
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
+from acts_contrib.test_utils.tel.tel_logging_utils import stop_qxdm_logger
from acts_contrib.test_utils.tel.tel_logging_utils import start_sdm_loggers
from acts_contrib.test_utils.tel.tel_logging_utils import start_sdm_logger
from acts_contrib.test_utils.tel.tel_logging_utils import stop_sdm_logger
+from acts_contrib.test_utils.tel.tel_logging_utils import start_tcpdumps
+from acts_contrib.test_utils.tel.tel_logging_utils import stop_tcpdumps
+from acts_contrib.test_utils.tel.tel_logging_utils import get_tcpdump_log
from acts_contrib.test_utils.tel.tel_subscription_utils import initial_set_up_for_subid_information
from acts_contrib.test_utils.tel.tel_subscription_utils import set_default_sub_for_all_services
from acts_contrib.test_utils.tel.tel_subscription_utils import get_subid_from_slot_index
from acts_contrib.test_utils.tel.tel_test_utils import build_id_override
-from acts_contrib.test_utils.tel.tel_test_utils import disable_qxdm_logger
from acts_contrib.test_utils.tel.tel_test_utils import enable_connectivity_metrics
from acts_contrib.test_utils.tel.tel_test_utils import enable_radio_log_on
from acts_contrib.test_utils.tel.tel_test_utils import ensure_phone_default_state
@@ -50,7 +57,6 @@
from acts_contrib.test_utils.tel.tel_test_utils import force_connectivity_metrics_upload
from acts_contrib.test_utils.tel.tel_test_utils import get_screen_shot_log
from acts_contrib.test_utils.tel.tel_test_utils import get_sim_state
-from acts_contrib.test_utils.tel.tel_test_utils import get_tcpdump_log
from acts_contrib.test_utils.tel.tel_test_utils import install_apk
from acts_contrib.test_utils.tel.tel_test_utils import print_radio_info
from acts_contrib.test_utils.tel.tel_test_utils import reboot_device
@@ -58,12 +64,6 @@
from acts_contrib.test_utils.tel.tel_test_utils import setup_droid_properties
from acts_contrib.test_utils.tel.tel_test_utils import set_phone_screen_on
from acts_contrib.test_utils.tel.tel_test_utils import set_phone_silent_mode
-from acts_contrib.test_utils.tel.tel_test_utils import set_qxdm_logger_command
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_logger
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
-from acts_contrib.test_utils.tel.tel_test_utils import start_tcpdumps
-from acts_contrib.test_utils.tel.tel_test_utils import stop_qxdm_logger
-from acts_contrib.test_utils.tel.tel_test_utils import stop_tcpdumps
from acts_contrib.test_utils.tel.tel_test_utils import synchronize_device_time
from acts_contrib.test_utils.tel.tel_test_utils import unlock_sim
from acts_contrib.test_utils.tel.tel_test_utils import wait_for_sim_ready_by_adb
@@ -82,7 +82,6 @@
from acts_contrib.test_utils.tel.tel_defines import PRECISE_CALL_STATE_LISTEN_LEVEL_RINGING
from acts_contrib.test_utils.tel.tel_defines import SIM_STATE_ABSENT
from acts_contrib.test_utils.tel.tel_defines import SIM_STATE_UNKNOWN
-from acts_contrib.test_utils.tel.tel_defines import WIFI_VERBOSE_LOGGING_ENABLED
from acts_contrib.test_utils.tel.tel_defines import WIFI_VERBOSE_LOGGING_DISABLED
from acts_contrib.test_utils.tel.tel_defines import INVALID_SUB_ID
from acts_contrib.test_utils.tel.tel_defines import CHIPSET_MODELS_LIST
diff --git a/acts_tests/acts_contrib/test_utils/tel/tel_logging_utils.py b/acts_tests/acts_contrib/test_utils/tel/tel_logging_utils.py
index 8e9e963..5f10611 100644
--- a/acts_tests/acts_contrib/test_utils/tel/tel_logging_utils.py
+++ b/acts_tests/acts_contrib/test_utils/tel/tel_logging_utils.py
@@ -14,11 +14,19 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from datetime import datetime
+import os
import re
+import shutil
import time
+from acts_contrib.test_utils.gnss import gnss_test_utils as gutils
+from acts.controllers.android_device import DEFAULT_QXDM_LOG_PATH
from acts.controllers.android_device import DEFAULT_SDM_LOG_PATH
from acts.libs.utils.multithread import run_multithread_func
+from acts.utils import get_current_epoch_time
+from acts.utils import start_standing_subprocess
+
def check_if_tensor_platform(ad):
"""Check if current platform belongs to the Tensor platform
@@ -34,6 +42,7 @@
return True
return False
+
def start_pixellogger_always_on_logging(ad):
"""Start always-on logging of Pixellogger for both Qualcomm and Tensor
platform.
@@ -60,6 +69,7 @@
else:
return True
+
def start_sdm_logger(ad):
"""Start SDM logger."""
if not getattr(ad, "sdm_log", True): return
@@ -82,6 +92,7 @@
ad.adb.shell(cmd, ignore_status=True)
time.sleep(5)
+
def stop_sdm_logger(ad):
"""Stop SDM logger."""
cmd = "setprop vendor.sys.modem.logging.enable false"
@@ -89,11 +100,397 @@
ad.adb.shell(cmd, ignore_status=True)
time.sleep(5)
+
def start_sdm_loggers(log, ads):
tasks = [(start_sdm_logger, [ad]) for ad in ads
if getattr(ad, "sdm_log", True)]
if tasks: run_multithread_func(log, tasks)
+
def stop_sdm_loggers(log, ads):
tasks = [(stop_sdm_logger, [ad]) for ad in ads]
- run_multithread_func(log, tasks)
\ No newline at end of file
+ run_multithread_func(log, tasks)
+
+
+def find_qxdm_log_mask(ad, mask="default.cfg"):
+ """Find QXDM logger mask."""
+ if "/" not in mask:
+ # Call nexuslogger to generate log mask
+ start_nexuslogger(ad)
+ # Find the log mask path
+ for path in (DEFAULT_QXDM_LOG_PATH, "/data/diag_logs",
+ "/vendor/etc/mdlog/", "/vendor/etc/modem/"):
+ out = ad.adb.shell(
+ "find %s -type f -iname %s" % (path, mask), ignore_status=True)
+ if out and "No such" not in out and "Permission denied" not in out:
+ if path.startswith("/vendor/"):
+ setattr(ad, "qxdm_log_path", DEFAULT_QXDM_LOG_PATH)
+ else:
+ setattr(ad, "qxdm_log_path", path)
+ return out.split("\n")[0]
+ for mask_file in ("/vendor/etc/mdlog/", "/vendor/etc/modem/"):
+ if mask in ad.adb.shell("ls %s" % mask_file, ignore_status=True):
+ setattr(ad, "qxdm_log_path", DEFAULT_QXDM_LOG_PATH)
+ return "%s/%s" % (mask_file, mask)
+ else:
+ out = ad.adb.shell("ls %s" % mask, ignore_status=True)
+ if out and "No such" not in out:
+ qxdm_log_path, cfg_name = os.path.split(mask)
+ setattr(ad, "qxdm_log_path", qxdm_log_path)
+ return mask
+ ad.log.warning("Could NOT find QXDM logger mask path for %s", mask)
+
+
+def set_qxdm_logger_command(ad, mask=None):
+ """Set QXDM logger always on.
+
+ Args:
+ ad: android device object.
+
+ """
+ ## Neet to check if log mask will be generated without starting nexus logger
+ masks = []
+ mask_path = None
+ if mask:
+ masks = [mask]
+ masks.extend(["QC_Default.cfg", "default.cfg"])
+ for mask in masks:
+ mask_path = find_qxdm_log_mask(ad, mask)
+ if mask_path: break
+ if not mask_path:
+ ad.log.error("Cannot find QXDM mask %s", mask)
+ ad.qxdm_logger_command = None
+ return False
+ else:
+ ad.log.info("Use QXDM log mask %s", mask_path)
+ ad.log.debug("qxdm_log_path = %s", ad.qxdm_log_path)
+ output_path = os.path.join(ad.qxdm_log_path, "logs")
+ ad.qxdm_logger_command = ("diag_mdlog -f %s -o %s -s 90 -c" %
+ (mask_path, output_path))
+ return True
+
+
+def stop_qxdm_logger(ad):
+ """Stop QXDM logger."""
+ for cmd in ("diag_mdlog -k", "killall diag_mdlog"):
+ output = ad.adb.shell("ps -ef | grep mdlog") or ""
+ if "diag_mdlog" not in output:
+ break
+ ad.log.debug("Kill the existing qxdm process")
+ ad.adb.shell(cmd, ignore_status=True)
+ time.sleep(5)
+
+
+def start_qxdm_logger(ad, begin_time=None):
+ """Start QXDM logger."""
+ if not getattr(ad, "qxdm_log", True): return
+ # Delete existing QXDM logs 5 minutes earlier than the begin_time
+ current_time = get_current_epoch_time()
+ if getattr(ad, "qxdm_log_path", None):
+ seconds = None
+ file_count = ad.adb.shell(
+ "find %s -type f -iname *.qmdl | wc -l" % ad.qxdm_log_path)
+ if int(file_count) > 3:
+ if begin_time:
+ # if begin_time specified, delete old qxdm logs modified
+ # 10 minutes before begin time
+ seconds = int((current_time - begin_time) / 1000.0) + 10 * 60
+ else:
+ # if begin_time is not specified, delete old qxdm logs modified
+ # 15 minutes before current time
+ seconds = 15 * 60
+ if seconds:
+ # Remove qxdm logs modified more than specified seconds ago
+ ad.adb.shell(
+ "find %s -type f -iname *.qmdl -not -mtime -%ss -delete" %
+ (ad.qxdm_log_path, seconds))
+ ad.adb.shell(
+ "find %s -type f -iname *.xml -not -mtime -%ss -delete" %
+ (ad.qxdm_log_path, seconds))
+ if getattr(ad, "qxdm_logger_command", None):
+ output = ad.adb.shell("ps -ef | grep mdlog") or ""
+ if ad.qxdm_logger_command not in output:
+ ad.log.debug("QXDM logging command %s is not running",
+ ad.qxdm_logger_command)
+ if "diag_mdlog" in output:
+ # Kill the existing non-matching diag_mdlog process
+ # Only one diag_mdlog process can be run
+ stop_qxdm_logger(ad)
+ ad.log.info("Start QXDM logger")
+ ad.adb.shell_nb(ad.qxdm_logger_command)
+ time.sleep(10)
+ else:
+ run_time = check_qxdm_logger_run_time(ad)
+ if run_time < 600:
+ # the last diag_mdlog started within 10 minutes ago
+ # no need to restart
+ return True
+ if ad.search_logcat(
+ "Diag_Lib: diag: In delete_log",
+ begin_time=current_time -
+ run_time) or not ad.get_file_names(
+ ad.qxdm_log_path,
+ begin_time=current_time - 600000,
+ match_string="*.qmdl"):
+ # diag_mdlog starts deleting files or no qmdl logs were
+ # modified in the past 10 minutes
+ ad.log.debug("Quit existing diag_mdlog and start a new one")
+ stop_qxdm_logger(ad)
+ ad.adb.shell_nb(ad.qxdm_logger_command)
+ time.sleep(10)
+ return True
+
+
+def disable_qxdm_logger(ad):
+ for prop in ("persist.sys.modem.diag.mdlog",
+ "persist.vendor.sys.modem.diag.mdlog",
+ "vendor.sys.modem.diag.mdlog_on"):
+ if ad.adb.getprop(prop):
+ ad.adb.shell("setprop %s false" % prop, ignore_status=True)
+ for apk in ("com.android.nexuslogger", "com.android.pixellogger"):
+ if ad.is_apk_installed(apk) and ad.is_apk_running(apk):
+ ad.force_stop_apk(apk)
+ stop_qxdm_logger(ad)
+ return True
+
+
+def check_qxdm_logger_run_time(ad):
+ output = ad.adb.shell("ps -eo etime,cmd | grep diag_mdlog")
+ result = re.search(r"(\d+):(\d+):(\d+) diag_mdlog", output)
+ if result:
+ return int(result.group(1)) * 60 * 60 + int(
+ result.group(2)) * 60 + int(result.group(3))
+ else:
+ result = re.search(r"(\d+):(\d+) diag_mdlog", output)
+ if result:
+ return int(result.group(1)) * 60 + int(result.group(2))
+ else:
+ return 0
+
+
+def start_qxdm_loggers(log, ads, begin_time=None):
+ tasks = [(start_qxdm_logger, [ad, begin_time]) for ad in ads
+ if getattr(ad, "qxdm_log", True)]
+ if tasks: run_multithread_func(log, tasks)
+
+
+def stop_qxdm_loggers(log, ads):
+ tasks = [(stop_qxdm_logger, [ad]) for ad in ads]
+ run_multithread_func(log, tasks)
+
+
+def check_qxdm_logger_mask(ad, mask_file="QC_Default.cfg"):
+ """Check if QXDM logger always on is set.
+
+ Args:
+ ad: android device object.
+
+ """
+ output = ad.adb.shell(
+ "ls /data/vendor/radio/diag_logs/", ignore_status=True)
+ if not output or "No such" in output:
+ return True
+ if mask_file not in ad.adb.shell(
+ "cat /data/vendor/radio/diag_logs/diag.conf", ignore_status=True):
+ return False
+ return True
+
+
+def start_nexuslogger(ad):
+ """Start Nexus/Pixel Logger Apk."""
+ qxdm_logger_apk = None
+ for apk, activity in (("com.android.nexuslogger", ".MainActivity"),
+ ("com.android.pixellogger",
+ ".ui.main.MainActivity")):
+ if ad.is_apk_installed(apk):
+ qxdm_logger_apk = apk
+ break
+ if not qxdm_logger_apk: return
+ if ad.is_apk_running(qxdm_logger_apk):
+ if "granted=true" in ad.adb.shell(
+ "dumpsys package %s | grep WRITE_EXTERN" % qxdm_logger_apk):
+ return True
+ else:
+ ad.log.info("Kill %s" % qxdm_logger_apk)
+ ad.force_stop_apk(qxdm_logger_apk)
+ time.sleep(5)
+ for perm in ("READ", "WRITE"):
+ ad.adb.shell("pm grant %s android.permission.%s_EXTERNAL_STORAGE" %
+ (qxdm_logger_apk, perm))
+ time.sleep(2)
+ for i in range(3):
+ ad.unlock_screen()
+ ad.log.info("Start %s Attempt %d" % (qxdm_logger_apk, i + 1))
+ ad.adb.shell("am start -n %s/%s" % (qxdm_logger_apk, activity))
+ time.sleep(5)
+ if ad.is_apk_running(qxdm_logger_apk):
+ ad.send_keycode("HOME")
+ return True
+ return False
+
+
+def start_tcpdumps(ads,
+ test_name="",
+ begin_time=None,
+ interface="any",
+ mask="all"):
+ for ad in ads:
+ try:
+ start_adb_tcpdump(
+ ad,
+ test_name=test_name,
+ begin_time=begin_time,
+ interface=interface,
+ mask=mask)
+ except Exception as e:
+ ad.log.warning("Fail to start tcpdump due to %s", e)
+
+
+def start_adb_tcpdump(ad,
+ test_name="",
+ begin_time=None,
+ interface="any",
+ mask="all"):
+ """Start tcpdump on any iface
+
+ Args:
+ ad: android device object.
+ test_name: tcpdump file name will have this
+
+ """
+ out = ad.adb.shell("ls -l /data/local/tmp/tcpdump/", ignore_status=True)
+ if "No such file" in out or not out:
+ ad.adb.shell("mkdir /data/local/tmp/tcpdump")
+ else:
+ ad.adb.shell(
+ "find /data/local/tmp/tcpdump -type f -not -mtime -1800s -delete",
+ ignore_status=True)
+ ad.adb.shell(
+ "find /data/local/tmp/tcpdump -type f -size +5G -delete",
+ ignore_status=True)
+
+ if not begin_time:
+ begin_time = get_current_epoch_time()
+
+ out = ad.adb.shell(
+ 'ifconfig | grep -v -E "r_|-rmnet" | grep -E "lan|data"',
+ ignore_status=True,
+ timeout=180)
+ intfs = re.findall(r"(\S+).*", out)
+ if interface and interface not in ("any", "all"):
+ if interface not in intfs: return
+ intfs = [interface]
+
+ out = ad.adb.shell("ps -ef | grep tcpdump")
+ cmds = []
+ for intf in intfs:
+ if intf in out:
+ ad.log.info("tcpdump on interface %s is already running", intf)
+ continue
+ else:
+ log_file_name = "/data/local/tmp/tcpdump/tcpdump_%s_%s_%s_%s.pcap" \
+ % (ad.serial, intf, test_name, begin_time)
+ if mask == "ims":
+ cmds.append(
+ "adb -s %s shell tcpdump -i %s -s0 -n -p udp port 500 or "
+ "udp port 4500 -w %s" % (ad.serial, intf, log_file_name))
+ else:
+ cmds.append("adb -s %s shell tcpdump -i %s -s0 -w %s" %
+ (ad.serial, intf, log_file_name))
+ if not gutils.check_chipset_vendor_by_qualcomm(ad):
+ log_file_name = ("/data/local/tmp/tcpdump/tcpdump_%s_any_%s_%s.pcap"
+ % (ad.serial, test_name, begin_time))
+ cmds.append("adb -s %s shell nohup tcpdump -i any -s0 -w %s" %
+ (ad.serial, log_file_name))
+ for cmd in cmds:
+ ad.log.info(cmd)
+ try:
+ start_standing_subprocess(cmd, 10)
+ except Exception as e:
+ ad.log.error(e)
+ if cmds:
+ time.sleep(5)
+
+
+def stop_tcpdumps(ads):
+ for ad in ads:
+ stop_adb_tcpdump(ad)
+
+
+def stop_adb_tcpdump(ad, interface="any"):
+ """Stops tcpdump on any iface
+ Pulls the tcpdump file in the tcpdump dir
+
+ Args:
+ ad: android device object.
+
+ """
+ if interface == "any":
+ try:
+ ad.adb.shell("killall -9 tcpdump", ignore_status=True)
+ except Exception as e:
+ ad.log.error("Killing tcpdump with exception %s", e)
+ else:
+ out = ad.adb.shell("ps -ef | grep tcpdump | grep %s" % interface)
+ if "tcpdump -i" in out:
+ pids = re.findall(r"\S+\s+(\d+).*tcpdump -i", out)
+ for pid in pids:
+ ad.adb.shell("kill -9 %s" % pid)
+ ad.adb.shell(
+ "find /data/local/tmp/tcpdump -type f -not -mtime -1800s -delete",
+ ignore_status=True)
+
+
+def get_tcpdump_log(ad, test_name="", begin_time=None):
+ """Stops tcpdump on any iface
+ Pulls the tcpdump file in the tcpdump dir
+ Zips all tcpdump files
+
+ Args:
+ ad: android device object.
+ test_name: test case name
+ begin_time: test begin time
+ """
+ logs = ad.get_file_names("/data/local/tmp/tcpdump", begin_time=begin_time)
+ if logs:
+ ad.log.info("Pulling tcpdumps %s", logs)
+ log_path = os.path.join(
+ ad.device_log_path, "TCPDUMP_%s_%s" % (ad.model, ad.serial))
+ os.makedirs(log_path, exist_ok=True)
+ ad.pull_files(logs, log_path)
+ shutil.make_archive(log_path, "zip", log_path)
+ shutil.rmtree(log_path)
+ return True
+
+
+def wait_for_log(ad, pattern, begin_time=None, end_time=None, max_wait_time=120):
+ """Wait for logcat logs matching given pattern. This function searches in
+ logcat for strings matching given pattern by using search_logcat per second
+ until max_wait_time reaches.
+
+ Args:
+ ad: android device object
+ pattern: pattern to be searched in grep format
+ begin_time: only the lines in logcat with time stamps later than
+ begin_time will be searched.
+ end_time: only the lines in logcat with time stamps earlier than
+ end_time will be searched.
+ max_wait_time: timeout of this function
+
+ Returns:
+ All matched lines will be returned. If no line matches the given pattern
+ None will be returned.
+ """
+ start_time = datetime.now()
+ while True:
+ ad.log.info(
+ '====== Searching logcat for "%s" ====== ', pattern)
+ res = ad.search_logcat(
+ pattern, begin_time=begin_time, end_time=end_time)
+ if res:
+ return res
+ time.sleep(1)
+ stop_time = datetime.now()
+ passed_time = (stop_time - start_time).total_seconds()
+ if passed_time > max_wait_time:
+ return
\ No newline at end of file
diff --git a/acts_tests/acts_contrib/test_utils/tel/tel_test_utils.py b/acts_tests/acts_contrib/test_utils/tel/tel_test_utils.py
index 76562b7..e5ff25a 100644
--- a/acts_tests/acts_contrib/test_utils/tel/tel_test_utils.py
+++ b/acts_tests/acts_contrib/test_utils/tel/tel_test_utils.py
@@ -14,7 +14,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from datetime import datetime
from future import standard_library
standard_library.install_aliases()
@@ -25,7 +24,6 @@
import urllib.parse
import time
import acts.controllers.iperf_server as ipf
-import shutil
import struct
from acts import signals
@@ -35,7 +33,6 @@
from acts.controllers.adb_lib.error import AdbError
from acts.controllers.android_device import list_adb_devices
from acts.controllers.android_device import list_fastboot_devices
-from acts.controllers.android_device import DEFAULT_QXDM_LOG_PATH
from acts.controllers.android_device import SL4A_APK_NAME
from acts.libs.proc import job
@@ -151,6 +148,10 @@
from acts_contrib.test_utils.tel.tel_defines import OverrideNetworkContainer
from acts_contrib.test_utils.tel.tel_defines import CARRIER_VZW, CARRIER_ATT, \
CARRIER_BELL, CARRIER_ROGERS, CARRIER_KOODO, CARRIER_VIDEOTRON, CARRIER_TELUS
+from acts_contrib.test_utils.tel.tel_logging_utils import disable_qxdm_logger
+from acts_contrib.test_utils.tel.tel_logging_utils import set_qxdm_logger_command
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_logger
+from acts_contrib.test_utils.tel.tel_logging_utils import start_adb_tcpdump
from acts_contrib.test_utils.tel.tel_lookup_tables import connection_type_from_type_string
from acts_contrib.test_utils.tel.tel_lookup_tables import is_valid_rat
from acts_contrib.test_utils.tel.tel_lookup_tables import get_allowable_network_preference
@@ -175,16 +176,12 @@
from acts_contrib.test_utils.tel.tel_5g_utils import is_current_network_5g_for_subscription
from acts_contrib.test_utils.tel.tel_5g_utils import is_current_network_5g
from acts_contrib.test_utils.wifi import wifi_test_utils
-from acts_contrib.test_utils.gnss import gnss_test_utils as gutils
from acts.utils import adb_shell_ping
from acts.utils import load_config
-from acts.utils import start_standing_subprocess
from acts.logger import epoch_to_log_line_timestamp
from acts.utils import get_current_epoch_time
from acts.utils import exe_cmd
from acts.libs.utils.multithread import multithread_func
-from acts.libs.utils.multithread import run_multithread_func
-
WIFI_SSID_KEY = wifi_test_utils.WifiEnums.SSID_KEY
WIFI_PWD_KEY = wifi_test_utils.WifiEnums.PWD_KEY
@@ -7628,357 +7625,6 @@
return None
-def find_qxdm_log_mask(ad, mask="default.cfg"):
- """Find QXDM logger mask."""
- if "/" not in mask:
- # Call nexuslogger to generate log mask
- start_nexuslogger(ad)
- # Find the log mask path
- for path in (DEFAULT_QXDM_LOG_PATH, "/data/diag_logs",
- "/vendor/etc/mdlog/", "/vendor/etc/modem/"):
- out = ad.adb.shell(
- "find %s -type f -iname %s" % (path, mask), ignore_status=True)
- if out and "No such" not in out and "Permission denied" not in out:
- if path.startswith("/vendor/"):
- setattr(ad, "qxdm_log_path", DEFAULT_QXDM_LOG_PATH)
- else:
- setattr(ad, "qxdm_log_path", path)
- return out.split("\n")[0]
- for mask_file in ("/vendor/etc/mdlog/", "/vendor/etc/modem/"):
- if mask in ad.adb.shell("ls %s" % mask_file, ignore_status=True):
- setattr(ad, "qxdm_log_path", DEFAULT_QXDM_LOG_PATH)
- return "%s/%s" % (mask_file, mask)
- else:
- out = ad.adb.shell("ls %s" % mask, ignore_status=True)
- if out and "No such" not in out:
- qxdm_log_path, cfg_name = os.path.split(mask)
- setattr(ad, "qxdm_log_path", qxdm_log_path)
- return mask
- ad.log.warning("Could NOT find QXDM logger mask path for %s", mask)
-
-
-def set_qxdm_logger_command(ad, mask=None):
- """Set QXDM logger always on.
-
- Args:
- ad: android device object.
-
- """
- ## Neet to check if log mask will be generated without starting nexus logger
- masks = []
- mask_path = None
- if mask:
- masks = [mask]
- masks.extend(["QC_Default.cfg", "default.cfg"])
- for mask in masks:
- mask_path = find_qxdm_log_mask(ad, mask)
- if mask_path: break
- if not mask_path:
- ad.log.error("Cannot find QXDM mask %s", mask)
- ad.qxdm_logger_command = None
- return False
- else:
- ad.log.info("Use QXDM log mask %s", mask_path)
- ad.log.debug("qxdm_log_path = %s", ad.qxdm_log_path)
- output_path = os.path.join(ad.qxdm_log_path, "logs")
- ad.qxdm_logger_command = ("diag_mdlog -f %s -o %s -s 90 -c" %
- (mask_path, output_path))
- return True
-
-
-def stop_qxdm_logger(ad):
- """Stop QXDM logger."""
- for cmd in ("diag_mdlog -k", "killall diag_mdlog"):
- output = ad.adb.shell("ps -ef | grep mdlog") or ""
- if "diag_mdlog" not in output:
- break
- ad.log.debug("Kill the existing qxdm process")
- ad.adb.shell(cmd, ignore_status=True)
- time.sleep(5)
-
-
-def start_qxdm_logger(ad, begin_time=None):
- """Start QXDM logger."""
- if not getattr(ad, "qxdm_log", True): return
- # Delete existing QXDM logs 5 minutes earlier than the begin_time
- current_time = get_current_epoch_time()
- if getattr(ad, "qxdm_log_path", None):
- seconds = None
- file_count = ad.adb.shell(
- "find %s -type f -iname *.qmdl | wc -l" % ad.qxdm_log_path)
- if int(file_count) > 3:
- if begin_time:
- # if begin_time specified, delete old qxdm logs modified
- # 10 minutes before begin time
- seconds = int((current_time - begin_time) / 1000.0) + 10 * 60
- else:
- # if begin_time is not specified, delete old qxdm logs modified
- # 15 minutes before current time
- seconds = 15 * 60
- if seconds:
- # Remove qxdm logs modified more than specified seconds ago
- ad.adb.shell(
- "find %s -type f -iname *.qmdl -not -mtime -%ss -delete" %
- (ad.qxdm_log_path, seconds))
- ad.adb.shell(
- "find %s -type f -iname *.xml -not -mtime -%ss -delete" %
- (ad.qxdm_log_path, seconds))
- if getattr(ad, "qxdm_logger_command", None):
- output = ad.adb.shell("ps -ef | grep mdlog") or ""
- if ad.qxdm_logger_command not in output:
- ad.log.debug("QXDM logging command %s is not running",
- ad.qxdm_logger_command)
- if "diag_mdlog" in output:
- # Kill the existing non-matching diag_mdlog process
- # Only one diag_mdlog process can be run
- stop_qxdm_logger(ad)
- ad.log.info("Start QXDM logger")
- ad.adb.shell_nb(ad.qxdm_logger_command)
- time.sleep(10)
- else:
- run_time = check_qxdm_logger_run_time(ad)
- if run_time < 600:
- # the last diag_mdlog started within 10 minutes ago
- # no need to restart
- return True
- if ad.search_logcat(
- "Diag_Lib: diag: In delete_log",
- begin_time=current_time -
- run_time) or not ad.get_file_names(
- ad.qxdm_log_path,
- begin_time=current_time - 600000,
- match_string="*.qmdl"):
- # diag_mdlog starts deleting files or no qmdl logs were
- # modified in the past 10 minutes
- ad.log.debug("Quit existing diag_mdlog and start a new one")
- stop_qxdm_logger(ad)
- ad.adb.shell_nb(ad.qxdm_logger_command)
- time.sleep(10)
- return True
-
-
-def disable_qxdm_logger(ad):
- for prop in ("persist.sys.modem.diag.mdlog",
- "persist.vendor.sys.modem.diag.mdlog",
- "vendor.sys.modem.diag.mdlog_on"):
- if ad.adb.getprop(prop):
- ad.adb.shell("setprop %s false" % prop, ignore_status=True)
- for apk in ("com.android.nexuslogger", "com.android.pixellogger"):
- if ad.is_apk_installed(apk) and ad.is_apk_running(apk):
- ad.force_stop_apk(apk)
- stop_qxdm_logger(ad)
- return True
-
-
-def check_qxdm_logger_run_time(ad):
- output = ad.adb.shell("ps -eo etime,cmd | grep diag_mdlog")
- result = re.search(r"(\d+):(\d+):(\d+) diag_mdlog", output)
- if result:
- return int(result.group(1)) * 60 * 60 + int(
- result.group(2)) * 60 + int(result.group(3))
- else:
- result = re.search(r"(\d+):(\d+) diag_mdlog", output)
- if result:
- return int(result.group(1)) * 60 + int(result.group(2))
- else:
- return 0
-
-
-def start_qxdm_loggers(log, ads, begin_time=None):
- tasks = [(start_qxdm_logger, [ad, begin_time]) for ad in ads
- if getattr(ad, "qxdm_log", True)]
- if tasks: run_multithread_func(log, tasks)
-
-
-def stop_qxdm_loggers(log, ads):
- tasks = [(stop_qxdm_logger, [ad]) for ad in ads]
- run_multithread_func(log, tasks)
-
-
-def start_nexuslogger(ad):
- """Start Nexus/Pixel Logger Apk."""
- qxdm_logger_apk = None
- for apk, activity in (("com.android.nexuslogger", ".MainActivity"),
- ("com.android.pixellogger",
- ".ui.main.MainActivity")):
- if ad.is_apk_installed(apk):
- qxdm_logger_apk = apk
- break
- if not qxdm_logger_apk: return
- if ad.is_apk_running(qxdm_logger_apk):
- if "granted=true" in ad.adb.shell(
- "dumpsys package %s | grep WRITE_EXTERN" % qxdm_logger_apk):
- return True
- else:
- ad.log.info("Kill %s" % qxdm_logger_apk)
- ad.force_stop_apk(qxdm_logger_apk)
- time.sleep(5)
- for perm in ("READ", "WRITE"):
- ad.adb.shell("pm grant %s android.permission.%s_EXTERNAL_STORAGE" %
- (qxdm_logger_apk, perm))
- time.sleep(2)
- for i in range(3):
- ad.unlock_screen()
- ad.log.info("Start %s Attempt %d" % (qxdm_logger_apk, i + 1))
- ad.adb.shell("am start -n %s/%s" % (qxdm_logger_apk, activity))
- time.sleep(5)
- if ad.is_apk_running(qxdm_logger_apk):
- ad.send_keycode("HOME")
- return True
- return False
-
-
-def check_qxdm_logger_mask(ad, mask_file="QC_Default.cfg"):
- """Check if QXDM logger always on is set.
-
- Args:
- ad: android device object.
-
- """
- output = ad.adb.shell(
- "ls /data/vendor/radio/diag_logs/", ignore_status=True)
- if not output or "No such" in output:
- return True
- if mask_file not in ad.adb.shell(
- "cat /data/vendor/radio/diag_logs/diag.conf", ignore_status=True):
- return False
- return True
-
-
-def start_tcpdumps(ads,
- test_name="",
- begin_time=None,
- interface="any",
- mask="all"):
- for ad in ads:
- try:
- start_adb_tcpdump(
- ad,
- test_name=test_name,
- begin_time=begin_time,
- interface=interface,
- mask=mask)
- except Exception as e:
- ad.log.warning("Fail to start tcpdump due to %s", e)
-
-
-def start_adb_tcpdump(ad,
- test_name="",
- begin_time=None,
- interface="any",
- mask="all"):
- """Start tcpdump on any iface
-
- Args:
- ad: android device object.
- test_name: tcpdump file name will have this
-
- """
- out = ad.adb.shell("ls -l /data/local/tmp/tcpdump/", ignore_status=True)
- if "No such file" in out or not out:
- ad.adb.shell("mkdir /data/local/tmp/tcpdump")
- else:
- ad.adb.shell(
- "find /data/local/tmp/tcpdump -type f -not -mtime -1800s -delete",
- ignore_status=True)
- ad.adb.shell(
- "find /data/local/tmp/tcpdump -type f -size +5G -delete",
- ignore_status=True)
-
- if not begin_time:
- begin_time = get_current_epoch_time()
-
- out = ad.adb.shell(
- 'ifconfig | grep -v -E "r_|-rmnet" | grep -E "lan|data"',
- ignore_status=True,
- timeout=180)
- intfs = re.findall(r"(\S+).*", out)
- if interface and interface not in ("any", "all"):
- if interface not in intfs: return
- intfs = [interface]
-
- out = ad.adb.shell("ps -ef | grep tcpdump")
- cmds = []
- for intf in intfs:
- if intf in out:
- ad.log.info("tcpdump on interface %s is already running", intf)
- continue
- else:
- log_file_name = "/data/local/tmp/tcpdump/tcpdump_%s_%s_%s_%s.pcap" \
- % (ad.serial, intf, test_name, begin_time)
- if mask == "ims":
- cmds.append(
- "adb -s %s shell tcpdump -i %s -s0 -n -p udp port 500 or "
- "udp port 4500 -w %s" % (ad.serial, intf, log_file_name))
- else:
- cmds.append("adb -s %s shell tcpdump -i %s -s0 -w %s" %
- (ad.serial, intf, log_file_name))
- if not gutils.check_chipset_vendor_by_qualcomm(ad):
- log_file_name = ("/data/local/tmp/tcpdump/tcpdump_%s_any_%s_%s.pcap"
- % (ad.serial, test_name, begin_time))
- cmds.append("adb -s %s shell nohup tcpdump -i any -s0 -w %s" %
- (ad.serial, log_file_name))
- for cmd in cmds:
- ad.log.info(cmd)
- try:
- start_standing_subprocess(cmd, 10)
- except Exception as e:
- ad.log.error(e)
- if cmds:
- time.sleep(5)
-
-
-def stop_tcpdumps(ads):
- for ad in ads:
- stop_adb_tcpdump(ad)
-
-
-def stop_adb_tcpdump(ad, interface="any"):
- """Stops tcpdump on any iface
- Pulls the tcpdump file in the tcpdump dir
-
- Args:
- ad: android device object.
-
- """
- if interface == "any":
- try:
- ad.adb.shell("killall -9 tcpdump", ignore_status=True)
- except Exception as e:
- ad.log.error("Killing tcpdump with exception %s", e)
- else:
- out = ad.adb.shell("ps -ef | grep tcpdump | grep %s" % interface)
- if "tcpdump -i" in out:
- pids = re.findall(r"\S+\s+(\d+).*tcpdump -i", out)
- for pid in pids:
- ad.adb.shell("kill -9 %s" % pid)
- ad.adb.shell(
- "find /data/local/tmp/tcpdump -type f -not -mtime -1800s -delete",
- ignore_status=True)
-
-
-def get_tcpdump_log(ad, test_name="", begin_time=None):
- """Stops tcpdump on any iface
- Pulls the tcpdump file in the tcpdump dir
- Zips all tcpdump files
-
- Args:
- ad: android device object.
- test_name: test case name
- begin_time: test begin time
- """
- logs = ad.get_file_names("/data/local/tmp/tcpdump", begin_time=begin_time)
- if logs:
- ad.log.info("Pulling tcpdumps %s", logs)
- log_path = os.path.join(
- ad.device_log_path, "TCPDUMP_%s_%s" % (ad.model, ad.serial))
- os.makedirs(log_path, exist_ok=True)
- ad.pull_files(logs, log_path)
- shutil.make_archive(log_path, "zip", log_path)
- shutil.rmtree(log_path)
- return True
-
-
def fastboot_wipe(ad, skip_setup_wizard=True):
"""Wipe the device in fastboot mode.
@@ -10005,39 +9651,6 @@
return voice_call_type
-def wait_for_log(ad, pattern, begin_time=None, end_time=None, max_wait_time=120):
- """Wait for logcat logs matching given pattern. This function searches in
- logcat for strings matching given pattern by using search_logcat per second
- until max_wait_time reaches.
-
- Args:
- ad: android device object
- pattern: pattern to be searched in grep format
- begin_time: only the lines in logcat with time stamps later than
- begin_time will be searched.
- end_time: only the lines in logcat with time stamps earlier than
- end_time will be searched.
- max_wait_time: timeout of this function
-
- Returns:
- All matched lines will be returned. If no line matches the given pattern
- None will be returned.
- """
- start_time = datetime.now()
- while True:
- ad.log.info(
- '====== Searching logcat for "%s" ====== ', pattern)
- res = ad.search_logcat(
- pattern, begin_time=begin_time, end_time=end_time)
- if res:
- return res
- time.sleep(1)
- stop_time = datetime.now()
- passed_time = (stop_time - start_time).total_seconds()
- if passed_time > max_wait_time:
- return
-
-
def cycle_airplane_mode(ad):
"""Turn on APM and then off."""
# APM toggle
diff --git a/acts_tests/tests/google/gnss/FlpTtffTest.py b/acts_tests/tests/google/gnss/FlpTtffTest.py
index 59b19b5..0a30fe8 100644
--- a/acts_tests/tests/google/gnss/FlpTtffTest.py
+++ b/acts_tests/tests/google/gnss/FlpTtffTest.py
@@ -14,20 +14,20 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from acts import utils
from acts import asserts
from acts import signals
from acts.base_test import BaseTestClass
from acts.test_decorators import test_tracker_info
from acts.utils import get_current_epoch_time
from acts_contrib.test_utils.wifi.wifi_test_utils import wifi_toggle_state
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_logger
-from acts_contrib.test_utils.tel.tel_test_utils import stop_qxdm_logger
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_logger
+from acts_contrib.test_utils.tel.tel_logging_utils import stop_qxdm_logger
+from acts_contrib.test_utils.tel.tel_logging_utils import start_adb_tcpdump
+from acts_contrib.test_utils.tel.tel_logging_utils import stop_adb_tcpdump
+from acts_contrib.test_utils.tel.tel_logging_utils import get_tcpdump_log
from acts_contrib.test_utils.tel.tel_test_utils import verify_internet_connection
-from acts_contrib.test_utils.tel.tel_test_utils import abort_all_tests
from acts_contrib.test_utils.gnss.gnss_test_utils import get_baseband_and_gms_version
from acts_contrib.test_utils.gnss.gnss_test_utils import _init_device
-from acts_contrib.test_utils.gnss.gnss_test_utils import check_location_service
from acts_contrib.test_utils.gnss.gnss_test_utils import clear_logd_gnss_qxdm_log
from acts_contrib.test_utils.gnss.gnss_test_utils import set_mobile_data
from acts_contrib.test_utils.gnss.gnss_test_utils import get_gnss_qxdm_log
@@ -40,9 +40,6 @@
from acts_contrib.test_utils.gnss.gnss_test_utils import connect_to_wifi_network
from acts_contrib.test_utils.gnss.gnss_test_utils import gnss_tracking_via_gtw_gpstool
from acts_contrib.test_utils.gnss.gnss_test_utils import parse_gtw_gpstool_log
-from acts_contrib.test_utils.tel.tel_test_utils import start_adb_tcpdump
-from acts_contrib.test_utils.tel.tel_test_utils import stop_adb_tcpdump
-from acts_contrib.test_utils.tel.tel_test_utils import get_tcpdump_log
class FlpTtffTest(BaseTestClass):
diff --git a/acts_tests/tests/google/gnss/GnssConcurrencyTest.py b/acts_tests/tests/google/gnss/GnssConcurrencyTest.py
index 0eb714d..c03ea08 100644
--- a/acts_tests/tests/google/gnss/GnssConcurrencyTest.py
+++ b/acts_tests/tests/google/gnss/GnssConcurrencyTest.py
@@ -17,13 +17,12 @@
import time
import datetime
from acts import utils
-from acts import asserts
from acts import signals
from acts.base_test import BaseTestClass
-from acts.test_decorators import test_tracker_info
+from acts_contrib.test_utils.tel.tel_logging_utils import start_adb_tcpdump
+from acts_contrib.test_utils.tel.tel_logging_utils import stop_adb_tcpdump
+from acts_contrib.test_utils.tel.tel_logging_utils import get_tcpdump_log
from acts_contrib.test_utils.gnss import gnss_test_utils as gutils
-from acts_contrib.test_utils.wifi import wifi_test_utils as wutils
-from acts_contrib.test_utils.tel import tel_test_utils as tutils
CONCURRENCY_TYPE = {
"gnss": "GNSS location received",
@@ -47,7 +46,7 @@
def setup_test(self):
gutils.start_pixel_logger(self.ad)
- tutils.start_adb_tcpdump(self.ad)
+ start_adb_tcpdump(self.ad)
# related properties
gutils.check_location_service(self.ad)
gutils.get_baseband_and_gms_version(self.ad)
@@ -55,12 +54,12 @@
def teardown_test(self):
gutils.stop_pixel_logger(self.ad)
- tutils.stop_adb_tcpdump(self.ad)
+ stop_adb_tcpdump(self.ad)
def on_fail(self, test_name, begin_time):
self.ad.take_bug_report(test_name, begin_time)
gutils.get_gnss_qxdm_log(self.ad, self.qdsp6m_path)
- tutils.get_tcpdump_log(self.ad, test_name, begin_time)
+ get_tcpdump_log(self.ad, test_name, begin_time)
def load_chre_nanoapp(self):
""" Load CHRE nanoapp to target Android Device. """
diff --git a/acts_tests/tests/google/gnss/LocationPlatinumTest.py b/acts_tests/tests/google/gnss/LocationPlatinumTest.py
index 110748f..ec80d87 100644
--- a/acts_tests/tests/google/gnss/LocationPlatinumTest.py
+++ b/acts_tests/tests/google/gnss/LocationPlatinumTest.py
@@ -22,7 +22,11 @@
from acts.base_test import BaseTestClass
from acts_contrib.test_utils.gnss import gnss_test_utils as gutils
from acts_contrib.test_utils.wifi import wifi_test_utils as wutils
-from acts_contrib.test_utils.tel import tel_test_utils as tutils
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_logger
+from acts_contrib.test_utils.tel.tel_logging_utils import stop_qxdm_logger
+from acts_contrib.test_utils.tel.tel_logging_utils import start_adb_tcpdump
+from acts_contrib.test_utils.tel.tel_logging_utils import stop_adb_tcpdump
+from acts_contrib.test_utils.tel.tel_logging_utils import get_tcpdump_log
BACKGROUND_LOCATION_PERMISSION = 'android.permission.ACCESS_BACKGROUND_LOCATION'
APP_CLEAN_UP_TIME = 60
@@ -61,8 +65,8 @@
gutils._init_device(self.ad)
self.begin_time = utils.get_current_epoch_time()
gutils.clear_logd_gnss_qxdm_log(self.ad)
- tutils.start_qxdm_logger(self.ad, self.begin_time)
- tutils.start_adb_tcpdump(self.ad)
+ start_qxdm_logger(self.ad, self.begin_time)
+ start_adb_tcpdump(self.ad)
def setup_test(self):
"""Prepare device with mobile data, wifi and gps ready for test """
@@ -78,10 +82,10 @@
BACKGROUND_LOCATION_PERMISSION)
def teardown_class(self):
- tutils.stop_qxdm_logger(self.ad)
+ stop_qxdm_logger(self.ad)
gutils.get_gnss_qxdm_log(self.ad, self.qdsp6m_path)
- tutils.stop_adb_tcpdump(self.ad)
- tutils.get_tcpdump_log(self.ad, 'location_platinum', self.begin_time)
+ stop_adb_tcpdump(self.ad)
+ get_tcpdump_log(self.ad, 'location_platinum', self.begin_time)
self.ad.take_bug_report('location_platinum', self.begin_time)
def get_and_verify_ttff(self, mode):
diff --git a/acts_tests/tests/google/tel/lab/TelLabCmasTest.py b/acts_tests/tests/google/tel/lab/TelLabCmasTest.py
index 4292c87..08068aa 100644
--- a/acts_tests/tests/google/tel/lab/TelLabCmasTest.py
+++ b/acts_tests/tests/google/tel/lab/TelLabCmasTest.py
@@ -57,10 +57,10 @@
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_GSM
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_LTE
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_UMTS
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_test_utils import ensure_network_rat
from acts_contrib.test_utils.tel.tel_test_utils import ensure_phones_idle
from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
from acts.test_decorators import test_tracker_info
diff --git a/acts_tests/tests/google/tel/lab/TelLabDataRoamingTest.py b/acts_tests/tests/google/tel/lab/TelLabDataRoamingTest.py
index af4ca6c..16f504f 100644
--- a/acts_tests/tests/google/tel/lab/TelLabDataRoamingTest.py
+++ b/acts_tests/tests/google/tel/lab/TelLabDataRoamingTest.py
@@ -29,12 +29,12 @@
from acts_contrib.test_utils.tel.anritsu_utils import set_post_sim_params
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_LTE_GSM_WCDMA
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_LTE
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_test_utils import ensure_network_rat
from acts_contrib.test_utils.tel.tel_test_utils import ensure_phones_idle
from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode
from acts_contrib.test_utils.tel.tel_test_utils import toggle_cell_data_roaming
from acts_contrib.test_utils.tel.tel_test_utils import set_preferred_apn_by_adb
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
from acts.utils import adb_shell_ping
PING_DURATION = 5 # Number of packets to ping
diff --git a/acts_tests/tests/google/tel/lab/TelLabDataTest.py b/acts_tests/tests/google/tel/lab/TelLabDataTest.py
index 9a1355d..9dfca84 100644
--- a/acts_tests/tests/google/tel/lab/TelLabDataTest.py
+++ b/acts_tests/tests/google/tel/lab/TelLabDataTest.py
@@ -18,7 +18,6 @@
"""
import time
-import json
import logging
import os
@@ -26,23 +25,13 @@
from acts.controllers.anritsu_lib._anritsu_utils import AnritsuError
from acts.controllers.anritsu_lib.md8475a import MD8475A
from acts.controllers.anritsu_lib.md8475a import BtsBandwidth
-from acts.controllers.anritsu_lib.md8475a import VirtualPhoneStatus
from acts_contrib.test_utils.tel.anritsu_utils import cb_serial_number
-from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_1x
-from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_gsm
from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_lte
-from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_lte_wcdma
-from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_wcdma
-from acts_contrib.test_utils.tel.anritsu_utils import sms_mo_send
-from acts_contrib.test_utils.tel.anritsu_utils import sms_mt_receive_verify
from acts_contrib.test_utils.tel.anritsu_utils import set_usim_parameters
from acts_contrib.test_utils.tel.anritsu_utils import set_post_sim_params
-from acts_contrib.test_utils.tel.tel_defines import DIRECTION_MOBILE_ORIGINATED
-from acts_contrib.test_utils.tel.tel_defines import DIRECTION_MOBILE_TERMINATED
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_CDMA
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_GSM_ONLY
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_GSM_UMTS
-from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_LTE_GSM_WCDMA
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_LTE_CDMA_EVDO
from acts_contrib.test_utils.tel.tel_defines import RAT_1XRTT
from acts_contrib.test_utils.tel.tel_defines import RAT_GSM
@@ -52,33 +41,24 @@
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_GSM
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_LTE
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_UMTS
-from acts_contrib.test_utils.tel.tel_defines import NETWORK_SERVICE_DATA
-from acts_contrib.test_utils.tel.tel_defines import GEN_4G
from acts_contrib.test_utils.tel.tel_defines import POWER_LEVEL_OUT_OF_SERVICE
from acts_contrib.test_utils.tel.tel_defines import POWER_LEVEL_FULL_SERVICE
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_test_utils import ensure_network_rat
from acts_contrib.test_utils.tel.tel_test_utils import ensure_phones_idle
-from acts_contrib.test_utils.tel.tel_test_utils import ensure_network_generation
from acts_contrib.test_utils.tel.tel_test_utils import get_host_ip_address
from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode
from acts_contrib.test_utils.tel.tel_test_utils import iperf_test_by_adb
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
-from acts_contrib.test_utils.tel.tel_test_utils import verify_http_connection
from acts_contrib.test_utils.tel.tel_test_utils import check_data_stall_detection
from acts_contrib.test_utils.tel.tel_test_utils import check_network_validation_fail
from acts_contrib.test_utils.tel.tel_test_utils import check_data_stall_recovery
from acts_contrib.test_utils.tel.tel_test_utils import get_device_epoch_time
from acts_contrib.test_utils.tel.tel_test_utils import break_internet_except_sl4a_port
from acts_contrib.test_utils.tel.tel_test_utils import resume_internet_with_sl4a_port
-from acts_contrib.test_utils.tel.tel_test_utils import \
- test_data_browsing_success_using_sl4a
-from acts_contrib.test_utils.tel.tel_test_utils import \
- test_data_browsing_failure_using_sl4a
+from acts_contrib.test_utils.tel.tel_test_utils import test_data_browsing_success_using_sl4a
+from acts_contrib.test_utils.tel.tel_test_utils import test_data_browsing_failure_using_sl4a
from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
from acts.utils import adb_shell_ping
-from acts.utils import rand_ascii_str
-from acts.controllers import iperf_server
-from acts.utils import exe_cmd
DEFAULT_PING_DURATION = 30
diff --git a/acts_tests/tests/google/tel/lab/TelLabEmergencyCallTest.py b/acts_tests/tests/google/tel/lab/TelLabEmergencyCallTest.py
index d83faa3..ad55e58 100644
--- a/acts_tests/tests/google/tel/lab/TelLabEmergencyCallTest.py
+++ b/acts_tests/tests/google/tel/lab/TelLabEmergencyCallTest.py
@@ -22,7 +22,6 @@
from acts.controllers.anritsu_lib.md8475a import CsfbType
from acts.controllers.anritsu_lib.md8475a import MD8475A
from acts.controllers.anritsu_lib.md8475a import VirtualPhoneAutoAnswer
-from acts.controllers.anritsu_lib.md8475a import VirtualPhoneStatus
from acts_contrib.test_utils.tel.anritsu_utils import WAIT_TIME_ANRITSU_REG_AND_CALL
from acts_contrib.test_utils.tel.anritsu_utils import call_mo_setup_teardown
from acts_contrib.test_utils.tel.anritsu_utils import ims_call_cs_teardown
@@ -53,15 +52,14 @@
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_LTE_GSM_WCDMA
from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_IN_CALL
from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_IN_CALL_FOR_IMS
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_test_utils import ensure_network_rat
from acts_contrib.test_utils.tel.tel_test_utils import ensure_phone_default_state
-from acts_contrib.test_utils.tel.tel_test_utils import ensure_phones_idle
from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode_by_adb
from acts_contrib.test_utils.tel.tel_test_utils import toggle_volte
from acts_contrib.test_utils.tel.tel_test_utils import check_apm_mode_on_by_serial
from acts_contrib.test_utils.tel.tel_test_utils import set_apm_mode_on_by_serial
from acts_contrib.test_utils.tel.tel_test_utils import set_preferred_apn_by_adb
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_voice_utils import phone_idle_volte
from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
from acts.test_decorators import test_tracker_info
diff --git a/acts_tests/tests/google/tel/lab/TelLabEtwsTest.py b/acts_tests/tests/google/tel/lab/TelLabEtwsTest.py
index 3683173..53372e5 100644
--- a/acts_tests/tests/google/tel/lab/TelLabEtwsTest.py
+++ b/acts_tests/tests/google/tel/lab/TelLabEtwsTest.py
@@ -43,10 +43,10 @@
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_GSM
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_LTE
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_UMTS
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_test_utils import ensure_network_rat
from acts_contrib.test_utils.tel.tel_test_utils import ensure_phones_idle
from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
from acts.test_decorators import test_tracker_info
diff --git a/acts_tests/tests/google/tel/lab/TelLabMobilityTest.py b/acts_tests/tests/google/tel/lab/TelLabMobilityTest.py
index 39ea234..345f92c 100644
--- a/acts_tests/tests/google/tel/lab/TelLabMobilityTest.py
+++ b/acts_tests/tests/google/tel/lab/TelLabMobilityTest.py
@@ -28,9 +28,6 @@
from acts_contrib.test_utils.tel.anritsu_utils import tear_down_call
from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_lte_lte
from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_lte_wcdma
-from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_lte_gsm
-from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_lte_1x
-from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_lte_evdo
from acts_contrib.test_utils.tel.anritsu_utils import set_usim_parameters
from acts_contrib.test_utils.tel.anritsu_utils import set_post_sim_params
from acts_contrib.test_utils.tel.tel_defines import CALL_TEARDOWN_PHONE
@@ -38,7 +35,6 @@
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_GSM
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_LTE
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_UMTS
-from acts_contrib.test_utils.tel.tel_defines import RAT_1XRTT
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_CDMA
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_GSM_ONLY
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_GSM_UMTS
@@ -46,21 +42,16 @@
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_LTE_GSM_WCDMA
from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_IN_CALL
-from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_IN_CALL_FOR_IMS
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_test_utils import ensure_network_rat
-from acts_contrib.test_utils.tel.tel_test_utils import ensure_phones_idle
from acts_contrib.test_utils.tel.tel_test_utils import get_host_ip_address
from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode_by_adb
from acts_contrib.test_utils.tel.tel_test_utils import toggle_volte
from acts_contrib.test_utils.tel.tel_test_utils import iperf_test_by_adb
from acts_contrib.test_utils.tel.tel_test_utils import set_preferred_apn_by_adb
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_voice_utils import phone_idle_volte
from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
from acts.utils import adb_shell_ping
-from acts.utils import rand_ascii_str
-from acts.controllers import iperf_server
-from acts.utils import exe_cmd
from acts.libs.utils.multithread import run_multithread_func
DEFAULT_CALL_NUMBER = "+11234567891"
diff --git a/acts_tests/tests/google/tel/lab/TelLabProjectFiTest.py b/acts_tests/tests/google/tel/lab/TelLabProjectFiTest.py
index 66a7a2f..e789b7f 100644
--- a/acts_tests/tests/google/tel/lab/TelLabProjectFiTest.py
+++ b/acts_tests/tests/google/tel/lab/TelLabProjectFiTest.py
@@ -19,18 +19,15 @@
import time
from acts.libs.utils.multithread import multithread_func
from acts.controllers.anritsu_lib._anritsu_utils import AnritsuError
-from acts.controllers.anritsu_lib.md8475a import CBCHSetup
-from acts.controllers.anritsu_lib.md8475a import CTCHSetup
from acts.controllers.anritsu_lib.md8475a import MD8475A
from acts_contrib.test_utils.tel.anritsu_utils import cb_serial_number
from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_lte
from acts_contrib.test_utils.tel.anritsu_utils import set_usim_parameters
from acts_contrib.test_utils.tel.anritsu_utils import set_post_sim_params
-from acts_contrib.test_utils.tel.tel_test_utils import \
- ensure_preferred_network_type_for_subscription
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
+from acts_contrib.test_utils.tel.tel_test_utils import ensure_preferred_network_type_for_subscription
from acts_contrib.test_utils.tel.tel_test_utils import ensure_phones_idle
from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_LTE_GSM_WCDMA
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_LTE
diff --git a/acts_tests/tests/google/tel/lab/TelLabVoiceTest.py b/acts_tests/tests/google/tel/lab/TelLabVoiceTest.py
index f2417dd..704c48e 100644
--- a/acts_tests/tests/google/tel/lab/TelLabVoiceTest.py
+++ b/acts_tests/tests/google/tel/lab/TelLabVoiceTest.py
@@ -23,11 +23,9 @@
from acts.controllers.anritsu_lib.md8475a import CsfbType
from acts.controllers.anritsu_lib.md8475a import MD8475A
from acts.controllers.anritsu_lib.md8475a import VirtualPhoneAutoAnswer
-from acts.controllers.anritsu_lib.md8475a import VirtualPhoneStatus
from acts_contrib.test_utils.tel.anritsu_utils import WAIT_TIME_ANRITSU_REG_AND_CALL
from acts_contrib.test_utils.tel.anritsu_utils import call_mo_setup_teardown
from acts_contrib.test_utils.tel.anritsu_utils import ims_call_cs_teardown
-from acts_contrib.test_utils.tel.anritsu_utils import call_mt_setup_teardown
from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_1x
from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_1x_evdo
from acts_contrib.test_utils.tel.anritsu_utils import set_system_model_gsm
@@ -43,7 +41,6 @@
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_GSM
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_LTE
from acts_contrib.test_utils.tel.tel_defines import RAT_FAMILY_UMTS
-from acts_contrib.test_utils.tel.tel_defines import RAT_1XRTT
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_CDMA
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_GSM_ONLY
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_GSM_UMTS
@@ -52,12 +49,11 @@
from acts_contrib.test_utils.tel.tel_defines import NETWORK_MODE_LTE_GSM_WCDMA
from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_IN_CALL
from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_IN_CALL_FOR_IMS
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_test_utils import ensure_network_rat
-from acts_contrib.test_utils.tel.tel_test_utils import ensure_phones_idle
from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode_by_adb
from acts_contrib.test_utils.tel.tel_test_utils import toggle_volte
from acts_contrib.test_utils.tel.tel_test_utils import set_preferred_apn_by_adb
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_voice_utils import phone_idle_volte
from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
diff --git a/acts_tests/tests/google/tel/live/TelLiveCBRSTest.py b/acts_tests/tests/google/tel/live/TelLiveCBRSTest.py
index 7b63288..3b2104d 100644
--- a/acts_tests/tests/google/tel/live/TelLiveCBRSTest.py
+++ b/acts_tests/tests/google/tel/live/TelLiveCBRSTest.py
@@ -30,6 +30,8 @@
from acts_contrib.test_utils.tel.tel_defines import EventActiveDataSubIdChanged
from acts_contrib.test_utils.tel.tel_defines import NetworkCallbackAvailable
from acts_contrib.test_utils.tel.tel_defines import EventNetworkCallback
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_logger
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_test_utils import get_phone_number
from acts_contrib.test_utils.tel.tel_test_utils import hangup_call
from acts_contrib.test_utils.tel.tel_test_utils import hangup_call_by_adb
@@ -37,7 +39,6 @@
from acts_contrib.test_utils.tel.tel_test_utils import is_phone_not_in_call
from acts_contrib.test_utils.tel.tel_test_utils import wait_and_answer_call
from acts_contrib.test_utils.tel.tel_test_utils import is_phone_in_call
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_test_utils import load_scone_cat_simulate_data
from acts_contrib.test_utils.tel.tel_test_utils import test_data_browsing_success_using_sl4a
from acts_contrib.test_utils.tel.tel_test_utils import test_data_browsing_failure_using_sl4a
@@ -46,7 +47,6 @@
from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode
from acts_contrib.test_utils.tel.tel_test_utils import STORY_LINE
from acts_contrib.test_utils.tel.tel_test_utils import get_device_epoch_time
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_logger
from acts_contrib.test_utils.tel.tel_test_utils import wifi_toggle_state
from acts_contrib.test_utils.tel.tel_voice_utils import is_phone_in_call_3g
from acts_contrib.test_utils.tel.tel_voice_utils import is_phone_in_call_2g
@@ -64,8 +64,6 @@
from acts_contrib.test_utils.tel.tel_voice_utils import phone_idle_iwlan
from acts_contrib.test_utils.tel.tel_voice_utils import phone_idle_not_iwlan
from acts_contrib.test_utils.tel.tel_voice_utils import phone_idle_volte
-from acts_contrib.test_utils.tel.tel_subscription_utils import get_subid_from_slot_index
-from acts_contrib.test_utils.tel.tel_subscription_utils import get_operatorname_from_slot_index
from acts_contrib.test_utils.tel.tel_subscription_utils import get_cbrs_and_default_sub_id
from acts.utils import get_current_epoch_time
from queue import Empty
diff --git a/acts_tests/tests/google/tel/live/TelLiveCellInfoTest.py b/acts_tests/tests/google/tel/live/TelLiveCellInfoTest.py
index 5895d10..633b6bd 100644
--- a/acts_tests/tests/google/tel/live/TelLiveCellInfoTest.py
+++ b/acts_tests/tests/google/tel/live/TelLiveCellInfoTest.py
@@ -19,8 +19,7 @@
import time
from acts.test_decorators import test_tracker_info
from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
-from acts_contrib.test_utils.tel.tel_test_utils import ensure_wifi_connected, \
- toggle_airplane_mode, ensure_phones_idle, start_qxdm_loggers
+from acts_contrib.test_utils.tel.tel_test_utils import ensure_wifi_connected, toggle_airplane_mode
from acts_contrib.test_utils.wifi import wifi_test_utils
from acts.utils import disable_usb_charging, enable_usb_charging
diff --git a/acts_tests/tests/google/tel/live/TelLiveDSDSVoiceTest.py b/acts_tests/tests/google/tel/live/TelLiveDSDSVoiceTest.py
index 2d0cd65..1d83ed3 100644
--- a/acts_tests/tests/google/tel/live/TelLiveDSDSVoiceTest.py
+++ b/acts_tests/tests/google/tel/live/TelLiveDSDSVoiceTest.py
@@ -21,68 +21,23 @@
import random
import collections
-from queue import Empty
from acts.test_decorators import test_tracker_info
from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
from acts_contrib.test_utils.tel.tel_defines import DIRECTION_MOBILE_ORIGINATED
from acts_contrib.test_utils.tel.tel_defines import DIRECTION_MOBILE_TERMINATED
-from acts_contrib.test_utils.tel.tel_defines import GEN_3G
-from acts_contrib.test_utils.tel.tel_defines import GEN_4G
-from acts_contrib.test_utils.tel.tel_defines import INVALID_WIFI_RSSI
-from acts_contrib.test_utils.tel.tel_defines import MAX_WAIT_TIME_CALL_DROP
-from acts_contrib.test_utils.tel.tel_defines import MAX_WAIT_TIME_NW_SELECTION
-from acts_contrib.test_utils.tel.tel_defines import NETWORK_SERVICE_DATA
-from acts_contrib.test_utils.tel.tel_defines import NETWORK_SERVICE_VOICE
-from acts_contrib.test_utils.tel.tel_defines import PRECISE_CALL_STATE_LISTEN_LEVEL_BACKGROUND
-from acts_contrib.test_utils.tel.tel_defines import PRECISE_CALL_STATE_LISTEN_LEVEL_FOREGROUND
-from acts_contrib.test_utils.tel.tel_defines import PRECISE_CALL_STATE_LISTEN_LEVEL_RINGING
-from acts_contrib.test_utils.tel.tel_defines import RAT_LTE
-from acts_contrib.test_utils.tel.tel_defines import RAT_IWLAN
-from acts_contrib.test_utils.tel.tel_defines import RAT_WCDMA
from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_BETWEEN_REG_AND_CALL
from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_IN_CALL
-from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_WIFI_RSSI_CALIBRATION_SCREEN_ON
-from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_WIFI_RSSI_CALIBRATION_WIFI_CONNECTED
-from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_CELLULAR_PREFERRED
-from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_DISABLED
-from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_WIFI_ONLY
-from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_WIFI_PREFERRED
-from acts_contrib.test_utils.tel.tel_defines import WIFI_WEAK_RSSI_VALUE
-from acts_contrib.test_utils.tel.tel_defines import EventNetworkCallback
-from acts_contrib.test_utils.tel.tel_defines import NetworkCallbackAvailable
-from acts_contrib.test_utils.tel.tel_defines import NetworkCallbackLost
-from acts_contrib.test_utils.tel.tel_defines import SignalStrengthContainer
-from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_CHANGE_DATA_SUB_ID
-from acts_contrib.test_utils.tel.tel_test_utils import wifi_toggle_state
-from acts_contrib.test_utils.tel.tel_test_utils import ensure_network_generation
-from acts_contrib.test_utils.tel.tel_test_utils import ensure_phones_default_state
-from acts_contrib.test_utils.tel.tel_test_utils import ensure_wifi_connected
-from acts_contrib.test_utils.tel.tel_test_utils import get_network_rat
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_logger
from acts_contrib.test_utils.tel.tel_test_utils import get_phone_number
from acts_contrib.test_utils.tel.tel_test_utils import get_phone_number_for_subscription
from acts_contrib.test_utils.tel.tel_test_utils import hangup_call
from acts_contrib.test_utils.tel.tel_test_utils import hangup_call_by_adb
from acts_contrib.test_utils.tel.tel_test_utils import initiate_call
-from acts_contrib.test_utils.tel.tel_test_utils import is_network_call_back_event_match
from acts_contrib.test_utils.tel.tel_test_utils import is_phone_in_call
from acts_contrib.test_utils.tel.tel_test_utils import is_phone_not_in_call
-from acts_contrib.test_utils.tel.tel_test_utils import set_wfc_mode
-from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode
-from acts_contrib.test_utils.tel.tel_test_utils import toggle_volte
from acts_contrib.test_utils.tel.tel_test_utils import wait_and_answer_call
-from acts_contrib.test_utils.tel.tel_test_utils import wait_for_cell_data_connection
-from acts_contrib.test_utils.tel.tel_test_utils import wait_for_droid_not_in_call
-from acts_contrib.test_utils.tel.tel_test_utils import wait_for_wfc_disabled
-from acts_contrib.test_utils.tel.tel_test_utils import wait_for_wfc_enabled
-from acts_contrib.test_utils.tel.tel_test_utils import wait_for_wifi_data_connection
-from acts_contrib.test_utils.tel.tel_test_utils import verify_http_connection
-from acts_contrib.test_utils.tel.tel_test_utils import get_telephony_signal_strength
-from acts_contrib.test_utils.tel.tel_test_utils import get_lte_rsrp
-from acts_contrib.test_utils.tel.tel_test_utils import get_wifi_signal_strength
-from acts_contrib.test_utils.tel.tel_test_utils import wait_for_state
from acts_contrib.test_utils.tel.tel_test_utils import is_phone_in_call
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_logger
from acts_contrib.test_utils.tel.tel_test_utils import active_file_download_test
from acts_contrib.test_utils.tel.tel_test_utils import verify_internet_connection
from acts_contrib.test_utils.tel.tel_test_utils import test_data_browsing_success_using_sl4a
@@ -107,13 +62,9 @@
from acts_contrib.test_utils.tel.tel_voice_utils import phone_idle_iwlan
from acts_contrib.test_utils.tel.tel_voice_utils import phone_idle_not_iwlan
from acts_contrib.test_utils.tel.tel_voice_utils import phone_idle_volte
-from acts_contrib.test_utils.tel.tel_voice_utils import phone_setup_3g
-from acts_contrib.test_utils.tel.tel_voice_utils import phone_setup_2g
from acts_contrib.test_utils.tel.tel_subscription_utils import set_subid_for_outgoing_call
-from acts_contrib.test_utils.tel.tel_subscription_utils import set_incoming_voice_sub_id
from acts_contrib.test_utils.tel.tel_subscription_utils import get_subid_from_slot_index
from acts_contrib.test_utils.tel.tel_subscription_utils import get_operatorname_from_slot_index
-from acts_contrib.test_utils.tel.tel_subscription_utils import get_default_data_sub_id
from acts_contrib.test_utils.tel.tel_subscription_utils import perform_dds_switch
from acts_contrib.test_utils.tel.tel_subscription_utils import set_subid_for_data
from acts_contrib.test_utils.tel.tel_subscription_utils import set_dds_on_slot_0
diff --git a/acts_tests/tests/google/tel/live/TelLiveMobilityStressTest.py b/acts_tests/tests/google/tel/live/TelLiveMobilityStressTest.py
index 7534e99..2181f7f 100644
--- a/acts_tests/tests/google/tel/live/TelLiveMobilityStressTest.py
+++ b/acts_tests/tests/google/tel/live/TelLiveMobilityStressTest.py
@@ -26,39 +26,18 @@
from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
from acts_contrib.test_utils.tel.tel_atten_utils import set_rssi
from acts_contrib.test_utils.tel.tel_defines import CELL_WEAK_RSSI_VALUE
-from acts_contrib.test_utils.tel.tel_defines import CELL_STRONG_RSSI_VALUE
from acts_contrib.test_utils.tel.tel_defines import MAX_RSSI_RESERVED_VALUE
from acts_contrib.test_utils.tel.tel_defines import MIN_RSSI_RESERVED_VALUE
from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_CELLULAR_PREFERRED
from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_DISABLED
from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_WIFI_PREFERRED
from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_CELLULAR_PREFERRED
-from acts_contrib.test_utils.tel.tel_defines import WIFI_WEAK_RSSI_VALUE
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_test_utils import active_file_download_test
from acts_contrib.test_utils.tel.tel_test_utils import call_setup_teardown
-from acts_contrib.test_utils.tel.tel_test_utils import ensure_phone_default_state
-from acts_contrib.test_utils.tel.tel_test_utils import ensure_phone_subscription
-from acts_contrib.test_utils.tel.tel_test_utils import ensure_phones_idle
-from acts_contrib.test_utils.tel.tel_test_utils import ensure_wifi_connected
-from acts_contrib.test_utils.tel.tel_test_utils import hangup_call
-from acts_contrib.test_utils.tel.tel_test_utils import is_voice_attached
-from acts_contrib.test_utils.tel.tel_test_utils import set_wfc_mode
from acts_contrib.test_utils.tel.tel_message_utils import sms_send_receive_verify
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_test_utils import mms_send_receive_verify
-from acts_contrib.test_utils.tel.tel_voice_utils import is_phone_in_call_3g
-from acts_contrib.test_utils.tel.tel_voice_utils import is_phone_in_call_2g
-from acts_contrib.test_utils.tel.tel_voice_utils import is_phone_in_call_csfb
-from acts_contrib.test_utils.tel.tel_voice_utils import is_phone_in_call_iwlan
-from acts_contrib.test_utils.tel.tel_voice_utils import is_phone_in_call_volte
-from acts_contrib.test_utils.tel.tel_voice_utils import phone_setup_csfb
-from acts_contrib.test_utils.tel.tel_voice_utils import phone_setup_iwlan
-from acts_contrib.test_utils.tel.tel_voice_utils import phone_setup_voice_3g
-from acts_contrib.test_utils.tel.tel_voice_utils import phone_setup_voice_2g
-from acts_contrib.test_utils.tel.tel_voice_utils import phone_setup_volte
from acts_contrib.test_utils.tel.tel_voice_utils import get_current_voice_rat
-
-from acts.logger import epoch_to_log_line_timestamp
from acts.utils import get_current_epoch_time
from acts.utils import rand_ascii_str
from acts.libs.utils.multithread import run_multithread_func
@@ -69,13 +48,11 @@
from TelWifiVoiceTest import ATTEN_NAME_FOR_CELL_3G
from TelWifiVoiceTest import ATTEN_NAME_FOR_CELL_4G
-import socket
from acts.controllers.sl4a_lib.rpc_client import Sl4aProtocolError
IGNORE_EXCEPTIONS = (BrokenPipeError, Sl4aProtocolError)
EXCEPTION_TOLERANCE = 20
-
class TelLiveMobilityStressTest(TelWifiVoiceTest):
def setup_class(self):
super().setup_class()
diff --git a/acts_tests/tests/google/tel/live/TelLiveRilImsKpiTest.py b/acts_tests/tests/google/tel/live/TelLiveRilImsKpiTest.py
index 20a93bb..052b366 100644
--- a/acts_tests/tests/google/tel/live/TelLiveRilImsKpiTest.py
+++ b/acts_tests/tests/google/tel/live/TelLiveRilImsKpiTest.py
@@ -26,6 +26,7 @@
from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_WIFI_PREFERRED
from acts_contrib.test_utils.tel.tel_defines import MAX_WAIT_TIME_WIFI_CONNECTION
from acts_contrib.test_utils.tel.tel_logging_utils import start_pixellogger_always_on_logging
+from acts_contrib.test_utils.tel.tel_logging_utils import wait_for_log
from acts_contrib.test_utils.tel.tel_subscription_utils import get_slot_index_from_voice_sub_id
from acts_contrib.test_utils.tel.tel_subscription_utils import get_all_sub_id
from acts_contrib.test_utils.tel.tel_voice_utils import is_phone_in_call_volte
@@ -48,7 +49,6 @@
from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode
from acts_contrib.test_utils.tel.tel_test_utils import set_wfc_mode
from acts_contrib.test_utils.tel.tel_test_utils import wait_for_network_service
-from acts_contrib.test_utils.tel.tel_test_utils import wait_for_log
from acts.utils import get_current_epoch_time
SETUP_PHONE_FAIL = 'SETUP_PHONE_FAIL'
diff --git a/acts_tests/tests/google/tel/live/TelLiveSettingsTest.py b/acts_tests/tests/google/tel/live/TelLiveSettingsTest.py
index 73400a3..eae20c6 100644
--- a/acts_tests/tests/google/tel/live/TelLiveSettingsTest.py
+++ b/acts_tests/tests/google/tel/live/TelLiveSettingsTest.py
@@ -26,6 +26,7 @@
from acts.test_decorators import test_tracker_info
from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
from acts_contrib.test_utils.tel.tel_defines import MAX_WAIT_TIME_FOR_STATE_CHANGE
+from acts_contrib.test_utils.tel.tel_logging_utils import set_qxdm_logger_command
from acts_contrib.test_utils.tel.tel_test_utils import dumpsys_carrier_config
from acts_contrib.test_utils.tel.tel_test_utils import ensure_phone_subscription
from acts_contrib.test_utils.tel.tel_test_utils import flash_radio
@@ -36,7 +37,6 @@
from acts_contrib.test_utils.tel.tel_test_utils import power_on_sim
from acts_contrib.test_utils.tel.tel_test_utils import print_radio_info
from acts_contrib.test_utils.tel.tel_test_utils import revert_default_telephony_setting
-from acts_contrib.test_utils.tel.tel_test_utils import set_qxdm_logger_command
from acts_contrib.test_utils.tel.tel_test_utils import system_file_push
from acts_contrib.test_utils.tel.tel_test_utils import unlock_sim
from acts_contrib.test_utils.tel.tel_test_utils import verify_default_telephony_setting
diff --git a/acts_tests/tests/google/tel/live/TelLiveStressCallTest.py b/acts_tests/tests/google/tel/live/TelLiveStressCallTest.py
index c937aa7..c3ee252 100644
--- a/acts_tests/tests/google/tel/live/TelLiveStressCallTest.py
+++ b/acts_tests/tests/google/tel/live/TelLiveStressCallTest.py
@@ -23,6 +23,7 @@
from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_WIFI_PREFERRED
from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_IN_CALL
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_logging_utils import start_sdm_loggers
from acts_contrib.test_utils.tel.tel_test_utils import call_setup_teardown
from acts_contrib.test_utils.tel.tel_test_utils import ensure_phone_subscription
@@ -32,7 +33,6 @@
from acts_contrib.test_utils.tel.tel_test_utils import hangup_call
from acts_contrib.test_utils.tel.tel_test_utils import set_wfc_mode
from acts_contrib.test_utils.tel.tel_message_utils import sms_send_receive_verify
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_test_utils import verify_incall_state
from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode
from acts_contrib.test_utils.tel.tel_voice_utils import is_phone_in_call_3g
diff --git a/acts_tests/tests/google/tel/live/TelLiveStressTest.py b/acts_tests/tests/google/tel/live/TelLiveStressTest.py
index b643abe..2a87728 100644
--- a/acts_tests/tests/google/tel/live/TelLiveStressTest.py
+++ b/acts_tests/tests/google/tel/live/TelLiveStressTest.py
@@ -46,7 +46,9 @@
from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_WIFI_PREFERRED
from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_CHANGE_MESSAGE_SUB_ID
from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_CHANGE_VOICE_SUB_ID
+from acts_contrib.test_utils.tel.tel_logging_utils import start_qxdm_loggers
from acts_contrib.test_utils.tel.tel_logging_utils import start_sdm_loggers
+from acts_contrib.test_utils.tel.tel_logging_utils import start_adb_tcpdump
from acts_contrib.test_utils.tel.tel_lookup_tables import is_rat_svd_capable
from acts_contrib.test_utils.tel.tel_test_utils import STORY_LINE
from acts_contrib.test_utils.tel.tel_test_utils import active_file_download_test
@@ -64,8 +66,6 @@
from acts_contrib.test_utils.tel.tel_test_utils import last_call_drop_reason
from acts_contrib.test_utils.tel.tel_test_utils import set_wfc_mode
from acts_contrib.test_utils.tel.tel_message_utils import sms_send_receive_verify
-from acts_contrib.test_utils.tel.tel_test_utils import start_qxdm_loggers
-from acts_contrib.test_utils.tel.tel_test_utils import start_adb_tcpdump
from acts_contrib.test_utils.tel.tel_test_utils import synchronize_device_time
from acts_contrib.test_utils.tel.tel_test_utils import mms_send_receive_verify
from acts_contrib.test_utils.tel.tel_test_utils import set_preferred_network_mode_pref
diff --git a/acts_tests/tests/google/wifi/WifiCrashStressTest.py b/acts_tests/tests/google/wifi/WifiCrashStressTest.py
index 90e546f..9982cd8 100644
--- a/acts_tests/tests/google/wifi/WifiCrashStressTest.py
+++ b/acts_tests/tests/google/wifi/WifiCrashStressTest.py
@@ -21,7 +21,7 @@
from acts import utils
from acts.test_decorators import test_tracker_info
from acts_contrib.test_utils.wifi.WifiBaseTest import WifiBaseTest
-from acts_contrib.test_utils.tel.tel_test_utils import disable_qxdm_logger
+from acts_contrib.test_utils.tel.tel_logging_utils import disable_qxdm_logger
WifiEnums = wutils.WifiEnums