mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
Add VTS tests for 1.2 reporting criteria
Bug: 72115876 Test: make Change-Id: I7a7633994888d2f1781ac7d5730727112eb0c86d
This commit is contained in:
@@ -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}));
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
@@ -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 */
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user