From a2affa66367f69a985bf490066f78df02db4fc11 Mon Sep 17 00:00:00 2001 From: terrycrhuang Date: Tue, 18 Jun 2019 15:11:13 +0800 Subject: [PATCH] VTS: stop network scan once trigger network scan success For some vendors do not supports independent radios, if there is one manual search ongoing, another manual search on other SIM is not supported. So sending stop network scan request once trigger network scan completed to exclude this modem limitation. Bug: 135005200 Test: atest RadioHidlTest_v1_2#startNetworkScan Change-Id: Iacfd59ac2ad4d44e763ee03697c1f8f57162ce38 --- .../1.2/vts/functional/radio_hidl_hal_api.cpp | 5 ++++ .../vts/functional/radio_hidl_hal_test.cpp | 27 ++++++++++++++++++- .../functional/radio_hidl_hal_utils_v1_2.h | 5 +++- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/radio/1.2/vts/functional/radio_hidl_hal_api.cpp b/radio/1.2/vts/functional/radio_hidl_hal_api.cpp index 63d3187aed..f11f0d8e9e 100644 --- a/radio/1.2/vts/functional/radio_hidl_hal_api.cpp +++ b/radio/1.2/vts/functional/radio_hidl_hal_api.cpp @@ -60,6 +60,11 @@ TEST_F(RadioHidlTest_v1_2, startNetworkScan) { {RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED, RadioError::OPERATION_NOT_ALLOWED})); } + + if (radioRsp_v1_2->rspInfo.error == RadioError::NONE) { + ALOGI("Stop Network Scan"); + stopNetworkScan(); + } } /* diff --git a/radio/1.2/vts/functional/radio_hidl_hal_test.cpp b/radio/1.2/vts/functional/radio_hidl_hal_test.cpp index b34f138bbd..bff7481bed 100644 --- a/radio/1.2/vts/functional/radio_hidl_hal_test.cpp +++ b/radio/1.2/vts/functional/radio_hidl_hal_test.cpp @@ -14,6 +14,7 @@ * limitations under the License. */ +#include #include void RadioHidlTest_v1_2::SetUp() { @@ -84,4 +85,28 @@ void RadioHidlTest_v1_2::updateSimCardStatus() { serial = GetRandomSerialNumber(); radio_v1_2->getIccCardStatus(serial); EXPECT_EQ(std::cv_status::no_timeout, wait()); -} \ No newline at end of file +} + +void RadioHidlTest_v1_2::stopNetworkScan() { + sp<::android::hardware::radio::V1_1::IRadio> radio_v1_1; + + radio_v1_1 = ::testing::VtsHalHidlTargetTestBase::getService< + ::android::hardware::radio::V1_1::IRadio>( + RadioHidlEnvironment::Instance() + ->getServiceName<::android::hardware::radio::V1_1::IRadio>( + hidl_string(RADIO_SERVICE_NAME))); + if (radio_v1_1 == NULL) { + sleep(60); + radio_v1_1 = ::testing::VtsHalHidlTargetTestBase::getService< + ::android::hardware::radio::V1_1::IRadio>( + RadioHidlEnvironment::Instance() + ->getServiceName<::android::hardware::radio::V1_1::IRadio>( + hidl_string(RADIO_SERVICE_NAME))); + } + ASSERT_NE(nullptr, radio_v1_1.get()); + + serial = GetRandomSerialNumber(); + + radio_v1_1->stopNetworkScan(serial); + EXPECT_EQ(std::cv_status::no_timeout, wait()); +} diff --git a/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h b/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h index 2e65bfb78f..3f780e555a 100644 --- a/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h +++ b/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h @@ -622,7 +622,10 @@ class RadioHidlTest_v1_2 : public ::testing::VtsHalHidlTargetTestBase { /* Update Sim Card Status */ void updateSimCardStatus(); - public: + /* Stop Network Scan Command */ + void stopNetworkScan(); + + public: virtual void SetUp() override; /* Used as a mechanism to inform the test about data/event callback */