blob: b735184659bd23dee16f55b6ea36808f921aa23a [file] [log] [blame]
Markus Liu915b1122020-03-27 15:04:10 +08001#!/usr/bin/env python3
2#
3# Copyright 2020 - Google
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17import time
18
19from acts import asserts
20from acts import signals
21from acts.test_decorators import test_tracker_info
Xianyuan Jia63751fb2020-11-17 00:07:40 +000022from acts_contrib.test_utils.tel.loggers.protos.telephony_metric_pb2 import \
Markus Liu915b1122020-03-27 15:04:10 +080023 TelephonyVoiceTestResult
Xianyuan Jia63751fb2020-11-17 00:07:40 +000024from acts_contrib.test_utils.tel.loggers.telephony_metric_logger import \
Markus Liu915b1122020-03-27 15:04:10 +080025 TelephonyMetricLogger
Xianyuan Jia63751fb2020-11-17 00:07:40 +000026from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
27from acts_contrib.test_utils.tel.tel_defines import MAX_WAIT_TIME_SMS_RECEIVE
28from acts_contrib.test_utils.tel.tel_defines import WAIT_TIME_ANDROID_STATE_SETTLING
29from acts_contrib.test_utils.tel.tel_defines import INVALID_SUB_ID
30from acts_contrib.test_utils.tel.tel_subscription_utils import \
Markus Liucb900da2020-08-17 16:12:31 +080031 get_incoming_voice_sub_id
Xianyuan Jia63751fb2020-11-17 00:07:40 +000032from acts_contrib.test_utils.tel.tel_subscription_utils import get_subid_from_slot_index
33from acts_contrib.test_utils.tel.tel_subscription_utils import \
Markus Liu915b1122020-03-27 15:04:10 +080034 get_outgoing_message_sub_id
Xianyuan Jia63751fb2020-11-17 00:07:40 +000035from acts_contrib.test_utils.tel.tel_subscription_utils import get_default_data_sub_id
36from acts_contrib.test_utils.tel.tel_subscription_utils import set_message_subid
37from acts_contrib.test_utils.tel.tel_subscription_utils import set_subid_for_data
38from acts_contrib.test_utils.tel.tel_subscription_utils import set_voice_sub_id
39from acts_contrib.test_utils.tel.tel_subscription_utils import set_dds_on_slot_0
40from acts_contrib.test_utils.tel.tel_subscription_utils import set_dds_on_slot_1
41from acts_contrib.test_utils.tel.tel_subscription_utils import \
Markus Liu915b1122020-03-27 15:04:10 +080042 get_subid_on_same_network_of_host_ad
Xianyuan Jia63751fb2020-11-17 00:07:40 +000043from acts_contrib.test_utils.tel.tel_test_utils import multithread_func
44from acts_contrib.test_utils.tel.tel_test_utils import \
Markus Liu915b1122020-03-27 15:04:10 +080045 sms_send_receive_verify_for_subscription
Xianyuan Jia63751fb2020-11-17 00:07:40 +000046from acts_contrib.test_utils.tel.tel_test_utils import \
Markus Liucb900da2020-08-17 16:12:31 +080047 sms_in_collision_send_receive_verify_for_subscription
Xianyuan Jia63751fb2020-11-17 00:07:40 +000048from acts_contrib.test_utils.tel.tel_test_utils import \
Markus Liucb900da2020-08-17 16:12:31 +080049 sms_rx_power_off_multiple_send_receive_verify_for_subscription
Xianyuan Jia63751fb2020-11-17 00:07:40 +000050from acts_contrib.test_utils.tel.tel_test_utils import \
Markus Liucb900da2020-08-17 16:12:31 +080051 voice_call_in_collision_with_mt_sms_msim
Xianyuan Jia63751fb2020-11-17 00:07:40 +000052from acts_contrib.test_utils.tel.tel_test_utils import mms_send_receive_verify
53from acts_contrib.test_utils.tel.tel_test_utils import verify_http_connection
54from acts_contrib.test_utils.tel.tel_test_utils import log_messaging_screen_shot
55from acts_contrib.test_utils.tel.tel_test_utils import ensure_phones_idle
56from acts_contrib.test_utils.tel.tel_test_utils import get_slot_index_from_subid
57from acts_contrib.test_utils.tel.tel_voice_utils import \
Markus Liu915b1122020-03-27 15:04:10 +080058 phone_setup_voice_general_for_subscription
Xianyuan Jia63751fb2020-11-17 00:07:40 +000059from acts_contrib.test_utils.tel.tel_voice_utils import phone_setup_on_rat
60from acts_contrib.test_utils.tel.tel_voice_utils import is_phone_in_call_on_rat
Markus Liu915b1122020-03-27 15:04:10 +080061from acts.utils import rand_ascii_str
62
63CallResult = TelephonyVoiceTestResult.CallResult.Value
64
65class TelLiveGFTDSDSMessageTest(TelephonyBaseTest):
Markus Liu915b1122020-03-27 15:04:10 +080066 def setup_class(self):
67 TelephonyBaseTest.setup_class(self)
Markus Liucb900da2020-08-17 16:12:31 +080068 self.message_lengths = (50, 160, 180)
69 self.tel_logger = TelephonyMetricLogger.for_test_case()
Markus Liu915b1122020-03-27 15:04:10 +080070
71 def teardown_test(self):
72 ensure_phones_idle(self.log, self.android_devices)
73
74 def _msim_message_test(
75 self,
76 ad_mo,
77 ad_mt,
78 mo_sub_id,
79 mt_sub_id, msg="SMS",
80 max_wait_time=MAX_WAIT_TIME_SMS_RECEIVE,
81 expected_result=True):
82 """Make MO/MT SMS/MMS at specific slot.
83
84 Args:
85 ad_mo: Android object of the device sending SMS/MMS
86 ad_mt: Android object of the device receiving SMS/MMS
87 mo_sub_id: Sub ID of MO device
88 mt_sub_id: Sub ID of MT device
89 max_wait_time: Max wait time before SMS/MMS is received.
90 expected_result: True for successful sending/receiving and False on
91 the contrary
92
93 Returns:
94 True if the result matches expected_result and False on the
95 contrary.
96 """
97
98 if msg == "SMS":
99 for length in self.message_lengths:
100 message_array = [rand_ascii_str(length)]
101 if not sms_send_receive_verify_for_subscription(
102 self.log,
103 ad_mo,
104 ad_mt,
105 mo_sub_id,
106 mt_sub_id,
107 message_array,
108 max_wait_time):
109 ad_mo.log.warning(
110 "%s of length %s test failed", msg, length)
111 return False
112 else:
113 ad_mo.log.info(
114 "%s of length %s test succeeded", msg, length)
115 self.log.info("%s test of length %s characters succeeded.",
116 msg, self.message_lengths)
117
118 elif msg == "MMS":
119 for length in self.message_lengths:
120 message_array = [("Test Message", rand_ascii_str(length), None)]
121
122 if not mms_send_receive_verify(
123 self.log,
124 ad_mo,
125 ad_mt,
126 message_array,
127 max_wait_time,
128 expected_result):
129 self.log.warning("%s of body length %s test failed",
130 msg, length)
131 return False
132 else:
133 self.log.info(
134 "%s of body length %s test succeeded", msg, length)
135 self.log.info("%s test of body lengths %s succeeded",
136 msg, self.message_lengths)
137 return True
138
Markus Liucb900da2020-08-17 16:12:31 +0800139 def _msim_sms_collision_test(
140 self,
141 ad_mo,
142 ad_mo2,
143 ad_mt,
144 ad_mt2,
145 mo1_sub_id,
146 mo2_sub_id,
147 mt_sub_id,
148 mt2_sub_id):
149 """Send 2 SMS' at the same time. SMS collision can be met when both SMS'
150 are sent to the same recipient.
151
152 Args:
153 ad_mo: Android object of the device sending SMS
154 ad_mo2: Android object of the device sending SMS
155 ad_mt: Android object of the device receiving SMS
156 ad_mt2: Android object of the device receiving SMS
157 mo1_sub_id: Sub ID of ad_mo
158 mo2_sub_id: Sub ID of ad_mo2
159 mt_sub_id: Sub ID of ad_mt
160 mt2_sub_id: Sub ID of ad_mt2
161
162 Returns:
163 True if both SMS' are sent and received successfully and False on
164 the contrary.
165 """
166 for length in self.message_lengths:
167 message_array = [rand_ascii_str(length)]
168 message_array2 = [rand_ascii_str(length)]
169 if not sms_in_collision_send_receive_verify_for_subscription(
170 self.log,
171 ad_mo,
172 ad_mo2,
173 ad_mt,
174 ad_mt2,
175 mo1_sub_id,
176 mo2_sub_id,
177 mt_sub_id,
178 mt2_sub_id,
179 message_array,
180 message_array2):
181 self.log.warning(
182 "Test of SMS collision with length %s failed", length)
183 return False
184 else:
185 self.log.info(
186 "Test of SMS collision with length %s succeeded", length)
187 self.log.info(
188 "Test of SMS collision with lengths %s characters succeeded.",
189 self.message_lengths)
190 return True
191
192 def _msim_rx_power_off_multiple_sms_test(
193 self,
194 ad_mo,
195 ad_mo2,
196 ad_mt,
197 mo1_sub_id,
198 mo2_sub_id,
199 mt_sub_id,
200 mt2_sub_id,
201 num_array_message,
202 num_array_message2):
203 """Power off the recipient and then send 2 SMS'. Make sure all SMS' can
204 be received correctly after the recipient is poweron on again.
205
206 Args:
207 ad_mo: Android object of the device sending SMS
208 ad_mo2: Android object of the device sending SMS
209 ad_mt: Android object of the device receiving SMS
210 mo1_sub_id: Sub ID of ad_mo
211 mo2_sub_id: Sub ID of ad_mo2
212 mt_sub_id: Sub ID of ad_mt
213 mt2_sub_id: Sub ID of ad_mt2
214 num_array_message: Number of messages to be sent by ad_mo
215 num_array_message2: Number of messages to be sent by ad_mo2
216
217 Returns:
218 True if all SMS' are sent and received successfully and False on
219 the contrary.
220 """
221 for length in self.message_lengths:
222 if not sms_rx_power_off_multiple_send_receive_verify_for_subscription(
223 self.log,
224 ad_mo,
225 ad_mo2,
226 ad_mt,
227 mo1_sub_id,
228 mo2_sub_id,
229 mt_sub_id,
230 mt2_sub_id,
231 length,
232 length,
233 num_array_message,
234 num_array_message2):
235 self.log.warning(
236 "Test of multiple SMS with length %s during rx power off"
237 " failed.", length)
238 return False
239 else:
240 self.log.info(
241 "Test of multiple SMS with length %s during rx power off"
242 " succeeded.", length)
243 self.log.info(
244 "Test of multiple SMS with lengths %s characters during rx power"
245 "off succeeded.", self.message_lengths)
246 return True
247
248
Markus Liu915b1122020-03-27 15:04:10 +0800249 def _test_msim_message(
250 self,
251 mo_slot,
252 mt_slot,
253 dds_slot,
254 msg="SMS",
255 mo_rat=["", ""],
256 mt_rat=["", ""],
257 direction="mo",
258 expected_result=True):
259 """Make MO/MT SMS/MMS at specific slot in specific RAT with DDS at
260 specific slot.
261
262 Test step:
263 1. Get sub IDs of specific slots of both MO and MT devices.
264 2. Switch DDS to specific slot.
265 3. Check HTTP connection after DDS switch.
266 4. Set up phones in desired RAT.
267 5. Send SMS/MMS.
268
269 Args:
270 mo_slot: Slot sending MO SMS (0 or 1)
271 mt_slot: Slot receiving MT SMS (0 or 1)
272 dds_slot: Preferred data slot
273 mo_rat: RAT for both slots of MO device
274 mt_rat: RAT for both slots of MT device
275 direction: "mo" or "mt"
276 expected_result: True of False
277
278 Returns:
279 TestFailure if failed.
280 """
281 ads = self.android_devices
282
283 if direction == "mo":
284 ad_mo = ads[0]
285 ad_mt = ads[1]
286 else:
287 ad_mo = ads[1]
288 ad_mt = ads[0]
289
290 if mo_slot is not None:
291 mo_sub_id = get_subid_from_slot_index(self.log, ad_mo, mo_slot)
292 if mo_sub_id == INVALID_SUB_ID:
293 ad_mo.log.warning("Failed to get sub ID at slot %s.", mo_slot)
294 return False
295 mo_other_sub_id = get_subid_from_slot_index(
296 self.log, ad_mo, 1-mo_slot)
Markus Liucb900da2020-08-17 16:12:31 +0800297 set_message_subid(ad_mo, mo_sub_id)
Markus Liu915b1122020-03-27 15:04:10 +0800298 else:
299 _, mo_sub_id, _ = get_subid_on_same_network_of_host_ad(
300 ads, type="sms")
301 if mo_sub_id == INVALID_SUB_ID:
302 ad_mo.log.warning("Failed to get sub ID at slot %s.", mo_slot)
303 return False
304 mo_slot = "auto"
Markus Liucb900da2020-08-17 16:12:31 +0800305 set_message_subid(ad_mo, mo_sub_id)
Markus Liu915b1122020-03-27 15:04:10 +0800306 if msg == "MMS":
307 set_subid_for_data(ad_mo, mo_sub_id)
308 ad_mo.droid.telephonyToggleDataConnection(True)
309 ad_mo.log.info("Sub ID for outgoing %s at slot %s: %s", msg, mo_slot,
310 get_outgoing_message_sub_id(ad_mo))
311
312 if mt_slot is not None:
313 mt_sub_id = get_subid_from_slot_index(self.log, ad_mt, mt_slot)
314 if mt_sub_id == INVALID_SUB_ID:
315 ad_mt.log.warning("Failed to get sub ID at slot %s.", mt_slot)
316 return False
317 mt_other_sub_id = get_subid_from_slot_index(
318 self.log, ad_mt, 1-mt_slot)
Markus Liucb900da2020-08-17 16:12:31 +0800319 set_message_subid(ad_mt, mt_sub_id)
Markus Liu915b1122020-03-27 15:04:10 +0800320 else:
321 _, mt_sub_id, _ = get_subid_on_same_network_of_host_ad(
322 ads, type="sms")
323 if mt_sub_id == INVALID_SUB_ID:
324 ad_mt.log.warning("Failed to get sub ID at slot %s.", mt_slot)
325 return False
326 mt_slot = "auto"
Markus Liucb900da2020-08-17 16:12:31 +0800327 set_message_subid(ad_mt, mt_sub_id)
Markus Liu915b1122020-03-27 15:04:10 +0800328 if msg == "MMS":
329 set_subid_for_data(ad_mt, mt_sub_id)
330 ad_mt.droid.telephonyToggleDataConnection(True)
331 ad_mt.log.info("Sub ID for incoming %s at slot %s: %s", msg, mt_slot,
332 get_outgoing_message_sub_id(ad_mt))
333
334 self.log.info("Step 1: Switch DDS.")
335 if dds_slot:
336 if not set_dds_on_slot_1(ads[0]):
337 self.log.warning(
338 "Failed to set DDS at eSIM on %s", ads[0].serial)
339 return False
340 else:
341 if not set_dds_on_slot_0(ads[0]):
342 self.log.warning(
343 "Failed to set DDS at pSIM on %s", ads[0].serial)
344 return False
345
346 self.log.info("Step 2: Check HTTP connection after DDS switch.")
347 if not verify_http_connection(self.log,
348 ads[0],
349 url="https://www.google.com",
350 retry=5,
351 retry_interval=15,
352 expected_state=True):
353
354 self.log.error("Failed to verify http connection.")
355 return False
356 else:
357 self.log.info("Verify http connection successfully.")
358
Markus Liucb900da2020-08-17 16:12:31 +0800359 if mo_slot == 0 or mo_slot == 1:
360 phone_setup_on_rat(self.log, ad_mo, mo_rat[1-mo_slot], mo_other_sub_id)
361 else:
362 phone_setup_on_rat(self.log, ad_mo, 'general', sub_id_type='sms')
Markus Liu915b1122020-03-27 15:04:10 +0800363
Markus Liucb900da2020-08-17 16:12:31 +0800364 if mt_slot == 0 or mt_slot == 1:
365 phone_setup_on_rat(self.log, ad_mt, mt_rat[1-mt_slot], mt_other_sub_id)
366 else:
367 phone_setup_on_rat(self.log, ad_mt, 'general', sub_id_type='sms')
Markus Liu915b1122020-03-27 15:04:10 +0800368
Markus Liucb900da2020-08-17 16:12:31 +0800369 if mo_slot == 0 or mo_slot == 1:
370 mo_phone_setup_func = phone_setup_on_rat(
371 self.log,
372 ad_mo,
373 mo_rat[mo_slot],
374 only_return_fn=True)
Markus Liu915b1122020-03-27 15:04:10 +0800375 else:
376 mo_phone_setup_func = phone_setup_voice_general_for_subscription
377
Markus Liucb900da2020-08-17 16:12:31 +0800378 if mt_slot == 0 or mt_slot == 1:
379 mt_phone_setup_func = phone_setup_on_rat(
380 self.log,
381 ad_mt,
382 mt_rat[mt_slot],
383 only_return_fn=True)
Markus Liu915b1122020-03-27 15:04:10 +0800384 else:
385 mt_phone_setup_func = phone_setup_voice_general_for_subscription
386
387 self.log.info("Step 3: Set up phones in desired RAT.")
388 tasks = [(mo_phone_setup_func, (self.log, ad_mo, mo_sub_id)),
389 (mt_phone_setup_func, (self.log, ad_mt, mt_sub_id))]
390 if not multithread_func(self.log, tasks):
391 self.log.error("Phone Failed to Set Up Properly.")
392 return False
393
394 time.sleep(WAIT_TIME_ANDROID_STATE_SETTLING)
395 self.log.info("Step 4: Send %s.", msg)
396
397 if msg == "MMS":
398 for ad, current_data_sub_id, current_msg_sub_id in [
399 [ ads[0],
400 get_default_data_sub_id(ads[0]),
401 get_outgoing_message_sub_id(ads[0]) ],
402 [ ads[1],
403 get_default_data_sub_id(ads[1]),
404 get_outgoing_message_sub_id(ads[1]) ]]:
405 if current_data_sub_id != current_msg_sub_id:
406 ad.log.warning(
407 "Current data sub ID (%s) does not match message"
408 " sub ID (%s). MMS should NOT be sent.",
409 current_data_sub_id,
410 current_msg_sub_id)
411 expected_result = False
412
413 result = self._msim_message_test(ad_mo, ad_mt, mo_sub_id, mt_sub_id,
414 msg=msg, expected_result=expected_result)
415
416 if not result:
417 log_messaging_screen_shot(ad_mo, test_name="%s_tx" % msg)
418 log_messaging_screen_shot(ad_mt, test_name="%s_rx" % msg)
419
420 return result
421
Markus Liucb900da2020-08-17 16:12:31 +0800422
423 def _test_msim_voice_call_in_collision_with_mt_sms(
424 self,
425 mo_voice_slot,
426 mt_sms_slot,
427 dds_slot,
428 rat=["", ""],
429 call_direction="mo"):
430 """Make MO/MT voice call in collision with MT SMS at specific slot in
431 specific RAT with DDS at specific slot.
432
433 Args:
434 mo_voice_slot: Slot for voice call. 0 for pSIM or 1 for eSIM
435 mt_sms_slot: Slot for MT SMS. 0 for pSIM or 1 for eSIM
436 dds_slot: Preferred data slot
437 rat: RAT for both slots of the primary device
438 call_direction: "mo" or "mt"
439
440 Returns:
441 True or False
442 """
443 ads = self.android_devices
444 ad = ads[0]
445 ad_mo_sms = ads[2]
446 ad_mt_voice = ads[1]
447
448 mo_voice_sub_id = get_subid_from_slot_index(self.log, ad, mo_voice_slot)
449 if mo_voice_sub_id == INVALID_SUB_ID:
450 ad.log.warning("Failed to get sub ID ar slot %s.", mo_voice_slot)
451 return False
452 mo_voice_other_sub_id = get_subid_from_slot_index(
453 self.log, ad, 1-mo_voice_slot)
454 set_voice_sub_id(ad, mo_voice_sub_id)
455
456 _, mt_voice_sub_id, _ = get_subid_on_same_network_of_host_ad(ads)
457 set_voice_sub_id(ad_mt_voice, mt_voice_sub_id)
458 ad_mt_voice.log.info("Sub ID for incoming call at slot %s: %s",
459 get_slot_index_from_subid(self.log, ad_mt_voice, mt_voice_sub_id),
460 get_incoming_voice_sub_id(ad_mt_voice))
461
462 set_message_subid(
463 ad, get_subid_from_slot_index(self.log, ad, mt_sms_slot))
464
465 self.log.info("Step 1: Switch DDS.")
466 if dds_slot:
467 if not set_dds_on_slot_1(ads[0]):
468 ads[0].log.warning("Failed to set DDS at eSIM.")
469 return False
470 else:
471 if not set_dds_on_slot_0(ads[0]):
472 ads[0].log.warning("Failed to set DDS at pSIM.")
473 return False
474
475 self.log.info("Step 2: Check HTTP connection after DDS switch.")
476 if not verify_http_connection(self.log,
477 ads[0],
478 url="https://www.google.com",
479 retry=5,
480 retry_interval=15,
481 expected_state=True):
482
483 self.log.error("Failed to verify http connection.")
484 return False
485 else:
486 self.log.info("Verify http connection successfully.")
487
488 phone_setup_on_rat(
489 self.log, ad, rat[1-mo_voice_slot], mo_voice_other_sub_id)
490 phone_setup_on_rat(self.log, ad, 'general')
491 phone_setup_on_rat(self.log, ad_mt_voice, 'general')
492 phone_setup_on_rat(self.log, ad_mo_sms, 'general', sub_id_type='sms')
493
494 if mo_voice_slot == 0 or mo_voice_slot == 1:
495 mo_phone_setup_func = phone_setup_on_rat(
496 self.log,
497 ad,
498 rat[mo_voice_slot],
499 only_return_fn=True)
500
501 is_mo_in_call = is_phone_in_call_on_rat(
502 self.log, ad, rat[mo_voice_slot], only_return_fn=True)
503
504 self.log.info("Step 3: Set up the phone in desired RAT.")
505 tasks = [(mo_phone_setup_func, (self.log, ad, mo_voice_sub_id))]
506 if not multithread_func(self.log, tasks):
507 self.log.error("Phone Failed to Set Up Properly.")
508 self.tel_logger.set_result(CallResult("CALL_SETUP_FAILURE"))
509 raise signals.TestFailure("Failed",
510 extras={"fail_reason": "Phone Failed to Set Up Properly."})
511
512 self.log.info("Step 4: Make a MO voice call in collision with MT SMS.")
513 result = voice_call_in_collision_with_mt_sms_msim(
514 self.log,
515 ad,
516 ad_mo_sms,
517 ad_mt_voice,
518 get_subid_from_slot_index(self.log, ad, mt_sms_slot),
519 get_outgoing_message_sub_id(ad_mo_sms),
520 mo_voice_sub_id,
521 mt_voice_sub_id,
522 [rand_ascii_str(50)],
523 ad,
524 is_mo_in_call,
525 None,
526 call_direction)
527
528 call_result = True
529 sms_result = True
530
531 try:
532 self.tel_logger.set_result(result.result_value)
533 if not result:
534 call_result = False
535 except:
536 sms_result = False
537
538 extras = {}
539 if not sms_result:
540 log_messaging_screen_shot(ad_mo_sms, test_name="sms_tx")
541 log_messaging_screen_shot(ad, test_name="sms_rx")
542 extras = {"sms_fail_reason": "SMS failed"}
543
544 if not call_result:
545 self.log.error(
546 "Failed to make MO call from %s slot %s to %s slot %s",
547 ad.serial,
548 mo_voice_slot,
549 ad_mt_voice.serial,
550 get_slot_index_from_subid(
551 self.log, ad_mt_voice, mt_voice_sub_id))
552 extras = {"call_fail_reason": str(result.result_value)}
553
554 if not sms_result or not call_result:
555 raise signals.TestFailure("Failed", extras=extras)
556
557 return True
558
559 def multiple_mt_sms(
560 self,
561 slot_0_nw_gen="volte",
562 slot_1_nw_gen="volte",
563 power_off=False):
564 """Receive multiple MT SMS' at the same time at specific slot in specific
565 RAT to make SMS collision.
566
567 Args:
568 slot_0_nw_gen: Network generation (RAT) at pSIM
569 slot_1_nw_gen: Network generation (RAT) at eSIM
570 power_off: True if MT SMS' have to be sent when target DUT is
571 power-off.
572
573 Returns:
574 True of False
575 """
576 ad = self.android_devices[0]
577 slot_0_subid = get_subid_from_slot_index(ad.log, ad, 0)
578 slot_1_subid = get_subid_from_slot_index(ad.log, ad, 1)
579
580 if slot_0_subid == INVALID_SUB_ID or slot_1_subid == INVALID_SUB_ID:
581 self.log.error("Not all slots have valid sub ID.")
582 raise signals.TestFailure("Failed",
583 extras={"fail_reason": "Not all slots have valid sub ID"})
584
585 slot0_phone_setup_func = phone_setup_on_rat(
586 self.log,
587 ad,
588 slot_0_nw_gen,
589 only_return_fn=True)
590
591 tasks = [(slot0_phone_setup_func, (self.log, ad, slot_0_subid))]
592 if not multithread_func(self.log, tasks):
593 self.log.error("Phone Failed to Set Up Properly.")
594 self.tel_logger.set_result(CallResult("CALL_SETUP_FAILURE"))
595 raise signals.TestFailure("Failed",
596 extras={"fail_reason": "Phone Failed to Set Up Properly."})
597
598 slot1_phone_setup_func = phone_setup_on_rat(
599 self.log,
600 ad,
601 slot_1_nw_gen,
602 only_return_fn=True)
603
604 tasks = [(slot1_phone_setup_func, (self.log, ad, slot_1_subid))]
605 if not multithread_func(self.log, tasks):
606 self.log.error("Phone Failed to Set Up Properly.")
607 self.tel_logger.set_result(CallResult("CALL_SETUP_FAILURE"))
608 raise signals.TestFailure("Failed",
609 extras={"fail_reason": "Phone Failed to Set Up Properly."})
610
611 ad_host = self.android_devices[0]
612 ad_mo_1 = self.android_devices[1]
613 ad_mo_2 = self.android_devices[2]
614
615 for host_sub_id in [
616 [slot_0_subid, slot_1_subid],
617 [slot_1_subid, slot_0_subid]]:
618 _, mo1_sub_id, _ = get_subid_on_same_network_of_host_ad(
619 self.android_devices, host_sub_id=host_sub_id[0])
620 set_message_subid(ad_mo_1, mo1_sub_id)
621
622 _, _, mo2_sub_id = get_subid_on_same_network_of_host_ad(
623 self.android_devices, host_sub_id=host_sub_id[1])
624 set_message_subid(ad_mo_2, mo2_sub_id)
625
626 if power_off:
627 res = self._msim_rx_power_off_multiple_sms_test(
628 ad_mo_1,
629 ad_mo_2,
630 ad_host,
631 mo1_sub_id,
632 mo2_sub_id,
633 host_sub_id[0],
634 host_sub_id[1],
635 5,
636 5)
637 else:
638 res = self._msim_sms_collision_test(
639 ad_mo_1,
640 ad_mo_2,
641 ad_host,
642 ad_host,
643 mo1_sub_id,
644 mo2_sub_id,
645 host_sub_id[0],
646 host_sub_id[1])
647
648 if not res:
649 log_messaging_screen_shot(
650 ad_host, test_name="sms rx subid: %s" % host_sub_id[0])
651 log_messaging_screen_shot(
652 ad_host, test_name="sms rx subid: %s" % host_sub_id[1])
653 log_messaging_screen_shot(
654 ad_mo_1, test_name="sms tx subid: %s" % mo1_sub_id)
655 log_messaging_screen_shot(
656 ad_mo_2, test_name="sms tx subid: %s" % mo2_sub_id)
657
658 return False
659 return True
660
Markus Liu915b1122020-03-27 15:04:10 +0800661 @test_tracker_info(uuid="4ae61fdf-2078-4e50-ae03-cb2e9299ce8d")
662 @TelephonyBaseTest.tel_test_wrap
663 def test_msim_sms_mo_volte_psim_dds_slot_0(self):
664 return self._test_msim_message(
665 0, None, 0, mo_rat=["volte", "volte"], msg="SMS", direction="mo")
666
667 @test_tracker_info(uuid="0e8801f8-7203-45ba-aff3-cb667fd538e1")
668 @TelephonyBaseTest.tel_test_wrap
669 def test_msim_sms_mo_volte_psim_dds_slot_1(self):
670 return self._test_msim_message(
671 0, None, 1, mo_rat=["volte", "volte"], msg="SMS", direction="mo")
672
673 @test_tracker_info(uuid="d54c2b4e-2e32-49f0-9536-879eb6f6577e")
674 @TelephonyBaseTest.tel_test_wrap
675 def test_msim_sms_mt_volte_psim_dds_slot_0(self):
676 return self._test_msim_message(
677 None, 0, 0, mt_rat=["volte", "volte"], msg="SMS", direction="mt")
678
679 @test_tracker_info(uuid="feed9119-df31-46f7-afd8-addf4052422a")
680 @TelephonyBaseTest.tel_test_wrap
681 def test_msim_sms_mt_volte_psim_dds_slot_1(self):
682 return self._test_msim_message(
683 None, 0, 1, mt_rat=["volte", "volte"], msg="SMS", direction="mt")
684
685 @test_tracker_info(uuid="1da9965c-c863-4e6e-9374-a082fa16d6fd")
686 @TelephonyBaseTest.tel_test_wrap
687 def test_msim_sms_mo_volte_esim_dds_slot_0(self):
688 return self._test_msim_message(
689 1, None, 0, mo_rat=["volte", "volte"], msg="SMS", direction="mo")
690
691 @test_tracker_info(uuid="64aec600-851f-4bde-b66c-130c69d1d5b6")
692 @TelephonyBaseTest.tel_test_wrap
693 def test_msim_sms_mo_volte_esim_dds_slot_1(self):
694 return self._test_msim_message(
695 1, None, 1, mo_rat=["volte", "volte"], msg="SMS", direction="mo")
696
697 @test_tracker_info(uuid="9ce40c2c-3a59-4612-a0cc-4fcba887856c")
698 @TelephonyBaseTest.tel_test_wrap
699 def test_msim_sms_mt_volte_esim_dds_slot_0(self):
700 return self._test_msim_message(
701 None, 1, 0, mt_rat=["volte", "volte"], msg="SMS", direction="mt")
702
703 @test_tracker_info(uuid="4e46081d-733d-47d9-be4d-9e492de38bcd")
704 @TelephonyBaseTest.tel_test_wrap
705 def test_msim_sms_mt_volte_esim_dds_slot_1(self):
706 return self._test_msim_message(
707 None, 1, 1, mt_rat=["volte", "volte"], msg="SMS", direction="mt")
708
Markus Liu915b1122020-03-27 15:04:10 +0800709 @test_tracker_info(uuid="5ede96ed-78b5-4cfb-94a3-44c34d610bef")
710 @TelephonyBaseTest.tel_test_wrap
711 def test_msim_sms_mo_volte_csfb_psim_dds_slot_0(self):
712 return self._test_msim_message(
713 0, None, 0, mo_rat=["volte", "csfb"], msg="SMS", direction="mo")
714
715 @test_tracker_info(uuid="ae681d36-e450-4453-88a8-e9abf4bdf723")
716 @TelephonyBaseTest.tel_test_wrap
717 def test_msim_sms_mo_volte_csfb_psim_dds_slot_1(self):
718 return self._test_msim_message(
719 0, None, 1, mo_rat=["volte", "csfb"], msg="SMS", direction="mo")
720
721 @test_tracker_info(uuid="6490abf9-7fc9-4168-ba20-7da0cb18d96e")
722 @TelephonyBaseTest.tel_test_wrap
723 def test_msim_sms_mt_volte_csfb_psim_dds_slot_0(self):
724 return self._test_msim_message(
725 None, 0, 0, mt_rat=["volte", "csfb"], msg="SMS", direction="mt")
726
727 @test_tracker_info(uuid="71590c9e-add0-4cbb-a530-07f58d26d954")
728 @TelephonyBaseTest.tel_test_wrap
729 def test_msim_sms_mt_volte_csfb_psim_dds_slot_1(self):
730 return self._test_msim_message(
731 None, 0, 1, mt_rat=["volte", "csfb"], msg="SMS", direction="mt")
732
733 @test_tracker_info(uuid="1b033914-8a26-48e0-829a-c85b5a93ce42")
734 @TelephonyBaseTest.tel_test_wrap
735 def test_msim_sms_mo_volte_csfb_esim_dds_slot_0(self):
736 return self._test_msim_message(
737 1, None, 0, mo_rat=["volte", "csfb"], msg="SMS", direction="mo")
738
739 @test_tracker_info(uuid="15ebac40-5dc3-47ee-a787-ae6f9d71aff6")
740 @TelephonyBaseTest.tel_test_wrap
741 def test_msim_sms_mo_volte_csfb_esim_dds_slot_1(self):
742 return self._test_msim_message(
743 1, None, 1, mo_rat=["volte", "csfb"], msg="SMS", direction="mo")
744
745 @test_tracker_info(uuid="b38390d2-b5ab-414b-9c61-2324395a56a6")
746 @TelephonyBaseTest.tel_test_wrap
747 def test_msim_sms_mt_volte_csfb_esim_dds_slot_0(self):
748 return self._test_msim_message(
749 None, 1, 0, mt_rat=["volte", "csfb"], msg="SMS", direction="mt")
750
751 @test_tracker_info(uuid="1c4a3a34-800a-4117-8c32-b6ec7d58a5cb")
752 @TelephonyBaseTest.tel_test_wrap
753 def test_msim_sms_mt_volte_csfb_esim_dds_slot_1(self):
754 return self._test_msim_message(
755 None, 1, 1, mt_rat=["volte", "csfb"], msg="SMS", direction="mt")
756
Markus Liu915b1122020-03-27 15:04:10 +0800757 @test_tracker_info(uuid="c7645032-8006-448e-ae3e-86c9223482cf")
758 @TelephonyBaseTest.tel_test_wrap
759 def test_msim_sms_mo_csfb_volte_psim_dds_slot_0(self):
760 return self._test_msim_message(
761 0, None, 0, mo_rat=["csfb", "volte"], msg="SMS", direction="mo")
762
763 @test_tracker_info(uuid="a4455da1-6314-4d2e-a6eb-c7e063a5fd10")
764 @TelephonyBaseTest.tel_test_wrap
765 def test_msim_sms_mo_csfb_volte_psim_dds_slot_1(self):
766 return self._test_msim_message(
767 0, None, 1, mo_rat=["csfb", "volte"], msg="SMS", direction="mo")
768
769 @test_tracker_info(uuid="60828bcc-0111-4d97-ac01-b43ff9c33b11")
770 @TelephonyBaseTest.tel_test_wrap
771 def test_msim_sms_mt_csfb_volte_psim_dds_slot_0(self):
772 return self._test_msim_message(
773 None, 0, 0, mt_rat=["csfb", "volte"], msg="SMS", direction="mt")
774
775 @test_tracker_info(uuid="d0f04ab9-c1fe-41b1-8ffc-7bf7cbb408ea")
776 @TelephonyBaseTest.tel_test_wrap
777 def test_msim_sms_mt_csfb_volte_psim_dds_slot_1(self):
778 return self._test_msim_message(
779 None, 0, 1, mt_rat=["csfb", "volte"], msg="SMS", direction="mt")
780
781 @test_tracker_info(uuid="97ad2e6f-8b71-49d4-870c-2f4438351880")
782 @TelephonyBaseTest.tel_test_wrap
783 def test_msim_sms_mo_csfb_volte_esim_dds_slot_0(self):
784 return self._test_msim_message(
785 1, None, 0, mo_rat=["csfb", "volte"], msg="SMS", direction="mo")
786
787 @test_tracker_info(uuid="8353bce2-a800-440c-9822-a922343d0ff5")
788 @TelephonyBaseTest.tel_test_wrap
789 def test_msim_sms_mo_csfb_volte_esim_dds_slot_1(self):
790 return self._test_msim_message(
791 1, None, 1, mo_rat=["csfb", "volte"], msg="SMS", direction="mo")
792
793 @test_tracker_info(uuid="7659d23d-8cf4-4ace-8e53-b26fc2fca38c")
794 @TelephonyBaseTest.tel_test_wrap
795 def test_msim_sms_mt_csfb_volte_esim_dds_slot_0(self):
796 return self._test_msim_message(
797 None, 1, 0, mt_rat=["csfb", "volte"], msg="SMS", direction="mt")
798
799 @test_tracker_info(uuid="91577f12-4a0e-4743-82bc-1b7581a6940d")
800 @TelephonyBaseTest.tel_test_wrap
801 def test_msim_sms_mt_csfb_volte_esim_dds_slot_1(self):
802 return self._test_msim_message(
803 None, 1, 1, mt_rat=["csfb", "volte"], msg="SMS", direction="mt")
804
Markus Liu915b1122020-03-27 15:04:10 +0800805 @test_tracker_info(uuid="a5f2c1b0-5ae7-4187-ad63-4782dc47f62b")
806 @TelephonyBaseTest.tel_test_wrap
807 def test_msim_sms_mo_volte_3g_psim_dds_slot_0(self):
808 return self._test_msim_message(
809 0, None, 0, mo_rat=["volte", "3g"], msg="SMS", direction="mo")
810
811 @test_tracker_info(uuid="0c983462-5372-4aae-a484-53da4d2b9553")
812 @TelephonyBaseTest.tel_test_wrap
813 def test_msim_sms_mo_volte_3g_psim_dds_slot_1(self):
814 return self._test_msim_message(
815 0, None, 1, mo_rat=["volte", "3g"], msg="SMS", direction="mo")
816
817 @test_tracker_info(uuid="8266aaac-9d67-42c3-9260-d80c377b1ef9")
818 @TelephonyBaseTest.tel_test_wrap
819 def test_msim_sms_mt_volte_3g_psim_dds_slot_0(self):
820 return self._test_msim_message(
821 None, 0, 0, mt_rat=["volte", "3g"], msg="SMS", direction="mt")
822
823 @test_tracker_info(uuid="d6ae749b-5e69-489e-8fda-fcb38aaa6cb0")
824 @TelephonyBaseTest.tel_test_wrap
825 def test_msim_sms_mt_volte_3g_psim_dds_slot_1(self):
826 return self._test_msim_message(
827 None, 0, 1, mt_rat=["volte", "3g"], msg="SMS", direction="mt")
828
829 @test_tracker_info(uuid="f4985e53-d530-491c-94cd-51ba22a34eff")
830 @TelephonyBaseTest.tel_test_wrap
831 def test_msim_sms_mo_volte_3g_esim_dds_slot_0(self):
832 return self._test_msim_message(
833 1, None, 0, mo_rat=["volte", "3g"], msg="SMS", direction="mo")
834
835 @test_tracker_info(uuid="b4fc2379-6937-404a-a659-249c1ccf9dd0")
836 @TelephonyBaseTest.tel_test_wrap
837 def test_msim_sms_mo_volte_3g_esim_dds_slot_1(self):
838 return self._test_msim_message(
839 1, None, 1, mo_rat=["volte", "3g"], msg="SMS", direction="mo")
840
841 @test_tracker_info(uuid="e1027a25-b19f-4fb7-bfb9-79919e380c25")
842 @TelephonyBaseTest.tel_test_wrap
843 def test_msim_sms_mt_volte_3g_esim_dds_slot_0(self):
844 return self._test_msim_message(
845 None, 1, 0, mt_rat=["volte", "3g"], msg="SMS", direction="mt")
846
847 @test_tracker_info(uuid="7cf99f83-0542-42c8-8e72-1653e381aa6c")
848 @TelephonyBaseTest.tel_test_wrap
849 def test_msim_sms_mt_volte_3g_esim_dds_slot_1(self):
850 return self._test_msim_message(
851 None, 1, 1, mt_rat=["volte", "3g"], msg="SMS", direction="mt")
852
Markus Liu915b1122020-03-27 15:04:10 +0800853 @test_tracker_info(uuid="c1084606-a63b-41da-a0cb-2db972b6a8ce")
854 @TelephonyBaseTest.tel_test_wrap
855 def test_msim_sms_mo_3g_volte_psim_dds_slot_0(self):
856 return self._test_msim_message(
857 0, None, 0, mo_rat=["3g", "volte"], msg="SMS", direction="mo")
858
859 @test_tracker_info(uuid="4806716c-047a-4a33-a317-97d3cce5d2ca")
860 @TelephonyBaseTest.tel_test_wrap
861 def test_msim_sms_mo_3g_volte_psim_dds_slot_1(self):
862 return self._test_msim_message(
863 0, None, 1, mo_rat=["3g", "volte"], msg="SMS", direction="mo")
864
865 @test_tracker_info(uuid="2877ff0b-d567-4683-baa3-20e254ed025c")
866 @TelephonyBaseTest.tel_test_wrap
867 def test_msim_sms_mt_3g_volte_psim_dds_slot_0(self):
868 return self._test_msim_message(
869 None, 0, 0, mt_rat=["3g", "volte"], msg="SMS", direction="mt")
870
871 @test_tracker_info(uuid="6bf3ea1b-e75c-4844-a311-5a18b1b7a1b8")
872 @TelephonyBaseTest.tel_test_wrap
873 def test_msim_sms_mt_3g_volte_psim_dds_slot_1(self):
874 return self._test_msim_message(
875 None, 0, 1, mt_rat=["3g", "volte"], msg="SMS", direction="mt")
876
877 @test_tracker_info(uuid="fb7bf8b2-fa44-4e05-a0ab-16e7b1907e6b")
878 @TelephonyBaseTest.tel_test_wrap
879 def test_msim_sms_mo_3g_volte_esim_dds_slot_0(self):
880 return self._test_msim_message(
881 1, None, 0, mo_rat=["3g", "volte"], msg="SMS", direction="mo")
882
883 @test_tracker_info(uuid="d9090125-61cb-4ef5-97de-06c2ec8529bd")
884 @TelephonyBaseTest.tel_test_wrap
885 def test_msim_sms_mo_3g_volte_esim_dds_slot_1(self):
886 return self._test_msim_message(
887 1, None, 1, mo_rat=["3g", "volte"], msg="SMS", direction="mo")
888
889 @test_tracker_info(uuid="d764c5ea-a34a-4b29-ab50-63bd63ebe5c4")
890 @TelephonyBaseTest.tel_test_wrap
891 def test_msim_sms_mt_3g_volte_esim_dds_slot_0(self):
892 return self._test_msim_message(
893 None, 1, 0, mt_rat=["3g", "volte"], msg="SMS", direction="mt")
894
895 @test_tracker_info(uuid="fe7d2f8c-eeb6-4ae9-a57d-1636d3153d2b")
896 @TelephonyBaseTest.tel_test_wrap
897 def test_msim_sms_mt_3g_volte_esim_dds_slot_1(self):
898 return self._test_msim_message(
899 None, 1, 1, mt_rat=["3g", "volte"], msg="SMS", direction="mt")
900
Markus Liu915b1122020-03-27 15:04:10 +0800901 @test_tracker_info(uuid="b9a5cb40-4986-4811-90e7-628d1729ccb2")
902 @TelephonyBaseTest.tel_test_wrap
903 def test_msim_sms_mo_csfb_psim_dds_slot_0(self):
904 return self._test_msim_message(
905 0, None, 0, mo_rat=["csfb", "csfb"], msg="SMS", direction="mo")
906
907 @test_tracker_info(uuid="220665c1-4c63-4450-b8bb-17fc6df24498")
908 @TelephonyBaseTest.tel_test_wrap
909 def test_msim_sms_mo_csfb_psim_dds_slot_1(self):
910 return self._test_msim_message(
911 0, None, 1, mo_rat=["csfb", "csfb"], msg="SMS", direction="mo")
912
913 @test_tracker_info(uuid="968217a6-320f-41f0-b401-7c377309d983")
914 @TelephonyBaseTest.tel_test_wrap
915 def test_msim_sms_mt_csfb_psim_dds_slot_0(self):
916 return self._test_msim_message(
917 None, 0, 0, mt_rat=["csfb", "csfb"], msg="SMS", direction="mt")
918
919 @test_tracker_info(uuid="c6a5bf63-af40-4619-a0eb-0d1835fde36c")
920 @TelephonyBaseTest.tel_test_wrap
921 def test_msim_sms_mt_csfb_psim_dds_slot_1(self):
922 return self._test_msim_message(
923 None, 0, 1, mt_rat=["csfb", "csfb"], msg="SMS", direction="mt")
924
925 @test_tracker_info(uuid="ea9f4e72-0dea-4f5f-b5ff-4a0bad0d29a0")
926 @TelephonyBaseTest.tel_test_wrap
927 def test_msim_sms_mo_csfb_esim_dds_slot_0(self):
928 return self._test_msim_message(
929 1, None, 0, mo_rat=["csfb", "csfb"], msg="SMS", direction="mo")
930
931 @test_tracker_info(uuid="4eb935f0-2b11-4b2d-8faa-9a022e36813a")
932 @TelephonyBaseTest.tel_test_wrap
933 def test_msim_sms_mo_csfb_esim_dds_slot_1(self):
934 return self._test_msim_message(
935 1, None, 1, mo_rat=["csfb", "csfb"], msg="SMS", direction="mo")
936
937 @test_tracker_info(uuid="765e31fd-b412-43a8-a6a8-5d3ae66cab18")
938 @TelephonyBaseTest.tel_test_wrap
939 def test_msim_sms_mt_csfb_esim_dds_slot_0(self):
940 return self._test_msim_message(
941 None, 1, 0, mt_rat=["csfb", "csfb"], msg="SMS", direction="mt")
942
943 @test_tracker_info(uuid="bc6ada03-6a5e-4fe7-80c4-3aebc9fa426f")
944 @TelephonyBaseTest.tel_test_wrap
945 def test_msim_sms_mt_csfb_esim_dds_slot_1(self):
946 return self._test_msim_message(
947 None, 1, 1, mt_rat=["csfb", "csfb"], msg="SMS", direction="mt")
948
Markus Liu915b1122020-03-27 15:04:10 +0800949 @test_tracker_info(uuid="a42994d0-bdb3-487e-98f2-665899d3edba")
950 @TelephonyBaseTest.tel_test_wrap
951 def test_msim_sms_mo_csfb_3g_psim_dds_slot_0(self):
952 return self._test_msim_message(
953 0, None, 0, mo_rat=["csfb", "3g"], msg="SMS", direction="mo")
954
955 @test_tracker_info(uuid="d8ef0ac8-9cb1-4f32-8211-84dee563af00")
956 @TelephonyBaseTest.tel_test_wrap
957 def test_msim_sms_mo_csfb_3g_psim_dds_slot_1(self):
958 return self._test_msim_message(
959 0, None, 1, mo_rat=["csfb", "3g"], msg="SMS", direction="mo")
960
961 @test_tracker_info(uuid="f4eb2254-5148-4cf9-b53f-56d8665de645")
962 @TelephonyBaseTest.tel_test_wrap
963 def test_msim_sms_mt_csfb_3g_psim_dds_slot_0(self):
964 return self._test_msim_message(
965 None, 0, 0, mt_rat=["csfb", "3g"], msg="SMS", direction="mt")
966
967 @test_tracker_info(uuid="fd546290-f7e7-47ff-b165-a9bb01e91c64")
968 @TelephonyBaseTest.tel_test_wrap
969 def test_msim_sms_mt_csfb_3g_psim_dds_slot_1(self):
970 return self._test_msim_message(
971 None, 0, 1, mt_rat=["csfb", "3g"], msg="SMS", direction="mt")
972
973 @test_tracker_info(uuid="d6994024-e845-48e2-9cd6-d72e97480a8a")
974 @TelephonyBaseTest.tel_test_wrap
975 def test_msim_sms_mo_csfb_3g_esim_dds_slot_0(self):
976 return self._test_msim_message(
977 1, None, 0, mo_rat=["csfb", "3g"], msg="SMS", direction="mo")
978
979 @test_tracker_info(uuid="c816165e-49d8-4d0a-8bb5-e64ad910a55a")
980 @TelephonyBaseTest.tel_test_wrap
981 def test_msim_sms_mo_csfb_3g_esim_dds_slot_1(self):
982 return self._test_msim_message(
983 1, None, 1, mo_rat=["csfb", "3g"], msg="SMS", direction="mo")
984
985 @test_tracker_info(uuid="647d546f-b325-4b91-be84-0bedf5a33210")
986 @TelephonyBaseTest.tel_test_wrap
987 def test_msim_sms_mt_csfb_3g_esim_dds_slot_0(self):
988 return self._test_msim_message(
989 None, 1, 0, mt_rat=["csfb", "3g"], msg="SMS", direction="mt")
990
991 @test_tracker_info(uuid="98b7e161-4953-4566-a96c-21545bf05e51")
992 @TelephonyBaseTest.tel_test_wrap
993 def test_msim_sms_mt_csfb_3g_esim_dds_slot_1(self):
994 return self._test_msim_message(
995 None, 1, 1, mt_rat=["csfb", "3g"], msg="SMS", direction="mt")
996
Markus Liu915b1122020-03-27 15:04:10 +0800997 @test_tracker_info(uuid="9a3d1330-e70e-4ac0-a8bc-fec5710a8dcd")
998 @TelephonyBaseTest.tel_test_wrap
999 def test_msim_sms_mo_3g_csfb_psim_dds_slot_0(self):
1000 return self._test_msim_message(
1001 0, None, 0, mo_rat=["3g", "csfb"], msg="SMS", direction="mo")
1002
1003 @test_tracker_info(uuid="51b4edd3-a867-409e-b367-2fd8cf0eb4a6")
1004 @TelephonyBaseTest.tel_test_wrap
1005 def test_msim_sms_mo_3g_csfb_psim_dds_slot_1(self):
1006 return self._test_msim_message(
1007 0, None, 1, mo_rat=["3g", "csfb"], msg="SMS", direction="mo")
1008
1009 @test_tracker_info(uuid="dba9cb2b-84bd-47db-a5a6-826e54a1bbeb")
1010 @TelephonyBaseTest.tel_test_wrap
1011 def test_msim_sms_mt_3g_csfb_psim_dds_slot_0(self):
1012 return self._test_msim_message(
1013 None, 0, 0, mt_rat=["3g", "csfb"], msg="SMS", direction="mt")
1014
1015 @test_tracker_info(uuid="263494aa-f3c4-450e-b5bf-b9331d9c9dd8")
1016 @TelephonyBaseTest.tel_test_wrap
1017 def test_msim_sms_mt_3g_csfb_psim_dds_slot_1(self):
1018 return self._test_msim_message(
1019 None, 0, 1, mt_rat=["3g", "csfb"], msg="SMS", direction="mt")
1020
1021 @test_tracker_info(uuid="7ba231b8-edc9-4f64-ba7e-5f0360c4eed5")
1022 @TelephonyBaseTest.tel_test_wrap
1023 def test_msim_sms_mo_3g_csfb_esim_dds_slot_0(self):
1024 return self._test_msim_message(
1025 1, None, 0, mo_rat=["3g", "csfb"], msg="SMS", direction="mo")
1026
1027 @test_tracker_info(uuid="ca1e9c35-07f2-4e32-8a59-61efc37f11a4")
1028 @TelephonyBaseTest.tel_test_wrap
1029 def test_msim_sms_mo_3g_csfb_esim_dds_slot_1(self):
1030 return self._test_msim_message(
1031 1, None, 1, mo_rat=["3g", "csfb"], msg="SMS", direction="mo")
1032
1033 @test_tracker_info(uuid="f19252c0-8ff6-4267-adcd-f676407333e6")
1034 @TelephonyBaseTest.tel_test_wrap
1035 def test_msim_sms_mt_3g_csfb_esim_dds_slot_0(self):
1036 return self._test_msim_message(
1037 None, 1, 0, mt_rat=["3g", "csfb"], msg="SMS", direction="mt")
1038
1039 @test_tracker_info(uuid="34ef2001-d80d-4818-b458-1e8a9556e5cd")
1040 @TelephonyBaseTest.tel_test_wrap
1041 def test_msim_sms_mt_3g_csfb_esim_dds_slot_1(self):
1042 return self._test_msim_message(
1043 None, 1, 1, mt_rat=["3g", "csfb"], msg="SMS", direction="mt")
1044
Markus Liu915b1122020-03-27 15:04:10 +08001045 @test_tracker_info(uuid="947ceba7-9aeb-402c-ba36-4856bc4352eb")
1046 @TelephonyBaseTest.tel_test_wrap
1047 def test_msim_sms_mo_3g_psim_dds_slot_0(self):
1048 return self._test_msim_message(
1049 0, None, 0, mo_rat=["3g", "3g"], msg="SMS", direction="mo")
1050
1051 @test_tracker_info(uuid="9f9677e1-1215-49ed-a671-22e7779659a9")
1052 @TelephonyBaseTest.tel_test_wrap
1053 def test_msim_sms_mo_3g_psim_dds_slot_1(self):
1054 return self._test_msim_message(
1055 0, None, 1, mo_rat=["3g", "3g"], msg="SMS", direction="mo")
1056
1057 @test_tracker_info(uuid="f77112c8-85e8-4584-a0b7-bba11c23be7d")
1058 @TelephonyBaseTest.tel_test_wrap
1059 def test_msim_sms_mt_3g_psim_dds_slot_0(self):
1060 return self._test_msim_message(
1061 None, 0, 0, mt_rat=["3g", "3g"], msg="SMS", direction="mt")
1062
1063 @test_tracker_info(uuid="facc19fd-7846-488e-9cf1-755f81d0fee2")
1064 @TelephonyBaseTest.tel_test_wrap
1065 def test_msim_sms_mt_3g_psim_dds_slot_1(self):
1066 return self._test_msim_message(
1067 None, 0, 1, mt_rat=["3g", "3g"], msg="SMS", direction="mt")
1068
1069 @test_tracker_info(uuid="5a26f35e-c038-409e-8941-7e0b475ebda8")
1070 @TelephonyBaseTest.tel_test_wrap
1071 def test_msim_sms_mo_3g_esim_dds_slot_0(self):
1072 return self._test_msim_message(
1073 1, None, 0, mo_rat=["3g", "3g"], msg="SMS", direction="mo")
1074
1075 @test_tracker_info(uuid="c303aa26-0fd0-44d7-b2fc-32782deaf5ea")
1076 @TelephonyBaseTest.tel_test_wrap
1077 def test_msim_sms_mo_3g_esim_dds_slot_1(self):
1078 return self._test_msim_message(
1079 1, None, 1, mo_rat=["3g", "3g"], msg="SMS", direction="mo")
1080
1081 @test_tracker_info(uuid="45cbddd3-889d-46ab-8d7f-9dd971287155")
1082 @TelephonyBaseTest.tel_test_wrap
1083 def test_msim_sms_mt_3g_esim_dds_slot_0(self):
1084 return self._test_msim_message(
1085 None, 1, 0, mt_rat=["3g", "3g"], msg="SMS", direction="mt")
1086
1087 @test_tracker_info(uuid="7dacd6b2-9d21-4c4d-bec4-fdfe685cdce8")
1088 @TelephonyBaseTest.tel_test_wrap
1089 def test_msim_sms_mt_3g_esim_dds_slot_1(self):
1090 return self._test_msim_message(
1091 None, 1, 1, mt_rat=["3g", "3g"], msg="SMS", direction="mt")
1092
Markus Liu915b1122020-03-27 15:04:10 +08001093 @test_tracker_info(uuid="24268e9f-b047-4c67-92f9-22e0bd8b3a11")
1094 @TelephonyBaseTest.tel_test_wrap
1095 def test_msim_mms_mo_volte_psim_dds_slot_0(self):
1096 return self._test_msim_message(
1097 0, None, 0, mo_rat=["volte", "volte"], msg="MMS", direction="mo")
1098
1099 @test_tracker_info(uuid="1d72b01d-5ca7-4899-ae57-ecbeff09bc39")
1100 @TelephonyBaseTest.tel_test_wrap
1101 def test_msim_mms_mo_volte_psim_dds_slot_1(self):
1102 return self._test_msim_message(
1103 0, None, 1, mo_rat=["volte", "volte"], msg="MMS", direction="mo")
1104
1105 @test_tracker_info(uuid="ca2ad510-7f5e-49e4-861e-d433f86c2237")
1106 @TelephonyBaseTest.tel_test_wrap
1107 def test_msim_mms_mt_volte_psim_dds_slot_0(self):
1108 return self._test_msim_message(
1109 None, 0, 0, mt_rat=["volte", "volte"], msg="MMS", direction="mt")
1110
1111 @test_tracker_info(uuid="63a0480a-18dd-43e5-82e9-45e008346ea9")
1112 @TelephonyBaseTest.tel_test_wrap
1113 def test_msim_mms_mt_volte_psim_dds_slot_1(self):
1114 return self._test_msim_message(
1115 None, 0, 1, mt_rat=["volte", "volte"], msg="MMS", direction="mt")
1116
1117 @test_tracker_info(uuid="5e51f0d9-f1b6-4bfe-88ab-f28ebaa6ee55")
1118 @TelephonyBaseTest.tel_test_wrap
1119 def test_msim_mms_mo_volte_esim_dds_slot_0(self):
1120 return self._test_msim_message(
1121 1, None, 0, mo_rat=["volte", "volte"], msg="MMS", direction="mo")
1122
1123 @test_tracker_info(uuid="fcc7e8aa-41a4-48a1-9586-d6080c77a79b")
1124 @TelephonyBaseTest.tel_test_wrap
1125 def test_msim_mms_mo_volte_esim_dds_slot_1(self):
1126 return self._test_msim_message(
1127 1, None, 1, mo_rat=["volte", "volte"], msg="MMS", direction="mo")
1128
1129 @test_tracker_info(uuid="f633bf56-2d15-462b-994d-e9294d87ca23")
1130 @TelephonyBaseTest.tel_test_wrap
1131 def test_msim_mms_mt_volte_esim_dds_slot_0(self):
1132 return self._test_msim_message(
1133 None, 1, 0, mt_rat=["volte", "volte"], msg="MMS", direction="mt")
1134
1135 @test_tracker_info(uuid="3c336061-32cf-4e9a-bb1e-b54e3357e644")
1136 @TelephonyBaseTest.tel_test_wrap
1137 def test_msim_mms_mt_volte_esim_dds_slot_1(self):
1138 return self._test_msim_message(
1139 None, 1, 1, mt_rat=["volte", "volte"], msg="MMS", direction="mt")
1140
Markus Liu915b1122020-03-27 15:04:10 +08001141 @test_tracker_info(uuid="50ee8103-0196-4194-b982-9d07c68e57e4")
1142 @TelephonyBaseTest.tel_test_wrap
1143 def test_msim_mms_mo_volte_csfb_psim_dds_slot_0(self):
1144 return self._test_msim_message(
1145 0, None, 0, mo_rat=["volte", "csfb"], msg="MMS", direction="mo")
1146
1147 @test_tracker_info(uuid="ec09405d-b12d-405c-9bfd-ba3eb20eb752")
1148 @TelephonyBaseTest.tel_test_wrap
1149 def test_msim_mms_mo_volte_csfb_psim_dds_slot_1(self):
1150 return self._test_msim_message(
1151 0, None, 1, mo_rat=["volte", "csfb"], msg="MMS", direction="mo")
1152
1153 @test_tracker_info(uuid="26bea731-b653-4e9f-98d1-1b290b959bfc")
1154 @TelephonyBaseTest.tel_test_wrap
1155 def test_msim_mms_mt_volte_csfb_psim_dds_slot_0(self):
1156 return self._test_msim_message(
1157 None, 0, 0, mt_rat=["volte", "csfb"], msg="MMS", direction="mt")
1158
1159 @test_tracker_info(uuid="ecc010da-1798-4da3-b041-13e2b2547548")
1160 @TelephonyBaseTest.tel_test_wrap
1161 def test_msim_mms_mt_volte_csfb_psim_dds_slot_1(self):
1162 return self._test_msim_message(
1163 None, 0, 1, mt_rat=["volte", "csfb"], msg="MMS", direction="mt")
1164
1165 @test_tracker_info(uuid="cf4c5bd0-525a-497a-a0f8-17acd9dbeabd")
1166 @TelephonyBaseTest.tel_test_wrap
1167 def test_msim_mms_mo_volte_csfb_esim_dds_slot_0(self):
1168 return self._test_msim_message(
1169 1, None, 0, mo_rat=["volte", "csfb"], msg="MMS", direction="mo")
1170
1171 @test_tracker_info(uuid="603f22db-913b-4ad3-b148-7c6d3624bc09")
1172 @TelephonyBaseTest.tel_test_wrap
1173 def test_msim_mms_mo_volte_csfb_esim_dds_slot_1(self):
1174 return self._test_msim_message(
1175 1, None, 1, mo_rat=["volte", "csfb"], msg="MMS", direction="mo")
1176
1177 @test_tracker_info(uuid="561efaf1-7fe4-4196-991e-d03eee28fb4e")
1178 @TelephonyBaseTest.tel_test_wrap
1179 def test_msim_mms_mt_volte_csfb_esim_dds_slot_0(self):
1180 return self._test_msim_message(
1181 None, 1, 0, mt_rat=["volte", "csfb"], msg="MMS", direction="mt")
1182
1183 @test_tracker_info(uuid="6f383ef0-d99a-4a3d-b137-e24fa03306b9")
1184 @TelephonyBaseTest.tel_test_wrap
1185 def test_msim_mms_mt_volte_csfb_esim_dds_slot_1(self):
1186 return self._test_msim_message(
1187 None, 1, 1, mt_rat=["volte", "csfb"], msg="MMS", direction="mt")
1188
Markus Liu915b1122020-03-27 15:04:10 +08001189 @test_tracker_info(uuid="eeaa1262-c2a0-4f47-baa5-7435fa9e9315")
1190 @TelephonyBaseTest.tel_test_wrap
1191 def test_msim_mms_mo_csfb_volte_psim_dds_slot_0(self):
1192 return self._test_msim_message(
1193 0, None, 0, mo_rat=["csfb", "volte"], msg="MMS", direction="mo")
1194
1195 @test_tracker_info(uuid="478f5497-cc21-4634-8b97-df70dbe286c0")
1196 @TelephonyBaseTest.tel_test_wrap
1197 def test_msim_mms_mo_csfb_volte_psim_dds_slot_1(self):
1198 return self._test_msim_message(
1199 0, None, 1, mo_rat=["csfb", "volte"], msg="MMS", direction="mo")
1200
1201 @test_tracker_info(uuid="1c4af9c6-87d6-438c-aba7-70d8bb4b357e")
1202 @TelephonyBaseTest.tel_test_wrap
1203 def test_msim_mms_mt_csfb_volte_psim_dds_slot_0(self):
1204 return self._test_msim_message(
1205 None, 0, 0, mt_rat=["csfb", "volte"], msg="MMS", direction="mt")
1206
1207 @test_tracker_info(uuid="825daee3-db6c-404a-a454-cea98182bf5a")
1208 @TelephonyBaseTest.tel_test_wrap
1209 def test_msim_mms_mt_csfb_volte_psim_dds_slot_1(self):
1210 return self._test_msim_message(
1211 None, 0, 1, mt_rat=["csfb", "volte"], msg="MMS", direction="mt")
1212
1213 @test_tracker_info(uuid="50fe9f3e-eae1-4a01-8655-02340f85037a")
1214 @TelephonyBaseTest.tel_test_wrap
1215 def test_msim_mms_mo_csfb_volte_esim_dds_slot_0(self):
1216 return self._test_msim_message(
1217 1, None, 0, mo_rat=["csfb", "volte"], msg="MMS", direction="mo")
1218
1219 @test_tracker_info(uuid="bae89139-f73f-4a06-bb65-a0bae385fae9")
1220 @TelephonyBaseTest.tel_test_wrap
1221 def test_msim_mms_mo_csfb_volte_esim_dds_slot_1(self):
1222 return self._test_msim_message(
1223 1, None, 1, mo_rat=["csfb", "volte"], msg="MMS", direction="mo")
1224
1225 @test_tracker_info(uuid="42e897e3-4411-45a0-bf62-3ea6f59c2617")
1226 @TelephonyBaseTest.tel_test_wrap
1227 def test_msim_mms_mt_csfb_volte_esim_dds_slot_0(self):
1228 return self._test_msim_message(
1229 None, 1, 0, mt_rat=["csfb", "volte"], msg="MMS", direction="mt")
1230
1231 @test_tracker_info(uuid="9847b0c8-517e-42ea-9306-8a4a1cd46cd8")
1232 @TelephonyBaseTest.tel_test_wrap
1233 def test_msim_mms_mt_csfb_volte_esim_dds_slot_1(self):
1234 return self._test_msim_message(
1235 None, 1, 1, mt_rat=["csfb", "volte"], msg="MMS", direction="mt")
1236
Markus Liu915b1122020-03-27 15:04:10 +08001237 @test_tracker_info(uuid="5057f8e4-19e7-42c0-bc63-1678d8ce1504")
1238 @TelephonyBaseTest.tel_test_wrap
1239 def test_msim_mms_mo_volte_3g_psim_dds_slot_0(self):
1240 return self._test_msim_message(
1241 0, None, 0, mo_rat=["volte", "3g"], msg="MMS", direction="mo")
1242
1243 @test_tracker_info(uuid="52bb44ae-0263-4415-8a61-337a8f990f8b")
1244 @TelephonyBaseTest.tel_test_wrap
1245 def test_msim_mms_mo_volte_3g_psim_dds_slot_1(self):
1246 return self._test_msim_message(
1247 0, None, 1, mo_rat=["volte", "3g"], msg="MMS", direction="mo")
1248
1249 @test_tracker_info(uuid="deb00e73-b63a-4ed8-8b7f-953704b5d783")
1250 @TelephonyBaseTest.tel_test_wrap
1251 def test_msim_mms_mt_volte_3g_psim_dds_slot_0(self):
1252 return self._test_msim_message(
1253 None, 0, 0, mt_rat=["volte", "3g"], msg="MMS", direction="mt")
1254
1255 @test_tracker_info(uuid="e0aa9846-2c02-4ba1-aeef-08a673c497ae")
1256 @TelephonyBaseTest.tel_test_wrap
1257 def test_msim_mms_mt_volte_3g_psim_dds_slot_1(self):
1258 return self._test_msim_message(
1259 None, 0, 1, mt_rat=["volte", "3g"], msg="MMS", direction="mt")
1260
1261 @test_tracker_info(uuid="ef06ae23-6f52-4c3b-b228-5c95ed780cd2")
1262 @TelephonyBaseTest.tel_test_wrap
1263 def test_msim_mms_mo_volte_3g_esim_dds_slot_0(self):
1264 return self._test_msim_message(
1265 1, None, 0, mo_rat=["volte", "3g"], msg="MMS", direction="mo")
1266
1267 @test_tracker_info(uuid="69a62cd6-290b-4e58-81ff-0b35ac82262c")
1268 @TelephonyBaseTest.tel_test_wrap
1269 def test_msim_mms_mo_volte_3g_esim_dds_slot_1(self):
1270 return self._test_msim_message(
1271 1, None, 1, mo_rat=["volte", "3g"], msg="MMS", direction="mo")
1272
1273 @test_tracker_info(uuid="645cef41-ddf8-49b4-8a58-2da019883f32")
1274 @TelephonyBaseTest.tel_test_wrap
1275 def test_msim_mms_mt_volte_3g_esim_dds_slot_0(self):
1276 return self._test_msim_message(
1277 None, 1, 0, mt_rat=["volte", "3g"], msg="MMS", direction="mt")
1278
1279 @test_tracker_info(uuid="b0b8aac3-cc85-47d9-828a-8016138fe466")
1280 @TelephonyBaseTest.tel_test_wrap
1281 def test_msim_mms_mt_volte_3g_esim_dds_slot_1(self):
1282 return self._test_msim_message(
1283 None, 1, 1, mt_rat=["volte", "3g"], msg="MMS", direction="mt")
1284
Markus Liu915b1122020-03-27 15:04:10 +08001285 @test_tracker_info(uuid="1dcebefb-3338-4550-96fa-07b64493db1c")
1286 @TelephonyBaseTest.tel_test_wrap
1287 def test_msim_mms_mo_3g_volte_psim_dds_slot_0(self):
1288 return self._test_msim_message(
1289 0, None, 0, mo_rat=["3g", "volte"], msg="MMS", direction="mo")
1290
1291 @test_tracker_info(uuid="3d06854e-5b86-46fb-9ca2-a217b026733d")
1292 @TelephonyBaseTest.tel_test_wrap
1293 def test_msim_mms_mo_3g_volte_psim_dds_slot_1(self):
1294 return self._test_msim_message(
1295 0, None, 1, mo_rat=["3g", "volte"], msg="MMS", direction="mo")
1296
1297 @test_tracker_info(uuid="0c0f72bc-4076-411d-8a8d-fc6ae414a73a")
1298 @TelephonyBaseTest.tel_test_wrap
1299 def test_msim_mms_mt_3g_volte_psim_dds_slot_0(self):
1300 return self._test_msim_message(
1301 None, 0, 0, mt_rat=["3g", "volte"], msg="MMS", direction="mt")
1302
1303 @test_tracker_info(uuid="b63211fa-baf0-4dff-bd18-d7f80e85e551")
1304 @TelephonyBaseTest.tel_test_wrap
1305 def test_msim_mms_mt_3g_volte_psim_dds_slot_1(self):
1306 return self._test_msim_message(
1307 None, 0, 1, mt_rat=["3g", "volte"], msg="MMS", direction="mt")
1308
1309 @test_tracker_info(uuid="80c2fe4d-e87a-45d7-9b83-23863e75cd94")
1310 @TelephonyBaseTest.tel_test_wrap
1311 def test_msim_mms_mo_3g_volte_esim_dds_slot_0(self):
1312 return self._test_msim_message(
1313 1, None, 0, mo_rat=["3g", "volte"], msg="MMS", direction="mo")
1314
1315 @test_tracker_info(uuid="84be29a1-0b29-4785-baaa-6cf84c503fa6")
1316 @TelephonyBaseTest.tel_test_wrap
1317 def test_msim_mms_mo_3g_volte_esim_dds_slot_1(self):
1318 return self._test_msim_message(
1319 1, None, 1, mo_rat=["3g", "volte"], msg="MMS", direction="mo")
1320
1321 @test_tracker_info(uuid="591d2948-2257-4a46-8ccb-5c628d85fc43")
1322 @TelephonyBaseTest.tel_test_wrap
1323 def test_msim_mms_mt_3g_volte_esim_dds_slot_0(self):
1324 return self._test_msim_message(
1325 None, 1, 0, mt_rat=["3g", "volte"], msg="MMS", direction="mt")
1326
1327 @test_tracker_info(uuid="67e4dae5-8ca5-475f-af0e-f91b89df68ed")
1328 @TelephonyBaseTest.tel_test_wrap
1329 def test_msim_mms_mt_3g_volte_esim_dds_slot_1(self):
1330 return self._test_msim_message(
1331 None, 1, 1, mt_rat=["3g", "volte"], msg="MMS", direction="mt")
1332
Markus Liu915b1122020-03-27 15:04:10 +08001333 @test_tracker_info(uuid="35d33d3e-f618-4ce1-8b40-3dac0ef2731a")
1334 @TelephonyBaseTest.tel_test_wrap
1335 def test_msim_mms_mo_csfb_psim_dds_slot_0(self):
1336 return self._test_msim_message(
1337 0, None, 0, mo_rat=["csfb", "csfb"], msg="MMS", direction="mo")
1338
1339 @test_tracker_info(uuid="179e49c7-7066-4285-9b5b-3ef639d8c5e4")
1340 @TelephonyBaseTest.tel_test_wrap
1341 def test_msim_mms_mo_csfb_psim_dds_slot_1(self):
1342 return self._test_msim_message(
1343 0, None, 1, mo_rat=["csfb", "csfb"], msg="MMS", direction="mo")
1344
1345 @test_tracker_info(uuid="09d6954f-d760-47e5-8667-3ed317fdbfbc")
1346 @TelephonyBaseTest.tel_test_wrap
1347 def test_msim_mms_mt_csfb_psim_dds_slot_0(self):
1348 return self._test_msim_message(
1349 None, 0, 0, mt_rat=["csfb", "csfb"], msg="MMS", direction="mt")
1350
1351 @test_tracker_info(uuid="80f8c18f-2bd6-4310-be39-472d7a24e08a")
1352 @TelephonyBaseTest.tel_test_wrap
1353 def test_msim_mms_mt_csfb_psim_dds_slot_1(self):
1354 return self._test_msim_message(
1355 None, 0, 1, mt_rat=["csfb", "csfb"], msg="MMS", direction="mt")
1356
1357 @test_tracker_info(uuid="b700d261-7616-4226-95cc-59ec54cc2678")
1358 @TelephonyBaseTest.tel_test_wrap
1359 def test_msim_mms_mo_csfb_esim_dds_slot_0(self):
1360 return self._test_msim_message(
1361 1, None, 0, mo_rat=["csfb", "csfb"], msg="MMS", direction="mo")
1362
1363 @test_tracker_info(uuid="5cb2cc81-bf3e-4025-b85b-2bf1a4797e41")
1364 @TelephonyBaseTest.tel_test_wrap
1365 def test_msim_mms_mo_csfb_esim_dds_slot_1(self):
1366 return self._test_msim_message(
1367 1, None, 1, mo_rat=["csfb", "csfb"], msg="MMS", direction="mo")
1368
1369 @test_tracker_info(uuid="1af2ac12-4d2d-4a36-8c46-8b3013eadab2")
1370 @TelephonyBaseTest.tel_test_wrap
1371 def test_msim_mms_mt_csfb_esim_dds_slot_0(self):
1372 return self._test_msim_message(
1373 None, 1, 0, mt_rat=["csfb", "csfb"], msg="MMS", direction="mt")
1374
1375 @test_tracker_info(uuid="66d8108e-8dd9-42e3-b2cd-49a538beecf6")
1376 @TelephonyBaseTest.tel_test_wrap
1377 def test_msim_mms_mt_csfb_esim_dds_slot_1(self):
1378 return self._test_msim_message(
1379 None, 1, 1, mt_rat=["csfb", "csfb"], msg="MMS", direction="mt")
1380
Markus Liu915b1122020-03-27 15:04:10 +08001381 @test_tracker_info(uuid="a35df875-72eb-43d7-874c-a7b3f0aea2a9")
1382 @TelephonyBaseTest.tel_test_wrap
1383 def test_msim_mms_mo_csfb_3g_psim_dds_slot_0(self):
1384 return self._test_msim_message(
1385 0, None, 0, mo_rat=["csfb", "3g"], msg="MMS", direction="mo")
1386
1387 @test_tracker_info(uuid="cf718bda-75d6-4906-a33e-110610b01d4d")
1388 @TelephonyBaseTest.tel_test_wrap
1389 def test_msim_mms_mo_csfb_3g_psim_dds_slot_1(self):
1390 return self._test_msim_message(
1391 0, None, 1, mo_rat=["csfb", "3g"], msg="MMS", direction="mo")
1392
1393 @test_tracker_info(uuid="342cbc1a-7151-425c-9bd6-81808a5eb7e6")
1394 @TelephonyBaseTest.tel_test_wrap
1395 def test_msim_mms_mt_csfb_3g_psim_dds_slot_0(self):
1396 return self._test_msim_message(
1397 None, 0, 0, mt_rat=["csfb", "3g"], msg="MMS", direction="mt")
1398
1399 @test_tracker_info(uuid="01e33aa4-27a9-48fd-b9e8-313980d06b0d")
1400 @TelephonyBaseTest.tel_test_wrap
1401 def test_msim_mms_mt_csfb_3g_psim_dds_slot_1(self):
1402 return self._test_msim_message(
1403 None, 0, 1, mt_rat=["csfb", "3g"], msg="MMS", direction="mt")
1404
1405 @test_tracker_info(uuid="fe527335-731e-49a5-a07e-f4999c536153")
1406 @TelephonyBaseTest.tel_test_wrap
1407 def test_msim_mms_mo_csfb_3g_esim_dds_slot_0(self):
1408 return self._test_msim_message(
1409 1, None, 0, mo_rat=["csfb", "3g"], msg="MMS", direction="mo")
1410
1411 @test_tracker_info(uuid="1c56f866-3b3c-45c0-9c13-face44246aca")
1412 @TelephonyBaseTest.tel_test_wrap
1413 def test_msim_mms_mo_csfb_3g_esim_dds_slot_1(self):
1414 return self._test_msim_message(
1415 1, None, 1, mo_rat=["csfb", "3g"], msg="MMS", direction="mo")
1416
1417 @test_tracker_info(uuid="4affd77a-afdc-4ac9-ba8a-a3599efe1e96")
1418 @TelephonyBaseTest.tel_test_wrap
1419 def test_msim_mms_mt_csfb_3g_esim_dds_slot_0(self):
1420 return self._test_msim_message(
1421 None, 1, 0, mt_rat=["csfb", "3g"], msg="MMS", direction="mt")
1422
1423 @test_tracker_info(uuid="8440c05e-28d9-45c7-b32e-127f240d12f0")
1424 @TelephonyBaseTest.tel_test_wrap
1425 def test_msim_mms_mt_csfb_3g_esim_dds_slot_1(self):
1426 return self._test_msim_message(
1427 None, 1, 1, mt_rat=["csfb", "3g"], msg="MMS", direction="mt")
1428
Markus Liu915b1122020-03-27 15:04:10 +08001429 @test_tracker_info(uuid="a53ebb84-945e-4068-a78a-fd78362e8073")
1430 @TelephonyBaseTest.tel_test_wrap
1431 def test_msim_mms_mo_3g_csfb_psim_dds_slot_0(self):
1432 return self._test_msim_message(
1433 0, None, 0, mo_rat=["3g", "csfb"], msg="MMS", direction="mo")
1434
1435 @test_tracker_info(uuid="23bedcbc-7c09-430d-a162-04de75244fd8")
1436 @TelephonyBaseTest.tel_test_wrap
1437 def test_msim_mms_mo_3g_csfb_psim_dds_slot_1(self):
1438 return self._test_msim_message(
1439 0, None, 1, mo_rat=["3g", "csfb"], msg="MMS", direction="mo")
1440
1441 @test_tracker_info(uuid="e1e1ef53-d91b-4b10-9bd6-e065ca48ab94")
1442 @TelephonyBaseTest.tel_test_wrap
1443 def test_msim_mms_mt_3g_csfb_psim_dds_slot_0(self):
1444 return self._test_msim_message(
1445 None, 0, 0, mt_rat=["3g", "csfb"], msg="MMS", direction="mt")
1446
1447 @test_tracker_info(uuid="e813ae3b-b875-43f6-a055-d2119cec9786")
1448 @TelephonyBaseTest.tel_test_wrap
1449 def test_msim_mms_mt_3g_csfb_psim_dds_slot_1(self):
1450 return self._test_msim_message(
1451 None, 0, 1, mt_rat=["3g", "csfb"], msg="MMS", direction="mt")
1452
1453 @test_tracker_info(uuid="d5863aab-a46a-4363-8bf8-5dcfc29a9055")
1454 @TelephonyBaseTest.tel_test_wrap
1455 def test_msim_mms_mo_3g_csfb_esim_dds_slot_0(self):
1456 return self._test_msim_message(
1457 1, None, 0, mo_rat=["3g", "csfb"], msg="MMS", direction="mo")
1458
1459 @test_tracker_info(uuid="79a0bd58-0de0-471e-9e53-9cc655700428")
1460 @TelephonyBaseTest.tel_test_wrap
1461 def test_msim_mms_mo_3g_csfb_esim_dds_slot_1(self):
1462 return self._test_msim_message(
1463 1, None, 1, mo_rat=["3g", "csfb"], msg="MMS", direction="mo")
1464
1465 @test_tracker_info(uuid="e9a340f4-22a7-4786-bb5b-370295324d5a")
1466 @TelephonyBaseTest.tel_test_wrap
1467 def test_msim_mms_mt_3g_csfb_esim_dds_slot_0(self):
1468 return self._test_msim_message(
1469 None, 1, 0, mt_rat=["3g", "csfb"], msg="MMS", direction="mt")
1470
1471 @test_tracker_info(uuid="8a261b43-2532-4c47-ac0c-3a5dd0d51b69")
1472 @TelephonyBaseTest.tel_test_wrap
1473 def test_msim_mms_mt_3g_csfb_esim_dds_slot_1(self):
1474 return self._test_msim_message(
1475 None, 1, 1, mt_rat=["3g", "csfb"], msg="MMS", direction="mt")
1476
Markus Liu915b1122020-03-27 15:04:10 +08001477 @test_tracker_info(uuid="2efdf7da-d2ec-4580-a164-5f7b740f9ac6")
1478 @TelephonyBaseTest.tel_test_wrap
1479 def test_msim_mms_mo_3g_psim_dds_slot_0(self):
1480 return self._test_msim_message(
1481 0, None, 0, mo_rat=["3g", "3g"], msg="MMS", direction="mo")
1482
1483 @test_tracker_info(uuid="459e9b40-ad4e-4a89-ac89-f3c8ec472d3f")
1484 @TelephonyBaseTest.tel_test_wrap
1485 def test_msim_mms_mo_3g_psim_dds_slot_1(self):
1486 return self._test_msim_message(
1487 0, None, 1, mo_rat=["3g", "3g"], msg="MMS", direction="mo")
1488
1489 @test_tracker_info(uuid="130a0e85-1653-4ddf-81b9-dadd26dde1e3")
1490 @TelephonyBaseTest.tel_test_wrap
1491 def test_msim_mms_mt_3g_psim_dds_slot_0(self):
1492 return self._test_msim_message(
1493 None, 0, 0, mt_rat=["3g", "3g"], msg="MMS", direction="mt")
1494
1495 @test_tracker_info(uuid="e81f0b33-38b3-4a4d-9e05-fb44a689230b")
1496 @TelephonyBaseTest.tel_test_wrap
1497 def test_msim_mms_mt_3g_psim_dds_slot_1(self):
1498 return self._test_msim_message(
1499 None, 0, 1, mt_rat=["3g", "3g"], msg="MMS", direction="mt")
1500
1501 @test_tracker_info(uuid="61894370-93b5-4ab5-80c7-d50948d38471")
1502 @TelephonyBaseTest.tel_test_wrap
1503 def test_msim_mms_mo_3g_esim_dds_slot_0(self):
1504 return self._test_msim_message(
1505 1, None, 0, mo_rat=["3g", "3g"], msg="MMS", direction="mo")
1506
1507 @test_tracker_info(uuid="8d41ee9a-fed9-4472-ada7-007e56690c67")
1508 @TelephonyBaseTest.tel_test_wrap
1509 def test_msim_mms_mo_3g_esim_dds_slot_1(self):
1510 return self._test_msim_message(
1511 1, None, 1, mo_rat=["3g", "3g"], msg="MMS", direction="mo")
1512
1513 @test_tracker_info(uuid="6aa41641-2619-48f6-8c5f-1c06260f0e28")
1514 @TelephonyBaseTest.tel_test_wrap
1515 def test_msim_mms_mt_3g_esim_dds_slot_0(self):
1516 return self._test_msim_message(
1517 None, 1, 0, mt_rat=["3g", "3g"], msg="MMS", direction="mt")
1518
1519 @test_tracker_info(uuid="94d8e05d-eb99-4a71-be00-e725cbd05cae")
1520 @TelephonyBaseTest.tel_test_wrap
1521 def test_msim_mms_mt_3g_esim_dds_slot_1(self):
1522 return self._test_msim_message(
Markus Liucb900da2020-08-17 16:12:31 +08001523 None, 1, 1, mt_rat=["3g", "3g"], msg="MMS", direction="mt")
1524
1525 @test_tracker_info(uuid="207a23b7-17f1-4e27-892d-6c276f463b07")
1526 @TelephonyBaseTest.tel_test_wrap
1527 def test_sms_mo_mt_at_the_same_time(
1528 self,
1529 slot_0_nw_gen="volte",
1530 slot_1_nw_gen="volte"):
1531 ad = self.android_devices[0]
1532 slot_0_subid = get_subid_from_slot_index(ad.log, ad, 0)
1533 slot_1_subid = get_subid_from_slot_index(ad.log, ad, 1)
1534
1535 if slot_0_subid == INVALID_SUB_ID or slot_1_subid == INVALID_SUB_ID:
1536 self.log.error("Not all slots have valid sub ID.")
1537 raise signals.TestFailure("Failed",
1538 extras={"fail_reason": "Not all slots have valid sub ID"})
1539
1540 slot0_phone_setup_func = phone_setup_on_rat(
1541 self.log,
1542 ad,
1543 slot_0_nw_gen,
1544 only_return_fn=True)
1545
1546 tasks = [(slot0_phone_setup_func, (self.log, ad, slot_0_subid))]
1547 if not multithread_func(self.log, tasks):
1548 self.log.error("Phone Failed to Set Up Properly.")
1549 self.tel_logger.set_result(CallResult("CALL_SETUP_FAILURE"))
1550 raise signals.TestFailure("Failed",
1551 extras={"fail_reason": "Phone Failed to Set Up Properly."})
1552
1553 slot1_phone_setup_func = phone_setup_on_rat(
1554 self.log,
1555 ad,
1556 slot_1_nw_gen,
1557 only_return_fn=True)
1558
1559 tasks = [(slot1_phone_setup_func, (self.log, ad, slot_1_subid))]
1560 if not multithread_func(self.log, tasks):
1561 self.log.error("Phone Failed to Set Up Properly.")
1562 self.tel_logger.set_result(CallResult("CALL_SETUP_FAILURE"))
1563 raise signals.TestFailure("Failed",
1564 extras={"fail_reason": "Phone Failed to Set Up Properly."})
1565
1566 ad_host = self.android_devices[0]
1567 ad_mt = self.android_devices[1]
1568 ad_mo = self.android_devices[2]
1569
1570 for ads in [[slot_0_subid, slot_1_subid], [slot_1_subid, slot_0_subid]]:
1571 set_message_subid(ad_host, ads[0])
1572 _, mt_sub_id, _ = get_subid_on_same_network_of_host_ad(
1573 self.android_devices, host_sub_id=ads[0])
1574
1575 _, _, mo_sub_id = get_subid_on_same_network_of_host_ad(
1576 self.android_devices, host_sub_id=ads[1])
1577 set_message_subid(ad_mo, mo_sub_id)
1578
1579 res = self._msim_sms_collision_test(
1580 ad_host,
1581 ad_mo,
1582 ad_mt,
1583 ad_host,
1584 ads[0],
1585 mo_sub_id,
1586 mt_sub_id,
1587 ads[1])
1588
1589 if not res:
1590 log_messaging_screen_shot(
1591 ad_host,
1592 test_name="sms tx subid: %s; sms rx subid: %s" % (
1593 ads[0], ads[1]))
1594 log_messaging_screen_shot(
1595 ad_mo, test_name="sms tx subid: %s" % mo_sub_id)
1596 log_messaging_screen_shot(
1597 ad_mt, test_name="sms rx subid: %s" % mt_sub_id)
1598
1599 return False
1600
1601 @test_tracker_info(uuid="e0483de8-f760-4e40-a451-a867c7f94d3a")
1602 @TelephonyBaseTest.tel_test_wrap
1603 def test_sms_mt_at_both_slots_at_the_same_time(
1604 self,
1605 slot_0_nw_gen="volte",
1606 slot_1_nw_gen="volte"):
1607 return self.multiple_mt_sms(
1608 slot_0_nw_gen="volte",
1609 slot_1_nw_gen="volte",
1610 power_off=False)
1611
1612 @test_tracker_info(uuid="6594e5b5-6baf-4f1e-865b-0ea70ef23aee")
1613 @TelephonyBaseTest.tel_test_wrap
1614 def test_sms_mt_at_both_slots_when_power_off(
1615 self,
1616 slot_0_nw_gen="volte",
1617 slot_1_nw_gen="volte"):
1618 return self.multiple_mt_sms(
1619 slot_0_nw_gen="volte",
1620 slot_1_nw_gen="volte",
1621 power_off=True)
1622
1623 @test_tracker_info(uuid="13dfe0a1-c393-4c1a-b636-ac39d47a70b5")
1624 @TelephonyBaseTest.tel_test_wrap
1625 def test_interworking_between_mo_voice_call_in_collision_with_mt_sms(self):
1626 result = True
1627 self.log.info("Scenario 1: MO voice call at slot 0 & MT SMS at slot 0")
1628 if not self._test_msim_voice_call_in_collision_with_mt_sms(
1629 0, 0, 0, rat=["volte", "volte"], call_direction="mo"):
1630 result = False
1631 self.log.info("Scenario 2: MO voice call at slot 0 & MT SMS at slot 1")
1632 if not self._test_msim_voice_call_in_collision_with_mt_sms(
1633 0, 1, 0, rat=["volte", "volte"], call_direction="mo"):
1634 result = False
1635 self.log.info("Scenario 3: MO voice call at slot 1 & MT SMS at slot 0")
1636 if not self._test_msim_voice_call_in_collision_with_mt_sms(
1637 1, 0, 0, rat=["volte", "volte"], call_direction="mo"):
1638 result = False
1639 self.log.info("Scenario 1: MO voice call at slot 1 & MT SMS at slot 1")
1640 if not self._test_msim_voice_call_in_collision_with_mt_sms(
1641 1, 1, 0, rat=["volte", "volte"], call_direction="mo"):
1642 result = False
1643 return result
1644
1645 @test_tracker_info(uuid="a5c90676-c2ba-4ac6-b639-8f895d98480c")
1646 @TelephonyBaseTest.tel_test_wrap
1647 def test_interworking_between_mt_voice_call_in_collision_with_mt_sms(self):
1648 result = True
1649 self.log.info("Scenario 1: MT voice call at slot 0 & MT SMS at slot 0")
1650 if not self._test_msim_voice_call_in_collision_with_mt_sms(
1651 0, 0, 0, rat=["volte", "volte"], call_direction="mt"):
1652 result = False
1653 self.log.info("Scenario 2: MT voice call at slot 0 & MT SMS at slot 1")
1654 if not self._test_msim_voice_call_in_collision_with_mt_sms(
1655 0, 1, 0, rat=["volte", "volte"], call_direction="mt"):
1656 result = False
1657 self.log.info("Scenario 3: MT voice call at slot 1 & MT SMS at slot 0")
1658 if not self._test_msim_voice_call_in_collision_with_mt_sms(
1659 1, 0, 0, rat=["volte", "volte"], call_direction="mt"):
1660 result = False
1661 self.log.info("Scenario 4: MT voice call at slot 1 & MT SMS at slot 1")
1662 if not self._test_msim_voice_call_in_collision_with_mt_sms(
1663 1, 1, 0, rat=["volte", "volte"], call_direction="mt"):
1664 result = False
1665 return result