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
This commit is contained in:
parent
55e7774568
commit
6429f0677f
5 changed files with 9 additions and 9 deletions
|
@ -142,7 +142,7 @@ TEST_F(RadioHidlTest, getAvailableNetworks) {
|
||||||
int serial = GetRandomSerialNumber();
|
int serial = GetRandomSerialNumber();
|
||||||
|
|
||||||
radio->getAvailableNetworks(serial);
|
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);
|
EXPECT_EQ(serial, radioRsp->rspInfo.serial);
|
||||||
ASSERT_TRUE(radioRsp->rspInfo.type == RadioResponseType::SOLICITED ||
|
ASSERT_TRUE(radioRsp->rspInfo.type == RadioResponseType::SOLICITED ||
|
||||||
radioRsp->rspInfo.type == RadioResponseType::SOLICITED_ACK_EXP);
|
radioRsp->rspInfo.type == RadioResponseType::SOLICITED_ACK_EXP);
|
||||||
|
|
|
@ -51,13 +51,13 @@ void RadioHidlTest::notify() {
|
||||||
cv.notify_one();
|
cv.notify_one();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::cv_status RadioHidlTest::wait() {
|
std::cv_status RadioHidlTest::wait(int sec) {
|
||||||
std::unique_lock<std::mutex> lock(mtx);
|
std::unique_lock<std::mutex> lock(mtx);
|
||||||
|
|
||||||
std::cv_status status = std::cv_status::no_timeout;
|
std::cv_status status = std::cv_status::no_timeout;
|
||||||
auto now = std::chrono::system_clock::now();
|
auto now = std::chrono::system_clock::now();
|
||||||
while (count == 0) {
|
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) {
|
if (status == std::cv_status::timeout) {
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
|
@ -527,7 +527,7 @@ class RadioHidlTest : public ::testing::VtsHalHidlTargetTestBase {
|
||||||
void notify();
|
void notify();
|
||||||
|
|
||||||
/* Test code calls this function to wait for response */
|
/* 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 */
|
/* Used for checking General Errors */
|
||||||
bool CheckGeneralError();
|
bool CheckGeneralError();
|
||||||
|
|
|
@ -52,13 +52,13 @@ void RadioHidlTest_v1_1::notify() {
|
||||||
cv.notify_one();
|
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::unique_lock<std::mutex> lock(mtx);
|
||||||
|
|
||||||
std::cv_status status = std::cv_status::no_timeout;
|
std::cv_status status = std::cv_status::no_timeout;
|
||||||
auto now = std::chrono::system_clock::now();
|
auto now = std::chrono::system_clock::now();
|
||||||
while (count == 0) {
|
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) {
|
if (status == std::cv_status::timeout) {
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
|
@ -550,7 +550,7 @@ class RadioHidlTest_v1_1 : public ::testing::VtsHalHidlTargetTestBase {
|
||||||
void notify();
|
void notify();
|
||||||
|
|
||||||
/* Test code calls this function to wait for response */
|
/* 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 */
|
/* Used for checking General Errors */
|
||||||
bool CheckGeneralError();
|
bool CheckGeneralError();
|
||||||
|
|
Loading…
Reference in a new issue