2 * Copyright (C) 2017 The Android Open Source Project
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #include <radio_hidl_hal_utils_v1_0.h>
20 * Test IRadio.getSignalStrength() for the response returned.
22 TEST_F(RadioHidlTest, getSignalStrength) {
23 int serial = GetRandomSerialNumber();
25 radio->getSignalStrength(serial);
26 EXPECT_EQ(std::cv_status::no_timeout, wait());
27 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
28 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
30 if (cardStatus.cardState == CardState::ABSENT) {
31 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE);
36 * Test IRadio.getVoiceRegistrationState() for the response returned.
38 TEST_F(RadioHidlTest, getVoiceRegistrationState) {
39 int serial = GetRandomSerialNumber();
41 radio->getVoiceRegistrationState(serial);
42 EXPECT_EQ(std::cv_status::no_timeout, wait());
43 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
44 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
46 if (cardStatus.cardState == CardState::ABSENT) {
47 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE);
52 * Test IRadio.getOperator() for the response returned.
54 TEST_F(RadioHidlTest, getOperator) {
55 int serial = GetRandomSerialNumber();
57 radio->getOperator(serial);
58 EXPECT_EQ(std::cv_status::no_timeout, wait());
59 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
60 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
62 if (cardStatus.cardState == CardState::ABSENT) {
63 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE);
68 * Test IRadio.setRadioPower() for the response returned.
70 TEST_F(RadioHidlTest, setRadioPower) {
71 int serial = GetRandomSerialNumber();
73 radio->setRadioPower(serial, 1);
74 EXPECT_EQ(std::cv_status::no_timeout, wait());
75 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
76 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
78 if (cardStatus.cardState == CardState::ABSENT) {
79 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE);
84 * Test IRadio.getNetworkSelectionMode() for the response returned.
86 TEST_F(RadioHidlTest, getNetworkSelectionMode) {
87 int serial = GetRandomSerialNumber();
89 radio->getNetworkSelectionMode(serial);
90 EXPECT_EQ(std::cv_status::no_timeout, wait());
91 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
92 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
94 if (cardStatus.cardState == CardState::ABSENT) {
95 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE);
100 * Test IRadio.setNetworkSelectionModeAutomatic() for the response returned.
102 TEST_F(RadioHidlTest, setNetworkSelectionModeAutomatic) {
103 int serial = GetRandomSerialNumber();
105 radio->setNetworkSelectionModeAutomatic(serial);
106 EXPECT_EQ(std::cv_status::no_timeout, wait());
107 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
108 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
110 if (cardStatus.cardState == CardState::ABSENT) {
111 ASSERT_TRUE(CheckGeneralError() ||
112 radioRsp->rspInfo.error == RadioError::ILLEGAL_SIM_OR_ME ||
113 radioRsp->rspInfo.error == RadioError::NONE ||
114 radioRsp->rspInfo.error == RadioError::OPERATION_NOT_ALLOWED);
119 * Test IRadio.setNetworkSelectionModeManual() for the response returned.
121 TEST_F(RadioHidlTest, setNetworkSelectionModeManual) {
122 int serial = GetRandomSerialNumber();
124 radio->setNetworkSelectionModeManual(serial, "123456");
125 EXPECT_EQ(std::cv_status::no_timeout, wait());
126 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
127 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
129 if (cardStatus.cardState == CardState::ABSENT) {
130 ASSERT_TRUE(CheckGeneralError() ||
131 radioRsp->rspInfo.error == RadioError::INVALID_ARGUMENTS ||
132 radioRsp->rspInfo.error == RadioError::ILLEGAL_SIM_OR_ME ||
133 radioRsp->rspInfo.error == RadioError::NONE ||
134 radioRsp->rspInfo.error == RadioError::INVALID_STATE);
139 * Test IRadio.getAvailableNetworks() for the response returned.
141 TEST_F(RadioHidlTest, getAvailableNetworks) {
142 int serial = GetRandomSerialNumber();
144 radio->getAvailableNetworks(serial);
145 EXPECT_EQ(std::cv_status::no_timeout, wait());
146 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
147 ASSERT_TRUE(radioRsp->rspInfo.type == RadioResponseType::SOLICITED ||
148 radioRsp->rspInfo.type == RadioResponseType::SOLICITED_ACK_EXP);
150 if (cardStatus.cardState == CardState::ABSENT) {
151 ASSERT_TRUE(CheckGeneralError() || radioRsp->rspInfo.error == RadioError::NONE ||
152 radioRsp->rspInfo.error == RadioError::DEVICE_IN_USE ||
153 radioRsp->rspInfo.error == RadioError::CANCELLED ||
154 radioRsp->rspInfo.error == RadioError::OPERATION_NOT_ALLOWED ||
155 radioRsp->rspInfo.error == RadioError::MODEM_ERR);
160 * Test IRadio.getBasebandVersion() for the response returned.
162 TEST_F(RadioHidlTest, getBasebandVersion) {
163 int serial = GetRandomSerialNumber();
165 radio->getBasebandVersion(serial);
166 EXPECT_EQ(std::cv_status::no_timeout, wait());
167 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
168 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
170 if (cardStatus.cardState == CardState::ABSENT) {
171 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE);
176 * Test IRadio.setBandMode() for the response returned.
178 TEST_F(RadioHidlTest, setBandMode) {
179 int serial = GetRandomSerialNumber();
181 radio->setBandMode(serial, RadioBandMode::BAND_MODE_USA);
182 EXPECT_EQ(std::cv_status::no_timeout, wait());
183 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
184 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
186 if (cardStatus.cardState == CardState::ABSENT) {
187 ASSERT_TRUE(CheckGeneralError() || radioRsp->rspInfo.error == RadioError::NONE);
192 * Test IRadio.getAvailableBandModes() for the response returned.
194 TEST_F(RadioHidlTest, getAvailableBandModes) {
195 int serial = GetRandomSerialNumber();
197 radio->getAvailableBandModes(serial);
198 EXPECT_EQ(std::cv_status::no_timeout, wait());
199 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
200 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
202 if (cardStatus.cardState == CardState::ABSENT) {
203 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE);
208 * Test IRadio.setPreferredNetworkType() for the response returned.
210 TEST_F(RadioHidlTest, setPreferredNetworkType) {
211 int serial = GetRandomSerialNumber();
213 radio->setPreferredNetworkType(serial, PreferredNetworkType::GSM_ONLY);
214 EXPECT_EQ(std::cv_status::no_timeout, wait());
215 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
216 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
218 if (cardStatus.cardState == CardState::ABSENT) {
219 ASSERT_TRUE(CheckGeneralError() || radioRsp->rspInfo.error == RadioError::NONE);
224 * Test IRadio.getPreferredNetworkType() for the response returned.
226 TEST_F(RadioHidlTest, getPreferredNetworkType) {
227 int serial = GetRandomSerialNumber();
229 radio->getPreferredNetworkType(serial);
230 EXPECT_EQ(std::cv_status::no_timeout, wait());
231 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
232 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
234 if (cardStatus.cardState == CardState::ABSENT) {
235 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE);
240 * Test IRadio.getNeighboringCids() for the response returned.
242 TEST_F(RadioHidlTest, getNeighboringCids) {
243 int serial = GetRandomSerialNumber();
245 radio->getNeighboringCids(serial);
246 EXPECT_EQ(std::cv_status::no_timeout, wait());
247 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
248 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
250 if (cardStatus.cardState == CardState::ABSENT) {
251 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
252 radioRsp->rspInfo.error == RadioError::SIM_ABSENT);
257 * Test IRadio.setLocationUpdates() for the response returned.
259 TEST_F(RadioHidlTest, setLocationUpdates) {
260 int serial = GetRandomSerialNumber();
262 radio->setLocationUpdates(serial, true);
263 EXPECT_EQ(std::cv_status::no_timeout, wait());
264 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
265 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
267 if (cardStatus.cardState == CardState::ABSENT) {
268 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
269 radioRsp->rspInfo.error == RadioError::SIM_ABSENT);
274 * Test IRadio.setCdmaRoamingPreference() for the response returned.
276 TEST_F(RadioHidlTest, setCdmaRoamingPreference) {
277 int serial = GetRandomSerialNumber();
279 radio->setCdmaRoamingPreference(serial, CdmaRoamingType::HOME_NETWORK);
280 EXPECT_EQ(std::cv_status::no_timeout, wait());
281 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
282 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
284 if (cardStatus.cardState == CardState::ABSENT) {
285 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
286 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED ||
287 radioRsp->rspInfo.error == RadioError::SIM_ABSENT);
292 * Test IRadio.getCdmaRoamingPreference() for the response returned.
294 TEST_F(RadioHidlTest, getCdmaRoamingPreference) {
295 int serial = GetRandomSerialNumber();
297 radio->getCdmaRoamingPreference(serial);
298 EXPECT_EQ(std::cv_status::no_timeout, wait());
299 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
300 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
302 if (cardStatus.cardState == CardState::ABSENT) {
303 ASSERT_TRUE(CheckGeneralError() || radioRsp->rspInfo.error == RadioError::NONE ||
304 radioRsp->rspInfo.error == RadioError::MODEM_ERR ||
305 radioRsp->rspInfo.error == RadioError::SIM_ABSENT);
310 * Test IRadio.getTTYMode() for the response returned.
312 TEST_F(RadioHidlTest, getTTYMode) {
313 int serial = GetRandomSerialNumber();
315 radio->getTTYMode(serial);
316 EXPECT_EQ(std::cv_status::no_timeout, wait());
317 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
318 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
320 if (cardStatus.cardState == CardState::ABSENT) {
321 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE);
326 * Test IRadio.setTTYMode() for the response returned.
328 TEST_F(RadioHidlTest, setTTYMode) {
329 int serial = GetRandomSerialNumber();
331 radio->setTTYMode(serial, TtyMode::OFF);
332 EXPECT_EQ(std::cv_status::no_timeout, wait());
333 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
334 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
336 if (cardStatus.cardState == CardState::ABSENT) {
337 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE);
342 * Test IRadio.setPreferredVoicePrivacy() for the response returned.
344 TEST_F(RadioHidlTest, setPreferredVoicePrivacy) {
345 int serial = GetRandomSerialNumber();
347 radio->setPreferredVoicePrivacy(serial, true);
348 EXPECT_EQ(std::cv_status::no_timeout, wait());
349 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
350 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
352 if (cardStatus.cardState == CardState::ABSENT) {
353 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
354 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED);
359 * Test IRadio.getPreferredVoicePrivacy() for the response returned.
361 TEST_F(RadioHidlTest, getPreferredVoicePrivacy) {
362 int serial = GetRandomSerialNumber();
364 radio->getPreferredVoicePrivacy(serial);
365 EXPECT_EQ(std::cv_status::no_timeout, wait());
366 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
367 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
369 if (cardStatus.cardState == CardState::ABSENT) {
370 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
371 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED);
376 * Test IRadio.getCDMASubscription() for the response returned.
378 TEST_F(RadioHidlTest, getCDMASubscription) {
379 int serial = GetRandomSerialNumber();
381 radio->getCDMASubscription(serial);
382 EXPECT_EQ(std::cv_status::no_timeout, wait());
383 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
384 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
386 if (cardStatus.cardState == CardState::ABSENT) {
387 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
388 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED ||
389 radioRsp->rspInfo.error == RadioError::SIM_ABSENT);
394 * Test IRadio.getDeviceIdentity() for the response returned.
396 TEST_F(RadioHidlTest, getDeviceIdentity) {
397 int serial = GetRandomSerialNumber();
399 radio->getDeviceIdentity(serial);
400 EXPECT_EQ(std::cv_status::no_timeout, wait());
401 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
402 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
404 if (cardStatus.cardState == CardState::ABSENT) {
405 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
406 radioRsp->rspInfo.error == RadioError::EMPTY_RECORD);
411 * Test IRadio.exitEmergencyCallbackMode() for the response returned.
413 TEST_F(RadioHidlTest, exitEmergencyCallbackMode) {
414 int serial = GetRandomSerialNumber();
416 radio->exitEmergencyCallbackMode(serial);
417 EXPECT_EQ(std::cv_status::no_timeout, wait());
418 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
419 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
421 if (cardStatus.cardState == CardState::ABSENT) {
422 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
423 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED ||
424 radioRsp->rspInfo.error == RadioError::SIM_ABSENT);
429 * Test IRadio.getCdmaSubscriptionSource() for the response returned.
431 TEST_F(RadioHidlTest, getCdmaSubscriptionSource) {
432 int serial = GetRandomSerialNumber();
434 radio->getCdmaSubscriptionSource(serial);
435 EXPECT_EQ(std::cv_status::no_timeout, wait());
436 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
437 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
439 if (cardStatus.cardState == CardState::ABSENT) {
440 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
441 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED ||
442 radioRsp->rspInfo.error == RadioError::SIM_ABSENT);
447 * Test IRadio.setCdmaSubscriptionSource() for the response returned.
449 TEST_F(RadioHidlTest, setCdmaSubscriptionSource) {
450 int serial = GetRandomSerialNumber();
452 radio->setCdmaSubscriptionSource(serial, CdmaSubscriptionSource::RUIM_SIM);
453 EXPECT_EQ(std::cv_status::no_timeout, wait());
454 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
455 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
457 if (cardStatus.cardState == CardState::ABSENT) {
458 std::cout << static_cast<int>(radioRsp->rspInfo.error) << std::endl;
459 ASSERT_TRUE(CheckGeneralError() || radioRsp->rspInfo.error == RadioError::SIM_ABSENT ||
460 radioRsp->rspInfo.error == RadioError::SUBSCRIPTION_NOT_AVAILABLE ||
461 radioRsp->rspInfo.error == RadioError::NONE);
466 * Test IRadio.getVoiceRadioTechnology() for the response returned.
468 TEST_F(RadioHidlTest, getVoiceRadioTechnology) {
469 int serial = GetRandomSerialNumber();
471 radio->getVoiceRadioTechnology(serial);
472 EXPECT_EQ(std::cv_status::no_timeout, wait());
473 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
474 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
476 if (cardStatus.cardState == CardState::ABSENT) {
477 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE);
482 * Test IRadio.getCellInfoList() for the response returned.
484 TEST_F(RadioHidlTest, getCellInfoList) {
485 int serial = GetRandomSerialNumber();
487 radio->getCellInfoList(serial);
488 EXPECT_EQ(std::cv_status::no_timeout, wait());
489 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
490 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
492 if (cardStatus.cardState == CardState::ABSENT) {
493 ASSERT_TRUE(CheckGeneralError() || radioRsp->rspInfo.error == RadioError::NONE ||
494 radioRsp->rspInfo.error == RadioError::NO_NETWORK_FOUND);
499 * Test IRadio.setCellInfoListRate() for the response returned.
501 TEST_F(RadioHidlTest, setCellInfoListRate) {
502 int serial = GetRandomSerialNumber();
504 // TODO(sanketpadawe): RIL crashes with value of rate = 10
505 radio->setCellInfoListRate(serial, 10);
506 EXPECT_EQ(std::cv_status::no_timeout, wait());
507 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
508 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
510 if (cardStatus.cardState == CardState::ABSENT) {
511 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
512 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED);
517 * Test IRadio.nvReadItem() for the response returned.
519 TEST_F(RadioHidlTest, nvReadItem) {
520 int serial = GetRandomSerialNumber();
522 radio->nvReadItem(serial, NvItem::LTE_BAND_ENABLE_25);
523 EXPECT_EQ(std::cv_status::no_timeout, wait());
524 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
525 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
527 if (cardStatus.cardState == CardState::ABSENT) {
528 ASSERT_TRUE(CheckGeneralError() || radioRsp->rspInfo.error == RadioError::NONE);
533 * Test IRadio.nvWriteItem() for the response returned.
535 TEST_F(RadioHidlTest, nvWriteItem) {
536 int serial = GetRandomSerialNumber();
538 memset(&item, 0, sizeof(item));
539 item.value = hidl_string();
541 radio->nvWriteItem(serial, item);
542 EXPECT_EQ(std::cv_status::no_timeout, wait());
543 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
544 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
546 if (cardStatus.cardState == CardState::ABSENT) {
547 ASSERT_TRUE(CheckGeneralError() || radioRsp->rspInfo.error == RadioError::NONE);
552 * Test IRadio.nvWriteCdmaPrl() for the response returned.
554 TEST_F(RadioHidlTest, nvWriteCdmaPrl) {
555 int serial = GetRandomSerialNumber();
556 std::vector<uint8_t> prl = {1, 2, 3, 4, 5};
558 radio->nvWriteCdmaPrl(serial, hidl_vec<uint8_t>(prl));
559 EXPECT_EQ(std::cv_status::no_timeout, wait());
560 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
561 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
563 if (cardStatus.cardState == CardState::ABSENT) {
564 ASSERT_TRUE(CheckGeneralError() || radioRsp->rspInfo.error == RadioError::NONE);
569 * Test IRadio.nvResetConfig() for the response returned.
571 TEST_F(RadioHidlTest, nvResetConfig) {
572 int serial = GetRandomSerialNumber();
574 radio->nvResetConfig(++serial, ResetNvType::ERASE);
575 EXPECT_EQ(std::cv_status::no_timeout, wait());
576 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
577 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
579 if (cardStatus.cardState == CardState::ABSENT) {
580 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
581 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED);
586 * Test IRadio.setUiccSubscription() for the response returned.
588 TEST_F(RadioHidlTest, setUiccSubscription) {
589 int serial = GetRandomSerialNumber();
591 memset(&item, 0, sizeof(item));
593 radio->setUiccSubscription(serial, item);
594 EXPECT_EQ(std::cv_status::no_timeout, wait());
595 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
596 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
598 if (cardStatus.cardState == CardState::ABSENT) {
599 ASSERT_TRUE(CheckGeneralError() ||
600 radioRsp->rspInfo.error == RadioError::INVALID_ARGUMENTS ||
601 radioRsp->rspInfo.error == RadioError::NONE ||
602 radioRsp->rspInfo.error == RadioError::SUBSCRIPTION_NOT_SUPPORTED ||
603 radioRsp->rspInfo.error == RadioError::MODEM_ERR);
608 * Test IRadio.getHardwareConfig() for the response returned.
610 TEST_F(RadioHidlTest, getHardwareConfig) {
611 int serial = GetRandomSerialNumber();
613 radio->getHardwareConfig(serial);
614 EXPECT_EQ(std::cv_status::no_timeout, wait());
615 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
616 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
618 if (cardStatus.cardState == CardState::ABSENT) {
619 ASSERT_TRUE(CheckGeneralError() || radioRsp->rspInfo.error == RadioError::NONE);
624 * Test IRadio.requestShutdown() for the response returned.
626 TEST_F(RadioHidlTest, requestShutdown) {
627 int serial = GetRandomSerialNumber();
629 radio->requestShutdown(serial);
630 EXPECT_EQ(std::cv_status::no_timeout, wait());
631 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
632 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
634 if (cardStatus.cardState == CardState::ABSENT) {
635 ASSERT_TRUE(CheckGeneralError() || radioRsp->rspInfo.error == RadioError::NONE);
640 * Test IRadio.getRadioCapability() for the response returned.
642 TEST_F(RadioHidlTest, getRadioCapability) {
643 int serial = GetRandomSerialNumber();
645 radio->getRadioCapability(serial);
646 EXPECT_EQ(std::cv_status::no_timeout, wait());
647 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
648 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
650 if (cardStatus.cardState == CardState::ABSENT) {
651 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE);
656 * Test IRadio.setRadioCapability() for the response returned.
658 TEST_F(RadioHidlTest, setRadioCapability) {
659 int serial = GetRandomSerialNumber();
661 memset(&rc, 0, sizeof(rc));
662 rc.logicalModemUuid = hidl_string();
664 radio->setRadioCapability(serial, rc);
665 EXPECT_EQ(std::cv_status::no_timeout, wait());
666 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
667 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
669 if (cardStatus.cardState == CardState::ABSENT) {
670 ASSERT_TRUE(CheckGeneralError() ||
671 radioRsp->rspInfo.error == RadioError::INVALID_ARGUMENTS ||
672 radioRsp->rspInfo.error == RadioError::INVALID_STATE);
677 * Test IRadio.startLceService() for the response returned.
679 TEST_F(RadioHidlTest, startLceService) {
680 int serial = GetRandomSerialNumber();
682 radio->startLceService(serial, 5, true);
683 EXPECT_EQ(std::cv_status::no_timeout, wait());
684 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
685 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
687 if (cardStatus.cardState == CardState::ABSENT) {
688 std::cout << static_cast<int>(radioRsp->rspInfo.error) << std::endl;
689 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::RADIO_NOT_AVAILABLE ||
690 radioRsp->rspInfo.error == RadioError::LCE_NOT_SUPPORTED ||
691 radioRsp->rspInfo.error == RadioError::INTERNAL_ERR ||
692 radioRsp->rspInfo.error == RadioError::SIM_ABSENT);
697 * Test IRadio.stopLceService() for the response returned.
699 TEST_F(RadioHidlTest, stopLceService) {
700 int serial = GetRandomSerialNumber();
702 radio->stopLceService(serial);
703 EXPECT_EQ(std::cv_status::no_timeout, wait());
704 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
705 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
707 if (cardStatus.cardState == CardState::ABSENT) {
708 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
709 radioRsp->rspInfo.error == RadioError::LCE_NOT_SUPPORTED ||
710 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED ||
711 radioRsp->rspInfo.error == RadioError::SIM_ABSENT);
716 * Test IRadio.pullLceData() for the response returned.
718 TEST_F(RadioHidlTest, pullLceData) {
719 int serial = GetRandomSerialNumber();
721 radio->pullLceData(serial);
722 EXPECT_EQ(std::cv_status::no_timeout, wait());
723 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
724 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
726 if (cardStatus.cardState == CardState::ABSENT) {
727 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::RADIO_NOT_AVAILABLE || CheckOEMError() ||
728 radioRsp->rspInfo.error == RadioError::INTERNAL_ERR ||
729 radioRsp->rspInfo.error == RadioError::NONE);
734 * Test IRadio.getModemActivityInfo() for the response returned.
736 TEST_F(RadioHidlTest, getModemActivityInfo) {
737 int serial = GetRandomSerialNumber();
739 radio->getModemActivityInfo(serial);
740 EXPECT_EQ(std::cv_status::no_timeout, wait());
741 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
742 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
744 if (cardStatus.cardState == CardState::ABSENT) {
745 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
746 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED);
751 * Test IRadio.setAllowedCarriers() for the response returned.
753 TEST_F(RadioHidlTest, setAllowedCarriers) {
754 int serial = GetRandomSerialNumber();
755 CarrierRestrictions carriers;
756 memset(&carriers, 0, sizeof(carriers));
757 carriers.allowedCarriers.resize(1);
758 carriers.excludedCarriers.resize(0);
759 carriers.allowedCarriers[0].mcc = hidl_string();
760 carriers.allowedCarriers[0].mnc = hidl_string();
761 carriers.allowedCarriers[0].matchType = CarrierMatchType::ALL;
762 carriers.allowedCarriers[0].matchData = hidl_string();
764 radio->setAllowedCarriers(serial, false, carriers);
765 EXPECT_EQ(std::cv_status::no_timeout, wait());
766 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
767 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
769 if (cardStatus.cardState == CardState::ABSENT) {
770 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
771 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED);
774 /* Reset back to no carrier restriction */
775 memset(&carriers, 0, sizeof(carriers));
776 carriers.allowedCarriers.resize(0);
777 carriers.excludedCarriers.resize(0);
779 radio->setAllowedCarriers(++serial, true, carriers);
780 EXPECT_EQ(std::cv_status::no_timeout, wait());
781 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
782 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
784 if (cardStatus.cardState == CardState::ABSENT) {
785 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
786 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED);
791 * Test IRadio.getAllowedCarriers() for the response returned.
793 TEST_F(RadioHidlTest, getAllowedCarriers) {
794 int serial = GetRandomSerialNumber();
796 radio->getAllowedCarriers(serial);
797 EXPECT_EQ(std::cv_status::no_timeout, wait());
798 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
799 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
801 if (cardStatus.cardState == CardState::ABSENT) {
802 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
803 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED);
808 * Test IRadio.sendDeviceState() for the response returned.
810 TEST_F(RadioHidlTest, sendDeviceState) {
811 int serial = GetRandomSerialNumber();
813 radio->sendDeviceState(serial, DeviceStateType::POWER_SAVE_MODE, true);
814 EXPECT_EQ(std::cv_status::no_timeout, wait());
815 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
816 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
818 std::cout << static_cast<int>(radioRsp->rspInfo.error) << std::endl;
820 if (cardStatus.cardState == CardState::ABSENT) {
821 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
822 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED);
827 * Test IRadio.setIndicationFilter() for the response returned.
829 TEST_F(RadioHidlTest, setIndicationFilter) {
830 int serial = GetRandomSerialNumber();
832 radio->setIndicationFilter(serial, 1);
833 EXPECT_EQ(std::cv_status::no_timeout, wait());
834 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
835 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
837 std::cout << static_cast<int>(radioRsp->rspInfo.error) << std::endl;
839 if (cardStatus.cardState == CardState::ABSENT) {
840 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
841 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED);
846 * Test IRadio.setSimCardPower() for the response returned.
848 TEST_F(RadioHidlTest, setSimCardPower) {
849 int serial = GetRandomSerialNumber();
851 radio->setSimCardPower(serial, true);
852 EXPECT_EQ(std::cv_status::no_timeout, wait());
853 EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
854 EXPECT_EQ(serial, radioRsp->rspInfo.serial);
856 if (cardStatus.cardState == CardState::ABSENT) {
857 ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
858 radioRsp->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED);