99 lines
3.3 KiB
Python
99 lines
3.3 KiB
Python
|
|
#!/usr/bin/env python3
|
||
|
|
#
|
||
|
|
# Copyright 2021 - The Android Open Source Project
|
||
|
|
#
|
||
|
|
## Licensed under the Apache License, Version 2.0 (the 'License');
|
||
|
|
## you may not use this file except in compliance with the License.
|
||
|
|
## You may obtain a copy of the License at
|
||
|
|
##
|
||
|
|
## http://www.apache.org/licenses/LICENSE-2.0
|
||
|
|
##
|
||
|
|
## Unless required by applicable law or agreed to in writing, software
|
||
|
|
## distributed under the License is distributed on an 'AS IS' BASIS,
|
||
|
|
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
|
## See the License for the specific language governing permissions and
|
||
|
|
## limitations under the License.
|
||
|
|
|
||
|
|
from acts_contrib.test_utils.gnss import LabTtffTestBase as lttb
|
||
|
|
from acts_contrib.test_utils.gnss.gnss_test_utils import launch_eecoexer
|
||
|
|
from acts_contrib.test_utils.gnss.gnss_test_utils import execute_eecoexer_function
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
class LabTtffGeneralCoexTest(lttb.LabTtffTestBase):
|
||
|
|
"""Lab stand alone GNSS general coex TTFF/FFPE test"""
|
||
|
|
|
||
|
|
def setup_class(self):
|
||
|
|
super().setup_class()
|
||
|
|
req_params = ['coex_testcase_ls']
|
||
|
|
self.unpack_userparams(req_param_names=req_params)
|
||
|
|
self.test_cmd = ''
|
||
|
|
self.stop_cmd = ''
|
||
|
|
|
||
|
|
def setup_test(self):
|
||
|
|
super().setup_test()
|
||
|
|
launch_eecoexer(self.dut)
|
||
|
|
# Set DUT temperature the limit to 60 degree
|
||
|
|
self.dut.adb.shell(
|
||
|
|
'setprop persist.com.google.eecoexer.cellular.temperature_limit 60')
|
||
|
|
|
||
|
|
def teardown_test(self):
|
||
|
|
super().teardown_test()
|
||
|
|
self.exe_eecoexer_loop_cmd(self.stop_cmd)
|
||
|
|
|
||
|
|
def gnss_ttff_ffpe_coex_base(self, mode):
|
||
|
|
"""
|
||
|
|
TTFF and FFPE general coex base test function
|
||
|
|
|
||
|
|
Args:
|
||
|
|
mode: Set the TTFF mode for testing. Definitions are as below.
|
||
|
|
cs(cold start), ws(warm start), hs(hot start)
|
||
|
|
"""
|
||
|
|
# Loop all test case in coex_testcase_ls
|
||
|
|
for i, test_item in enumerate(self.coex_testcase_ls):
|
||
|
|
|
||
|
|
if i > 0:
|
||
|
|
self.setup_test()
|
||
|
|
|
||
|
|
# get test_log_path from coex_testcase_ls['test_name']
|
||
|
|
test_log_path = test_item['test_name']
|
||
|
|
|
||
|
|
# get test_cmd from coex_testcase_ls['test_cmd']
|
||
|
|
self.test_cmd = test_item['test_cmd']
|
||
|
|
|
||
|
|
# get stop_cmd from coex_testcase_ls['stop_cmd']
|
||
|
|
self.stop_cmd = test_item['stop_cmd']
|
||
|
|
|
||
|
|
# Start aggressor Tx by EEcoexer
|
||
|
|
# self.exe_eecoexer_loop_cmd(test_cmd)
|
||
|
|
|
||
|
|
# Start GNSS TTFF FFPE testing
|
||
|
|
self.gnss_ttff_ffpe(mode, test_log_path, self.test_cmd, self.stop_cmd)
|
||
|
|
|
||
|
|
# Stop aggressor Tx by EEcoexer
|
||
|
|
# self.exe_eecoexer_loop_cmd(stop_cmd)
|
||
|
|
|
||
|
|
# Clear GTW GPSTool log. Need to clean the log every round of the test.
|
||
|
|
self.clear_gps_log()
|
||
|
|
|
||
|
|
if i < len(self.coex_testcase_ls) - 1:
|
||
|
|
self.teardown_test()
|
||
|
|
|
||
|
|
def test_gnss_cold_ttff_ffpe_coex(self):
|
||
|
|
"""
|
||
|
|
Cold start TTFF and FFPE GNSS general coex testing
|
||
|
|
"""
|
||
|
|
self.gnss_ttff_ffpe_coex_base('cs')
|
||
|
|
|
||
|
|
def test_gnss_warm_ttff_ffpe_coex(self):
|
||
|
|
"""
|
||
|
|
Warm start TTFF and FFPE GNSS general coex testing
|
||
|
|
"""
|
||
|
|
self.gnss_ttff_ffpe_coex_base('ws')
|
||
|
|
|
||
|
|
def test_gnss_hot_ttff_ffpe_coex(self):
|
||
|
|
"""
|
||
|
|
Hot start TTFF and FFPE GNSS general coex testing
|
||
|
|
"""
|
||
|
|
self.gnss_ttff_ffpe_coex_base('hs')
|