From 8d6c1de16e5587261b5c0791436d195d1e220dc5 Mon Sep 17 00:00:00 2001 From: Pengquan Meng Date: Thu, 21 Feb 2019 12:16:16 -0800 Subject: [PATCH] Add VTS for get/setPreferredNetworkBitmap Bug: 121345980 Test: make vts -j32 Change-Id: I94b48f974e7244e1acbace26af8c00e05bee28e1 --- .../1.4/vts/functional/radio_hidl_hal_api.cpp | 50 +++++++++++++++++++ .../functional/radio_hidl_hal_utils_v1_4.h | 3 ++ radio/1.4/vts/functional/radio_response.cpp | 5 +- 3 files changed, 55 insertions(+), 3 deletions(-) diff --git a/radio/1.4/vts/functional/radio_hidl_hal_api.cpp b/radio/1.4/vts/functional/radio_hidl_hal_api.cpp index c395df64c3..15a8acc613 100644 --- a/radio/1.4/vts/functional/radio_hidl_hal_api.cpp +++ b/radio/1.4/vts/functional/radio_hidl_hal_api.cpp @@ -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 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 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 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. */ diff --git a/radio/1.4/vts/functional/radio_hidl_hal_utils_v1_4.h b/radio/1.4/vts/functional/radio_hidl_hal_utils_v1_4.h index b77814f5a1..ed689c6367 100644 --- a/radio/1.4/vts/functional/radio_hidl_hal_utils_v1_4.h +++ b/radio/1.4/vts/functional/radio_hidl_hal_utils_v1_4.h @@ -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; diff --git a/radio/1.4/vts/functional/radio_response.cpp b/radio/1.4/vts/functional/radio_response.cpp index 10ecead2a0..6e9cd434c2 100644 --- a/radio/1.4/vts/functional/radio_response.cpp +++ b/radio/1.4/vts/functional/radio_response.cpp @@ -776,7 +776,6 @@ Return RadioResponse_v1_4::setSystemSelectionChannelsResponse(const RadioR Return RadioResponse_v1_4::enableModemResponse(const RadioResponseInfo& info) { rspInfo = info; - enableModemResponseToggle = !enableModemResponseToggle; parent_v1_4.notify(info.serial); return Void(); } @@ -832,9 +831,9 @@ Return RadioResponse_v1_4::getIccCardStatusResponse_1_4( Return 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(); }