From f27a92e6347f3b5a2232f7c3be61b8ec67d286b5 Mon Sep 17 00:00:00 2001 From: sqian Date: Tue, 31 Jul 2018 09:23:24 -0700 Subject: [PATCH] Fix setAllowedCarrier If function is not supported or executed successfully, do not expect its effect on cardStatus. Bug: 112008372 Test: run vts Change-Id: I4532a39af2cfcf0e44eafe29c3c7f6779ae101f5 Merged-In: I4532a39af2cfcf0e44eafe29c3c7f6779ae101f5 (cherry picked from commit 44b129f7288016a4113f5e6ff059d63987d63385) --- .../vts/functional/radio_hidl_hal_misc.cpp | 50 +++++++++++-------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp b/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp index 24d9944935..34997625b1 100644 --- a/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp +++ b/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp @@ -779,20 +779,27 @@ TEST_F(RadioHidlTest, setAllowedCarriers) { {RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED})); } - /* Setting to carrier restriction needs some time */ - updateSimCardStatus(); - auto startTime = std::chrono::system_clock::now(); - while (cardStatus.cardState != CardState::RESTRICTED && - std::chrono::duration_cast(std::chrono::system_clock::now() - startTime) - .count() < 10) { - /* Set 2 seconds as interval to check card status */ - sleep(2); + if (radioRsp->rspInfo.error == RadioError::NONE) { + /* Setting to carrier restriction needs some time */ updateSimCardStatus(); + auto startTime = std::chrono::system_clock::now(); + while (cardStatus.cardState != CardState::RESTRICTED && + std::chrono::duration_cast(std::chrono::system_clock::now() - + startTime) + .count() < 10) { + /* Set 2 seconds as interval to check card status */ + sleep(2); + updateSimCardStatus(); + } + EXPECT_EQ(CardState::RESTRICTED, cardStatus.cardState); } - EXPECT_EQ(CardState::RESTRICTED, cardStatus.cardState); sleep(10); - /* Reset back to no carrier restriction */ + /** + * Another test case of the API to cover to allow carrier. + * If the API is supported, this is also used to reset to no carrier restriction + * status for cardStatus. + */ memset(&carriers, 0, sizeof(carriers)); carriers.allowedCarriers.resize(0); carriers.excludedCarriers.resize(0); @@ -808,18 +815,21 @@ TEST_F(RadioHidlTest, setAllowedCarriers) { {RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED})); } - /* Resetting back to no carrier restriction needs some time */ - updateSimCardStatus(); - startTime = std::chrono::system_clock::now(); - while (cardStatus.cardState == CardState::RESTRICTED && - std::chrono::duration_cast(std::chrono::system_clock::now() - startTime) - .count() < 10) { - /* Set 2 seconds as interval to check card status */ - sleep(2); + if (radioRsp->rspInfo.error == RadioError::NONE) { + /* Resetting back to no carrier restriction needs some time */ updateSimCardStatus(); + auto startTime = std::chrono::system_clock::now(); + while (cardStatus.cardState == CardState::RESTRICTED && + std::chrono::duration_cast(std::chrono::system_clock::now() - + startTime) + .count() < 10) { + /* Set 2 seconds as interval to check card status */ + sleep(2); + updateSimCardStatus(); + } + EXPECT_NE(CardState::RESTRICTED, cardStatus.cardState); + sleep(10); } - EXPECT_NE(CardState::RESTRICTED, cardStatus.cardState); - sleep(10); } /*