diff options
author | Iris Chang <iris.chang@mediatek.com> | 2017-11-06 10:40:22 +0800 |
---|---|---|
committer | Hsin-Yi Chen <hsinyichen@google.com> | 2017-11-15 07:08:05 +0000 |
commit | 8dc6db217d8a4ffe56e9bf44bb3c9e1f6612326c (patch) | |
tree | e06870cd51269f16da4c83333714689e7ffda8ac /radio | |
parent | 3200996d4b524c0b705bbd830229a773128de1de (diff) | |
download | android_hardware_interfaces-8dc6db217d8a4ffe56e9bf44bb3c9e1f6612326c.tar.gz android_hardware_interfaces-8dc6db217d8a4ffe56e9bf44bb3c9e1f6612326c.tar.bz2 android_hardware_interfaces-8dc6db217d8a4ffe56e9bf44bb3c9e1f6612326c.zip |
VTS: fix RadioHidlTest.getAvailableNetworks issue
Analysis: VtsHalRadioV1_0Target's timeout is too short for
getAvailableNetworks, because this request duration depends on NW
environment or frequency.
Suggested solution: Add a timeout parameter to wait() and default
timeout value is 5 minutes in order to avoid timeout fail due to NW
environment.
Bug: 68834032
Test: getAvailableNetworks can be passed after we apply this patch and
test result for all other telephony 1.0 and 1.1 test cases are not
changed.
Change-Id: Iaae71e0abacd28275d86a19264813ff209ddb79c
Merged-In: Iaae71e0abacd28275d86a19264813ff209ddb79c
(cherry picked from commit 6429f0677f87c5657802d26345dc3334ab26e33a)
Diffstat (limited to 'radio')
5 files changed, 7 insertions, 7 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 6158f1aab..e450493d2 100644 --- a/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp +++ b/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp @@ -142,7 +142,7 @@ TEST_F(RadioHidlTest, getAvailableNetworks) { int serial = GetRandomSerialNumber(); radio->getAvailableNetworks(serial); - EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(std::cv_status::no_timeout, wait(300)); EXPECT_EQ(serial, radioRsp->rspInfo.serial); ASSERT_TRUE(radioRsp->rspInfo.type == RadioResponseType::SOLICITED || radioRsp->rspInfo.type == RadioResponseType::SOLICITED_ACK_EXP); diff --git a/radio/1.0/vts/functional/radio_hidl_hal_test.cpp b/radio/1.0/vts/functional/radio_hidl_hal_test.cpp index ed2c6bb6a..b5f036ea6 100644 --- a/radio/1.0/vts/functional/radio_hidl_hal_test.cpp +++ b/radio/1.0/vts/functional/radio_hidl_hal_test.cpp @@ -51,13 +51,13 @@ void RadioHidlTest::notify() { cv.notify_one(); } -std::cv_status RadioHidlTest::wait() { +std::cv_status RadioHidlTest::wait(int sec) { std::unique_lock<std::mutex> lock(mtx); std::cv_status status = std::cv_status::no_timeout; auto now = std::chrono::system_clock::now(); while (count == 0) { - status = cv.wait_until(lock, now + std::chrono::seconds(TIMEOUT_PERIOD)); + status = cv.wait_until(lock, now + std::chrono::seconds(sec)); if (status == std::cv_status::timeout) { return status; } diff --git a/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h b/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h index b0d67dad9..0b3dd2845 100644 --- a/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h +++ b/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h @@ -527,7 +527,7 @@ class RadioHidlTest : public ::testing::VtsHalHidlTargetTestBase { void notify(); /* Test code calls this function to wait for response */ - std::cv_status wait(); + std::cv_status wait(int sec = TIMEOUT_PERIOD); /* Used for checking General Errors */ bool CheckGeneralError(); diff --git a/radio/1.1/vts/functional/radio_hidl_hal_test.cpp b/radio/1.1/vts/functional/radio_hidl_hal_test.cpp index e0b1ad4bc..f03db2018 100644 --- a/radio/1.1/vts/functional/radio_hidl_hal_test.cpp +++ b/radio/1.1/vts/functional/radio_hidl_hal_test.cpp @@ -52,13 +52,13 @@ void RadioHidlTest_v1_1::notify() { cv.notify_one(); } -std::cv_status RadioHidlTest_v1_1::wait() { +std::cv_status RadioHidlTest_v1_1::wait(int sec) { std::unique_lock<std::mutex> lock(mtx); std::cv_status status = std::cv_status::no_timeout; auto now = std::chrono::system_clock::now(); while (count == 0) { - status = cv.wait_until(lock, now + std::chrono::seconds(TIMEOUT_PERIOD)); + status = cv.wait_until(lock, now + std::chrono::seconds(sec)); if (status == std::cv_status::timeout) { return status; } diff --git a/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h b/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h index c797e352b..2a5c0e477 100644 --- a/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h +++ b/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h @@ -550,7 +550,7 @@ class RadioHidlTest_v1_1 : public ::testing::VtsHalHidlTargetTestBase { void notify(); /* Test code calls this function to wait for response */ - std::cv_status wait(); + std::cv_status wait(int sec = TIMEOUT_PERIOD); /* Used for checking General Errors */ bool CheckGeneralError(); |