From 126ae7c316ae6f4a9074c816f853903952edb270 Mon Sep 17 00:00:00 2001 From: Yomna Nasser Date: Wed, 9 Jun 2021 22:21:49 +0000 Subject: [PATCH] Adds VTS test for getAllowedNetworkTypesBitmap Adds VTS test for the new HAL API getAllowedNetworkTypesBitmap Bug: b/190398554 Test: atest VtsHalRadioV1_6TargetTest Change-Id: Ida0aff8e239cad324627db83903f4a1adcc479d1 --- .../1.6/vts/functional/radio_hidl_hal_api.cpp | 43 +++++++++++++++++++ radio/1.6/vts/functional/radio_response.cpp | 7 ++- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/radio/1.6/vts/functional/radio_hidl_hal_api.cpp b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp index fd8da6e2ef..a6eb2d8e9a 100644 --- a/radio/1.6/vts/functional/radio_hidl_hal_api.cpp +++ b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp @@ -51,6 +51,49 @@ TEST_P(RadioHidlTest_v1_6, setAllowedNetworkTypesBitmap) { } } +/* + * Test IRadio.getAllowedNetworkTypesBitmap for the response returned. + */ +TEST_P(RadioHidlTest_v1_6, getAllowedNetworkTypesBitmap) { + serial = GetRandomSerialNumber(); + ::android::hardware::hidl_bitfield<::android::hardware::radio::V1_4::RadioAccessFamily> + allowedNetworkTypesBitmap{}; + allowedNetworkTypesBitmap |= ::android::hardware::radio::V1_4::RadioAccessFamily::LTE; + + radio_v1_6->setAllowedNetworkTypesBitmap(serial, allowedNetworkTypesBitmap); + + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_6->rspInfo.serial); + + if (radioRsp_v1_6->rspInfo.error == ::android::hardware::radio::V1_6::RadioError::NONE) { + sleep(3); // wait for modem + serial = GetRandomSerialNumber(); + radio_v1_6->getAllowedNetworkTypesBitmap(serial); + + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_6->rspInfo.serial); + + if (getRadioHalCapabilities()) { + ASSERT_TRUE(CheckAnyOfErrors( + radioRsp_v1_6->rspInfo.error, + {::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED})); + } else { + ASSERT_TRUE(CheckAnyOfErrors( + radioRsp_v1_6->rspInfo.error, + {::android::hardware::radio::V1_6::RadioError::NONE, + ::android::hardware::radio::V1_6::RadioError::RADIO_NOT_AVAILABLE, + ::android::hardware::radio::V1_6::RadioError::OPERATION_NOT_ALLOWED, + ::android::hardware::radio::V1_6::RadioError::MODE_NOT_SUPPORTED, + ::android::hardware::radio::V1_6::RadioError::INTERNAL_ERR, + ::android::hardware::radio::V1_6::RadioError::INVALID_ARGUMENTS, + ::android::hardware::radio::V1_6::RadioError::MODEM_ERR, + ::android::hardware::radio::V1_6::RadioError::NO_RESOURCES})); + } + } +} + /* * Test IRadio.setupDataCall_1_6() for the response returned. */ diff --git a/radio/1.6/vts/functional/radio_response.cpp b/radio/1.6/vts/functional/radio_response.cpp index b1e679b35b..e1b9f56de0 100644 --- a/radio/1.6/vts/functional/radio_response.cpp +++ b/radio/1.6/vts/functional/radio_response.cpp @@ -1172,10 +1172,13 @@ Return RadioResponse_v1_6::setAllowedNetworkTypesBitmapResponse( } Return RadioResponse_v1_6::getAllowedNetworkTypesBitmapResponse( - const ::android::hardware::radio::V1_6::RadioResponseInfo& /*info*/, + const ::android::hardware::radio::V1_6::RadioResponseInfo& info, const ::android::hardware::hidl_bitfield< ::android::hardware::radio::V1_4::RadioAccessFamily> - /*networkTypeBitmap*/) { + networkTypeBitmap) { + rspInfo = info; + networkTypeBitmapResponse = networkTypeBitmap; + parent_v1_6.notify(info.serial); return Void(); }