Add VTS for get/setPreferredNetworkBitmap

Bug: 121345980
Test: make vts -j32
Change-Id: I94b48f974e7244e1acbace26af8c00e05bee28e1
This commit is contained in:
Pengquan Meng
2019-02-21 12:16:16 -08:00
committed by chen xu
parent 7042a1aa9d
commit 8d6c1de16e
3 changed files with 55 additions and 3 deletions

View File

@@ -95,6 +95,56 @@ TEST_F(RadioHidlTest_v1_4, emergencyDial_withEmergencyRouting) {
EXPECT_EQ(RadioError::NONE, radioRsp_v1_4->rspInfo.error);
}
/*
* Test IRadio.getPreferredNetworkTypeBitmap() for the response returned.
*/
TEST_F(RadioHidlTest_v1_4, getPreferredNetworkTypeBitmap) {
serial = GetRandomSerialNumber();
Return<void> res = radio_v1_4->getPreferredNetworkTypeBitmap(serial);
ASSERT_OK(res);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_4->rspInfo.type);
EXPECT_EQ(serial, radioRsp_v1_4->rspInfo.serial);
ALOGI("getPreferredNetworkTypeBitmap, rspInfo.error = %s\n",
toString(radioRsp_v1_4->rspInfo.error).c_str());
EXPECT_EQ(RadioError::NONE, radioRsp_v1_4->rspInfo.error);
}
TEST_F(RadioHidlTest_v1_4, setPreferredNetworkTypeBitmap) {
serial = GetRandomSerialNumber();
::android::hardware::hidl_bitfield<::android::hardware::radio::V1_4::RadioAccessFamily>
network_type_bitmap{};
network_type_bitmap |= ::android::hardware::radio::V1_4::RadioAccessFamily::LTE;
Return<void> res = radio_v1_4->setPreferredNetworkTypeBitmap(serial, network_type_bitmap);
ASSERT_OK(res);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_4->rspInfo.type);
EXPECT_EQ(serial, radioRsp_v1_4->rspInfo.serial);
ALOGI("setPreferredNetworkTypeBitmap, rspInfo.error = %s\n",
toString(radioRsp_v1_4->rspInfo.error).c_str());
EXPECT_EQ(RadioError::NONE, radioRsp_v1_4->rspInfo.error);
if (radioRsp_v1_4->rspInfo.error == RadioError::NONE) {
// give some time for modem to set the value.
sleep(3);
serial = GetRandomSerialNumber();
Return<void> res = radio_v1_4->getPreferredNetworkTypeBitmap(serial);
ASSERT_OK(res);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_4->rspInfo.type);
EXPECT_EQ(serial, radioRsp_v1_4->rspInfo.serial);
ALOGI("getPreferredNetworkTypeBitmap, rspInfo.error = %s\n",
toString(radioRsp_v1_4->rspInfo.error).c_str());
EXPECT_EQ(RadioError::NONE, radioRsp_v1_4->rspInfo.error);
EXPECT_EQ(network_type_bitmap, radioRsp_v1_4->networkTypeBitmapResponse);
}
}
/*
* Test IRadio.startNetworkScan() for the response returned.
*/

View File

@@ -61,6 +61,9 @@ class RadioResponse_v1_4 : public ::android::hardware::radio::V1_4::IRadioRespon
bool isModemEnabled;
bool enableModemResponseToggle;
::android::hardware::hidl_bitfield<::android::hardware::radio::V1_4::RadioAccessFamily>
networkTypeBitmapResponse;
// Data
::android::hardware::radio::V1_4::DataRegStateResult dataRegResp;

View File

@@ -776,7 +776,6 @@ Return<void> RadioResponse_v1_4::setSystemSelectionChannelsResponse(const RadioR
Return<void> RadioResponse_v1_4::enableModemResponse(const RadioResponseInfo& info) {
rspInfo = info;
enableModemResponseToggle = !enableModemResponseToggle;
parent_v1_4.notify(info.serial);
return Void();
}
@@ -832,9 +831,9 @@ Return<void> RadioResponse_v1_4::getIccCardStatusResponse_1_4(
Return<void> RadioResponse_v1_4::getPreferredNetworkTypeBitmapResponse(
const RadioResponseInfo& info, const ::android::hardware::hidl_bitfield<
::android::hardware::radio::V1_4::RadioAccessFamily>
/*networkTypeBitmap*/) {
networkTypeBitmap) {
rspInfo = info;
// TODO: may need a new member for bitfield networkTypeBitmap.
networkTypeBitmapResponse = networkTypeBitmap;
parent_v1_4.notify(info.serial);
return Void();
}