Loading radio/1.2/vts/functional/radio_hidl_hal_api.cpp +205 −0 Original line number Diff line number Diff line Loading @@ -362,3 +362,208 @@ TEST_F(RadioHidlTest_v1_2, startNetworkScan_GoodRequest2) { ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } } /* * Test IRadio.setIndicationFilter_1_2() */ TEST_F(RadioHidlTest_v1_2, setIndicationFilter_1_2) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setIndicationFilter_1_2(serial, static_cast<int>(IndicationFilter::ALL)); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setIndicationFilter_1_2, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setSignalStrengthReportingCriteria() with invalid hysteresisDb */ TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_invalidHysteresisDb) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria( serial, 5000, 10, // hysteresisDb too large given threshold list deltas {-109, -103, -97, -89}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setSignalStrengthReportingCriteria_invalidHysteresisDb, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::INVALID_ARGUMENTS})); } /* * Test IRadio.setSignalStrengthReportingCriteria() with empty parameters */ TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_EmptyParams) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria(serial, 0, 0, {}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setSignalStrengthReportingCriteria_EmptyParams, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setSignalStrengthReportingCriteria() for GERAN */ TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_Geran) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria( serial, 5000, 2, {-109, -103, -97, -89}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setSignalStrengthReportingCriteria_Geran, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setSignalStrengthReportingCriteria() for UTRAN */ TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_Utran) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria( serial, 5000, 2, {-110, -97, -73, -49, -25}, V1_2::AccessNetwork::UTRAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setSignalStrengthReportingCriteria_Utran, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setSignalStrengthReportingCriteria() for EUTRAN */ TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_Eutran) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria( serial, 5000, 2, {-140, -128, -118, -108, -98, -44}, V1_2::AccessNetwork::EUTRAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setSignalStrengthReportingCriteria_Eutran, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setSignalStrengthReportingCriteria() for CDMA2000 */ TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_Cdma2000) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria( serial, 5000, 2, {-105, -90, -75, -65}, V1_2::AccessNetwork::CDMA2000); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setSignalStrengthReportingCriteria_Cdma2000, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setLinkCapacityReportingCriteria() invalid hysteresisDlKbps */ TEST_F(RadioHidlTest_v1_2, setLinkCapacityReportingCriteria_invalidHysteresisDlKbps) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setLinkCapacityReportingCriteria( serial, 5000, 5000, // hysteresisDlKbps too big for thresholds delta 100, {1000, 5000, 10000, 20000}, {500, 1000, 5000, 10000}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setLinkCapacityReportingCriteria_invalidHysteresisDlKbps, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::INVALID_ARGUMENTS})); } /* * Test IRadio.setLinkCapacityReportingCriteria() invalid hysteresisUlKbps */ TEST_F(RadioHidlTest_v1_2, setLinkCapacityReportingCriteria_invalidHysteresisUlKbps) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setLinkCapacityReportingCriteria( serial, 5000, 500, 1000, // hysteresisUlKbps too big for thresholds delta {1000, 5000, 10000, 20000}, {500, 1000, 5000, 10000}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setLinkCapacityReportingCriteria_invalidHysteresisUlKbps, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::INVALID_ARGUMENTS})); } /* * Test IRadio.setLinkCapacityReportingCriteria() empty params */ TEST_F(RadioHidlTest_v1_2, setLinkCapacityReportingCriteria_emptyParams) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setLinkCapacityReportingCriteria(serial, 0, 0, 0, {}, {}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setLinkCapacityReportingCriteria_emptyParams, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setLinkCapacityReportingCriteria() GERAN */ TEST_F(RadioHidlTest_v1_2, setLinkCapacityReportingCriteria_Geran) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setLinkCapacityReportingCriteria( serial, 5000, 500, 100, {1000, 5000, 10000, 20000}, {500, 1000, 5000, 10000}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setLinkCapacityReportingCriteria_invalidHysteresisUlKbps, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h +23 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ using namespace ::android::hardware::radio; using namespace ::android::hardware::radio::V1_1; using namespace ::android::hardware::radio::V1_0; using ::android::hardware::hidl_bitfield; using ::android::hardware::hidl_string; using ::android::hardware::hidl_vec; using ::android::hardware::Return; Loading Loading @@ -398,6 +399,11 @@ class RadioResponse_v1_2 : public V1_1::IRadioResponse { const KeepaliveStatus& status); Return<void> stopKeepaliveResponse(const RadioResponseInfo& info); /* 1.2 Api */ Return<void> setSignalStrengthReportingCriteriaResponse(const RadioResponseInfo& info); Return<void> setLinkCapacityReportingCriteriaResponse(const RadioResponseInfo& info); }; /* Callback class for radio indication */ Loading @@ -409,6 +415,23 @@ class RadioIndication_v1_2 : public V1_1::IRadioIndication { RadioIndication_v1_2(RadioHidlTest_v1_2& parent_v1_2); virtual ~RadioIndication_v1_2() = default; /* 1.2 Api */ Return<void> networkScanResult_1_2(RadioIndicationType type, const V1_2::NetworkScanResult& result); Return<void> cellInfoList_1_2(RadioIndicationType type, const ::android::hardware::hidl_vec<V1_2::CellInfo>& records); Return<void> currentLinkCapacityEstimate(RadioIndicationType type, const V1_2::LinkCapacityEstimate& lce); Return<void> currentPhysicalChannelConfigs( RadioIndicationType type, const ::android::hardware::hidl_vec<V1_2::PhysicalChannelConfig>& configs); Return<void> currentSignalStrength_1_2(RadioIndicationType type, const V1_2::SignalStrength& signalStrength); /* 1.1 Api */ Return<void> carrierInfoForImsiEncryption(RadioIndicationType info); Loading radio/1.2/vts/functional/radio_indication.cpp +28 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,34 @@ RadioIndication_v1_2::RadioIndication_v1_2(RadioHidlTest_v1_2& parent) : parent_v1_2(parent) {} /* 1.2 Apis */ Return<void> RadioIndication_v1_2::networkScanResult_1_2( RadioIndicationType /*type*/, const V1_2::NetworkScanResult& /*result*/) { return Void(); } Return<void> RadioIndication_v1_2::cellInfoList_1_2( RadioIndicationType /*type*/, const ::android::hardware::hidl_vec<V1_2::CellInfo>& /*records*/) { return Void(); } Return<void> RadioIndication_v1_2::currentLinkCapacityEstimate( RadioIndicationType /*type*/, const V1_2::LinkCapacityEstimate& /*lce*/) { return Void(); } Return<void> RadioIndication_v1_2::currentPhysicalChannelConfigs( RadioIndicationType /*type*/, const ::android::hardware::hidl_vec<V1_2::PhysicalChannelConfig>& /*configs*/) { return Void(); } Return<void> RadioIndication_v1_2::currentSignalStrength_1_2( RadioIndicationType /*type*/, const V1_2::SignalStrength& /*signalStrength*/) { return Void(); } /* 1.1 Apis */ Return<void> RadioIndication_v1_2::carrierInfoForImsiEncryption(RadioIndicationType /*info*/) { return Void(); Loading radio/1.2/vts/functional/radio_response.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -657,6 +657,7 @@ Return<void> RadioResponse_v1_2::acknowledgeRequest(int32_t /*serial*/) { return Void(); } /* 1.1 Apis */ Return<void> RadioResponse_v1_2::setCarrierInfoForImsiEncryptionResponse( const RadioResponseInfo& /*info*/) { return Void(); Loading Loading @@ -686,3 +687,18 @@ Return<void> RadioResponse_v1_2::startKeepaliveResponse(const RadioResponseInfo& Return<void> RadioResponse_v1_2::stopKeepaliveResponse(const RadioResponseInfo& /*info*/) { return Void(); } /* 1.2 Apis */ Return<void> RadioResponse_v1_2::setSignalStrengthReportingCriteriaResponse( const RadioResponseInfo& info) { rspInfo = info; parent_v1_2.notify(); return Void(); } Return<void> RadioResponse_v1_2::setLinkCapacityReportingCriteriaResponse( const RadioResponseInfo& info) { rspInfo = info; parent_v1_2.notify(); return Void(); } Loading
radio/1.2/vts/functional/radio_hidl_hal_api.cpp +205 −0 Original line number Diff line number Diff line Loading @@ -362,3 +362,208 @@ TEST_F(RadioHidlTest_v1_2, startNetworkScan_GoodRequest2) { ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } } /* * Test IRadio.setIndicationFilter_1_2() */ TEST_F(RadioHidlTest_v1_2, setIndicationFilter_1_2) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setIndicationFilter_1_2(serial, static_cast<int>(IndicationFilter::ALL)); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setIndicationFilter_1_2, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setSignalStrengthReportingCriteria() with invalid hysteresisDb */ TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_invalidHysteresisDb) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria( serial, 5000, 10, // hysteresisDb too large given threshold list deltas {-109, -103, -97, -89}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setSignalStrengthReportingCriteria_invalidHysteresisDb, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::INVALID_ARGUMENTS})); } /* * Test IRadio.setSignalStrengthReportingCriteria() with empty parameters */ TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_EmptyParams) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria(serial, 0, 0, {}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setSignalStrengthReportingCriteria_EmptyParams, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setSignalStrengthReportingCriteria() for GERAN */ TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_Geran) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria( serial, 5000, 2, {-109, -103, -97, -89}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setSignalStrengthReportingCriteria_Geran, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setSignalStrengthReportingCriteria() for UTRAN */ TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_Utran) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria( serial, 5000, 2, {-110, -97, -73, -49, -25}, V1_2::AccessNetwork::UTRAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setSignalStrengthReportingCriteria_Utran, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setSignalStrengthReportingCriteria() for EUTRAN */ TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_Eutran) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria( serial, 5000, 2, {-140, -128, -118, -108, -98, -44}, V1_2::AccessNetwork::EUTRAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setSignalStrengthReportingCriteria_Eutran, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setSignalStrengthReportingCriteria() for CDMA2000 */ TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_Cdma2000) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria( serial, 5000, 2, {-105, -90, -75, -65}, V1_2::AccessNetwork::CDMA2000); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setSignalStrengthReportingCriteria_Cdma2000, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setLinkCapacityReportingCriteria() invalid hysteresisDlKbps */ TEST_F(RadioHidlTest_v1_2, setLinkCapacityReportingCriteria_invalidHysteresisDlKbps) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setLinkCapacityReportingCriteria( serial, 5000, 5000, // hysteresisDlKbps too big for thresholds delta 100, {1000, 5000, 10000, 20000}, {500, 1000, 5000, 10000}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setLinkCapacityReportingCriteria_invalidHysteresisDlKbps, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::INVALID_ARGUMENTS})); } /* * Test IRadio.setLinkCapacityReportingCriteria() invalid hysteresisUlKbps */ TEST_F(RadioHidlTest_v1_2, setLinkCapacityReportingCriteria_invalidHysteresisUlKbps) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setLinkCapacityReportingCriteria( serial, 5000, 500, 1000, // hysteresisUlKbps too big for thresholds delta {1000, 5000, 10000, 20000}, {500, 1000, 5000, 10000}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setLinkCapacityReportingCriteria_invalidHysteresisUlKbps, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::INVALID_ARGUMENTS})); } /* * Test IRadio.setLinkCapacityReportingCriteria() empty params */ TEST_F(RadioHidlTest_v1_2, setLinkCapacityReportingCriteria_emptyParams) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setLinkCapacityReportingCriteria(serial, 0, 0, 0, {}, {}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setLinkCapacityReportingCriteria_emptyParams, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); } /* * Test IRadio.setLinkCapacityReportingCriteria() GERAN */ TEST_F(RadioHidlTest_v1_2, setLinkCapacityReportingCriteria_Geran) { const int serial = GetRandomSerialNumber(); Return<void> res = radio_v1_2->setLinkCapacityReportingCriteria( serial, 5000, 500, 100, {1000, 5000, 10000, 20000}, {500, 1000, 5000, 10000}, V1_2::AccessNetwork::GERAN); ASSERT_OK(res); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); ALOGI("setLinkCapacityReportingCriteria_invalidHysteresisUlKbps, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::NONE})); }
radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h +23 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ using namespace ::android::hardware::radio; using namespace ::android::hardware::radio::V1_1; using namespace ::android::hardware::radio::V1_0; using ::android::hardware::hidl_bitfield; using ::android::hardware::hidl_string; using ::android::hardware::hidl_vec; using ::android::hardware::Return; Loading Loading @@ -398,6 +399,11 @@ class RadioResponse_v1_2 : public V1_1::IRadioResponse { const KeepaliveStatus& status); Return<void> stopKeepaliveResponse(const RadioResponseInfo& info); /* 1.2 Api */ Return<void> setSignalStrengthReportingCriteriaResponse(const RadioResponseInfo& info); Return<void> setLinkCapacityReportingCriteriaResponse(const RadioResponseInfo& info); }; /* Callback class for radio indication */ Loading @@ -409,6 +415,23 @@ class RadioIndication_v1_2 : public V1_1::IRadioIndication { RadioIndication_v1_2(RadioHidlTest_v1_2& parent_v1_2); virtual ~RadioIndication_v1_2() = default; /* 1.2 Api */ Return<void> networkScanResult_1_2(RadioIndicationType type, const V1_2::NetworkScanResult& result); Return<void> cellInfoList_1_2(RadioIndicationType type, const ::android::hardware::hidl_vec<V1_2::CellInfo>& records); Return<void> currentLinkCapacityEstimate(RadioIndicationType type, const V1_2::LinkCapacityEstimate& lce); Return<void> currentPhysicalChannelConfigs( RadioIndicationType type, const ::android::hardware::hidl_vec<V1_2::PhysicalChannelConfig>& configs); Return<void> currentSignalStrength_1_2(RadioIndicationType type, const V1_2::SignalStrength& signalStrength); /* 1.1 Api */ Return<void> carrierInfoForImsiEncryption(RadioIndicationType info); Loading
radio/1.2/vts/functional/radio_indication.cpp +28 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,34 @@ RadioIndication_v1_2::RadioIndication_v1_2(RadioHidlTest_v1_2& parent) : parent_v1_2(parent) {} /* 1.2 Apis */ Return<void> RadioIndication_v1_2::networkScanResult_1_2( RadioIndicationType /*type*/, const V1_2::NetworkScanResult& /*result*/) { return Void(); } Return<void> RadioIndication_v1_2::cellInfoList_1_2( RadioIndicationType /*type*/, const ::android::hardware::hidl_vec<V1_2::CellInfo>& /*records*/) { return Void(); } Return<void> RadioIndication_v1_2::currentLinkCapacityEstimate( RadioIndicationType /*type*/, const V1_2::LinkCapacityEstimate& /*lce*/) { return Void(); } Return<void> RadioIndication_v1_2::currentPhysicalChannelConfigs( RadioIndicationType /*type*/, const ::android::hardware::hidl_vec<V1_2::PhysicalChannelConfig>& /*configs*/) { return Void(); } Return<void> RadioIndication_v1_2::currentSignalStrength_1_2( RadioIndicationType /*type*/, const V1_2::SignalStrength& /*signalStrength*/) { return Void(); } /* 1.1 Apis */ Return<void> RadioIndication_v1_2::carrierInfoForImsiEncryption(RadioIndicationType /*info*/) { return Void(); Loading
radio/1.2/vts/functional/radio_response.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -657,6 +657,7 @@ Return<void> RadioResponse_v1_2::acknowledgeRequest(int32_t /*serial*/) { return Void(); } /* 1.1 Apis */ Return<void> RadioResponse_v1_2::setCarrierInfoForImsiEncryptionResponse( const RadioResponseInfo& /*info*/) { return Void(); Loading Loading @@ -686,3 +687,18 @@ Return<void> RadioResponse_v1_2::startKeepaliveResponse(const RadioResponseInfo& Return<void> RadioResponse_v1_2::stopKeepaliveResponse(const RadioResponseInfo& /*info*/) { return Void(); } /* 1.2 Apis */ Return<void> RadioResponse_v1_2::setSignalStrengthReportingCriteriaResponse( const RadioResponseInfo& info) { rspInfo = info; parent_v1_2.notify(); return Void(); } Return<void> RadioResponse_v1_2::setLinkCapacityReportingCriteriaResponse( const RadioResponseInfo& info) { rspInfo = info; parent_v1_2.notify(); return Void(); }