From d519aead5bdfc4dfe6fea06c4e8e994bb56d3264 Mon Sep 17 00:00:00 2001 From: joonhunshin Date: Tue, 31 Oct 2023 03:06:54 +0000 Subject: [PATCH] update vts to enforce telephony feature mapping Bug: 297989574 Test: build pass Change-Id: I74da66f0f066a9da3a97901b992ea02adf3fece2 --- radio/aidl/vts/Android.bp | 5 + radio/aidl/vts/radio_aidl_hal_utils.h | 15 + radio/aidl/vts/radio_config_test.cpp | 49 +++ radio/aidl/vts/radio_data_test.cpp | 76 ++++ radio/aidl/vts/radio_messaging_test.cpp | 147 ++++++++ radio/aidl/vts/radio_modem_test.cpp | 91 +++++ radio/aidl/vts/radio_network_test.cpp | 448 ++++++++++++++++++++++++ radio/aidl/vts/radio_sap_test.cpp | 56 +++ radio/aidl/vts/radio_sim_test.cpp | 245 +++++++++++++ radio/aidl/vts/radio_voice_test.cpp | 321 +++++++++++++++-- 10 files changed, 1429 insertions(+), 24 deletions(-) diff --git a/radio/aidl/vts/Android.bp b/radio/aidl/vts/Android.bp index ddb1b335dd..d985686370 100644 --- a/radio/aidl/vts/Android.bp +++ b/radio/aidl/vts/Android.bp @@ -66,9 +66,13 @@ cc_test { "radio_voice_test.cpp", "VtsHalRadioTargetTest.cpp", ], + header_libs: [ + "jni_headers", + ], shared_libs: [ "libbinder_ndk", "libvintf", + "server_configurable_flags", ], static_libs: [ "android.hardware.radio-V3-ndk", @@ -82,6 +86,7 @@ cc_test { "android.hardware.radio.sap-V1-ndk", "android.hardware.radio.sim-V3-ndk", "android.hardware.radio.voice-V3-ndk", + "telephony_flags_c_lib", ], test_suites: [ "general-tests", diff --git a/radio/aidl/vts/radio_aidl_hal_utils.h b/radio/aidl/vts/radio_aidl_hal_utils.h index d8aa02431e..aea5cee2b1 100644 --- a/radio/aidl/vts/radio_aidl_hal_utils.h +++ b/radio/aidl/vts/radio_aidl_hal_utils.h @@ -24,6 +24,7 @@ #include #include #include +#include #include using namespace aidl::android::hardware::radio; @@ -31,6 +32,8 @@ using aidl::android::hardware::radio::config::SimSlotStatus; using aidl::android::hardware::radio::network::RegState; using aidl::android::hardware::radio::sim::CardStatus; +namespace telephony_flags = com::android::internal::telephony::flags; + extern CardStatus cardStatus; extern SimSlotStatus slotStatus; extern int serial; @@ -68,6 +71,18 @@ static constexpr const char* FEATURE_TELEPHONY_CDMA = "android.hardware.telephon static constexpr const char* FEATURE_TELEPHONY_IMS = "android.hardware.telephony.ims"; +static constexpr const char* FEATURE_TELEPHONY_CALLING = "android.hardware.telephony.calling"; + +static constexpr const char* FEATURE_TELEPHONY_DATA = "android.hardware.telephony.data"; + +static constexpr const char* FEATURE_TELEPHONY_MESSAGING = "android.hardware.telephony.messaging"; + +static constexpr const char* FEATURE_TELEPHONY_SUBSCRIPTION = + "android.hardware.telephony.subscription"; + +static constexpr const char* FEATURE_TELEPHONY_RADIO_ACCESS = + "android.hardware.telephony.radio.access"; + #define MODEM_EMERGENCY_CALL_ESTABLISH_TIME 3 #define MODEM_EMERGENCY_CALL_DISCONNECT_TIME 3 #define MODEM_SET_SIM_POWER_DELAY_IN_SECONDS 2 diff --git a/radio/aidl/vts/radio_config_test.cpp b/radio/aidl/vts/radio_config_test.cpp index aed3b05b4f..d8c0142ccd 100644 --- a/radio/aidl/vts/radio_config_test.cpp +++ b/radio/aidl/vts/radio_config_test.cpp @@ -54,6 +54,13 @@ void RadioConfigTest::updateSimSlotStatus() { * Test IRadioConfig.getHalDeviceCapabilities() for the response returned. */ TEST_P(RadioConfigTest, getHalDeviceCapabilities) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY)) { + GTEST_SKIP() << "Skipping getHalDeviceCapabilities " + "due to undefined FEATURE_TELEPHONY"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_config->getHalDeviceCapabilities(serial); ASSERT_OK(res); @@ -66,6 +73,13 @@ TEST_P(RadioConfigTest, getHalDeviceCapabilities) { * Test IRadioConfig.getSimSlotsStatus() for the response returned. */ TEST_P(RadioConfigTest, getSimSlotsStatus) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping getSimSlotsStatus " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_config->getSimSlotsStatus(serial); ASSERT_OK(res); @@ -78,6 +92,13 @@ TEST_P(RadioConfigTest, getSimSlotsStatus) { * Test IRadioConfig.getPhoneCapability() for the response returned. */ TEST_P(RadioConfigTest, getPhoneCapability) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY)) { + GTEST_SKIP() << "Skipping getPhoneCapability " + "due to undefined FEATURE_TELEPHONY"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_config->getPhoneCapability(serial); ASSERT_OK(res); @@ -104,6 +125,13 @@ TEST_P(RadioConfigTest, getPhoneCapability) { * Test IRadioConfig.setPreferredDataModem() for the response returned. */ TEST_P(RadioConfigTest, setPreferredDataModem) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_DATA)) { + GTEST_SKIP() << "Skipping setPreferredDataModem " + "due to undefined FEATURE_TELEPHONY_DATA"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_config->getPhoneCapability(serial); ASSERT_OK(res); @@ -146,6 +174,13 @@ TEST_P(RadioConfigTest, setPreferredDataModem) { * Test IRadioConfig.setPreferredDataModem() with invalid arguments. */ TEST_P(RadioConfigTest, setPreferredDataModem_invalidArgument) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_DATA)) { + GTEST_SKIP() << "Skipping setPreferredDataModem_invalidArgument " + "due to undefined FEATURE_TELEPHONY_DATA"; + } + } + serial = GetRandomSerialNumber(); uint8_t modemId = -1; ndk::ScopedAStatus res = radio_config->setPreferredDataModem(serial, modemId); @@ -166,6 +201,13 @@ TEST_P(RadioConfigTest, setPreferredDataModem_invalidArgument) { * Test IRadioConfig.setSimSlotsMapping() for the response returned. */ TEST_P(RadioConfigTest, setSimSlotsMapping) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping setSimSlotsMapping " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + // get slot status and set SIM slots mapping based on the result. updateSimSlotStatus(); if (radioRsp_config->rspInfo.error == RadioError::NONE) { @@ -227,6 +269,13 @@ TEST_P(RadioConfigTest, setSimSlotsMapping) { */ TEST_P(RadioConfigTest, checkPortInfoExistsAndPortActive) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping checkPortInfoExistsAndPortActive " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_config->getSimSlotsStatus(serial); ASSERT_OK(res); diff --git a/radio/aidl/vts/radio_data_test.cpp b/radio/aidl/vts/radio_data_test.cpp index f31c254277..2aa5508b01 100644 --- a/radio/aidl/vts/radio_data_test.cpp +++ b/radio/aidl/vts/radio_data_test.cpp @@ -68,6 +68,12 @@ ndk::ScopedAStatus RadioDataTest::getDataCallList() { * Test IRadioData.setupDataCall() for the response returned. */ TEST_P(RadioDataTest, setupDataCall) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_DATA)) { + GTEST_SKIP() << "setupDataCall : required FEATURE_TELEPHONY_DATA"; + } + } + serial = GetRandomSerialNumber(); AccessNetwork accessNetwork = AccessNetwork::EUTRAN; @@ -135,6 +141,13 @@ TEST_P(RadioDataTest, setupDataCall) { * Test IRadioData.setupDataCall() with osAppId for the response returned. */ TEST_P(RadioDataTest, setupDataCall_osAppId) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_DATA)) { + GTEST_SKIP() << "Skipping setupDataCall_osAppId " + "due to undefined FEATURE_TELEPHONY_DATA"; + } + } + serial = GetRandomSerialNumber(); AccessNetwork accessNetwork = AccessNetwork::EUTRAN; @@ -227,6 +240,13 @@ TEST_P(RadioDataTest, setupDataCall_osAppId) { * Test IRadioData.getSlicingConfig() for the response returned. */ TEST_P(RadioDataTest, getSlicingConfig) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_DATA)) { + GTEST_SKIP() << "Skipping getSlicingConfig " + "due to undefined FEATURE_TELEPHONY_DATA"; + } + } + serial = GetRandomSerialNumber(); radio_data->getSlicingConfig(serial); EXPECT_EQ(std::cv_status::no_timeout, wait()); @@ -242,6 +262,13 @@ TEST_P(RadioDataTest, getSlicingConfig) { * Test IRadioData.setDataThrottling() for the response returned. */ TEST_P(RadioDataTest, setDataThrottling) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_DATA)) { + GTEST_SKIP() << "Skipping setDataThrottling " + "due to undefined FEATURE_TELEPHONY_DATA"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_data->setDataThrottling( @@ -320,6 +347,13 @@ TEST_P(RadioDataTest, setDataThrottling) { * Test IRadioData.setInitialAttachApn() for the response returned. */ TEST_P(RadioDataTest, setInitialAttachApn) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_DATA)) { + GTEST_SKIP() << "Skipping setInitialAttachApn " + "due to undefined FEATURE_TELEPHONY_DATA"; + } + } + serial = GetRandomSerialNumber(); // Create a dataProfileInfo @@ -363,6 +397,13 @@ TEST_P(RadioDataTest, setInitialAttachApn) { * Test IRadioData.setDataProfile() for the response returned. */ TEST_P(RadioDataTest, setDataProfile) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_DATA)) { + GTEST_SKIP() << "Skipping setDataProfile " + "due to undefined FEATURE_TELEPHONY_DATA"; + } + } + serial = GetRandomSerialNumber(); // Create a dataProfileInfo @@ -409,6 +450,13 @@ TEST_P(RadioDataTest, setDataProfile) { * Test IRadioData.deactivateDataCall() for the response returned. */ TEST_P(RadioDataTest, deactivateDataCall) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_DATA)) { + GTEST_SKIP() << "Skipping deactivateDataCall " + "due to undefined FEATURE_TELEPHONY_DATA"; + } + } + serial = GetRandomSerialNumber(); int cid = 1; DataRequestReason reason = DataRequestReason::NORMAL; @@ -440,6 +488,13 @@ TEST_P(RadioDataTest, deactivateDataCall) { * Test IRadioData.startKeepalive() for the response returned. */ TEST_P(RadioDataTest, startKeepalive) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_DATA)) { + GTEST_SKIP() << "Skipping startKeepalive " + "due to undefined FEATURE_TELEPHONY_DATA"; + } + } + std::vector requests = { { // Invalid IPv4 source address @@ -538,6 +593,13 @@ TEST_P(RadioDataTest, startKeepalive) { * Test IRadioData.stopKeepalive() for the response returned. */ TEST_P(RadioDataTest, stopKeepalive) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_DATA)) { + GTEST_SKIP() << "Skipping stopKeepalive " + "due to undefined FEATURE_TELEPHONY_DATA"; + } + } + serial = GetRandomSerialNumber(); radio_data->stopKeepalive(serial, 0xBAD); @@ -554,6 +616,13 @@ TEST_P(RadioDataTest, stopKeepalive) { * Test IRadioData.getDataCallList() for the response returned. */ TEST_P(RadioDataTest, getDataCallList) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_DATA)) { + GTEST_SKIP() << "Skipping getDataCallList " + "due to undefined FEATURE_TELEPHONY_DATA"; + } + } + serial = GetRandomSerialNumber(); radio_data->getDataCallList(serial); @@ -573,6 +642,13 @@ TEST_P(RadioDataTest, getDataCallList) { * Test IRadioData.setDataAllowed() for the response returned. */ TEST_P(RadioDataTest, setDataAllowed) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_DATA)) { + GTEST_SKIP() << "Skipping setDataAllowed " + "due to undefined FEATURE_TELEPHONY_DATA"; + } + } + serial = GetRandomSerialNumber(); bool allow = true; diff --git a/radio/aidl/vts/radio_messaging_test.cpp b/radio/aidl/vts/radio_messaging_test.cpp index 4ab88d2d8a..95e261790b 100644 --- a/radio/aidl/vts/radio_messaging_test.cpp +++ b/radio/aidl/vts/radio_messaging_test.cpp @@ -59,6 +59,13 @@ void RadioMessagingTest::SetUp() { * Test IRadioMessaging.sendSms() for the response returned. */ TEST_P(RadioMessagingTest, sendSms) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_MESSAGING)) { + GTEST_SKIP() << "Skipping sendSms " + "due to undefined FEATURE_TELEPHONY_MESSAGING"; + } + } + serial = GetRandomSerialNumber(); GsmSmsMessage msg; msg.smscPdu = ""; @@ -83,6 +90,13 @@ TEST_P(RadioMessagingTest, sendSms) { * Test IRadioMessaging.sendSmsExpectMore() for the response returned. */ TEST_P(RadioMessagingTest, sendSmsExpectMore) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_MESSAGING)) { + GTEST_SKIP() << "Skipping sendSmsExpectMore " + "due to undefined FEATURE_TELEPHONY_MESSAGING"; + } + } + serial = GetRandomSerialNumber(); GsmSmsMessage msg; msg.smscPdu = ""; @@ -106,6 +120,13 @@ TEST_P(RadioMessagingTest, sendSmsExpectMore) { * Test IRadioMessaging.sendCdmaSms() for the response returned. */ TEST_P(RadioMessagingTest, sendCdmaSms) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping sendCdmaSms " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); // Create a CdmaSmsAddress @@ -150,6 +171,13 @@ TEST_P(RadioMessagingTest, sendCdmaSms) { * Test IRadioMessaging.sendCdmaSmsExpectMore() for the response returned. */ TEST_P(RadioMessagingTest, sendCdmaSmsExpectMore) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping sendCdmaSmsExpectMore " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); // Create a CdmaSmsAddress @@ -194,6 +222,13 @@ TEST_P(RadioMessagingTest, sendCdmaSmsExpectMore) { * Test IRadioMessaging.setGsmBroadcastConfig() for the response returned. */ TEST_P(RadioMessagingTest, setGsmBroadcastConfig) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_MESSAGING)) { + GTEST_SKIP() << "Skipping setGsmBroadcastConfig " + "due to undefined FEATURE_TELEPHONY_MESSAGING"; + } + } + serial = GetRandomSerialNumber(); // Create GsmBroadcastSmsConfigInfo #1 @@ -257,6 +292,13 @@ TEST_P(RadioMessagingTest, setGsmBroadcastConfig) { * Test IRadioMessaging.getGsmBroadcastConfig() for the response returned. */ TEST_P(RadioMessagingTest, getGsmBroadcastConfig) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_MESSAGING)) { + GTEST_SKIP() << "Skipping getGsmBroadcastConfig " + "due to undefined FEATURE_TELEPHONY_MESSAGING"; + } + } + serial = GetRandomSerialNumber(); radio_messaging->getGsmBroadcastConfig(serial); @@ -277,6 +319,13 @@ TEST_P(RadioMessagingTest, getGsmBroadcastConfig) { * Test IRadioMessaging.setCdmaBroadcastConfig() for the response returned. */ TEST_P(RadioMessagingTest, setCdmaBroadcastConfig) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping setCdmaBroadcastConfig " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); CdmaBroadcastSmsConfigInfo cbSmsConfig; @@ -303,6 +352,13 @@ TEST_P(RadioMessagingTest, setCdmaBroadcastConfig) { * Test IRadioMessaging.getCdmaBroadcastConfig() for the response returned. */ TEST_P(RadioMessagingTest, getCdmaBroadcastConfig) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping getCdmaBroadcastConfig " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); radio_messaging->getCdmaBroadcastConfig(serial); @@ -321,6 +377,13 @@ TEST_P(RadioMessagingTest, getCdmaBroadcastConfig) { * Test IRadioMessaging.setCdmaBroadcastActivation() for the response returned. */ TEST_P(RadioMessagingTest, setCdmaBroadcastActivation) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping setCdmaBroadcastActivation " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); bool activate = false; @@ -341,6 +404,13 @@ TEST_P(RadioMessagingTest, setCdmaBroadcastActivation) { * Test IRadioMessaging.setGsmBroadcastActivation() for the response returned. */ TEST_P(RadioMessagingTest, setGsmBroadcastActivation) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_MESSAGING)) { + GTEST_SKIP() << "Skipping setGsmBroadcastActivation " + "due to undefined FEATURE_TELEPHONY_MESSAGING"; + } + } + serial = GetRandomSerialNumber(); bool activate = false; @@ -363,6 +433,13 @@ TEST_P(RadioMessagingTest, setGsmBroadcastActivation) { * Test IRadioMessaging.acknowledgeLastIncomingGsmSms() for the response returned. */ TEST_P(RadioMessagingTest, acknowledgeLastIncomingGsmSms) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_MESSAGING)) { + GTEST_SKIP() << "Skipping acknowledgeLastIncomingGsmSms " + "due to undefined FEATURE_TELEPHONY_MESSAGING"; + } + } + serial = GetRandomSerialNumber(); bool success = true; @@ -384,6 +461,13 @@ TEST_P(RadioMessagingTest, acknowledgeLastIncomingGsmSms) { * Test IRadioMessaging.acknowledgeIncomingGsmSmsWithPdu() for the response returned. */ TEST_P(RadioMessagingTest, acknowledgeIncomingGsmSmsWithPdu) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_MESSAGING)) { + GTEST_SKIP() << "Skipping acknowledgeIncomingGsmSmsWithPdu " + "due to undefined FEATURE_TELEPHONY_MESSAGING"; + } + } + serial = GetRandomSerialNumber(); bool success = true; std::string ackPdu = ""; @@ -405,6 +489,13 @@ TEST_P(RadioMessagingTest, acknowledgeIncomingGsmSmsWithPdu) { * Test IRadioMessaging.acknowledgeLastIncomingCdmaSms() for the response returned. */ TEST_P(RadioMessagingTest, acknowledgeLastIncomingCdmaSms) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping acknowledgeIncomingGsmSmsWithPdu " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); // Create a CdmaSmsAck @@ -429,6 +520,13 @@ TEST_P(RadioMessagingTest, acknowledgeLastIncomingCdmaSms) { * Test IRadioMessaging.sendImsSms() for the response returned. */ TEST_P(RadioMessagingTest, sendImsSms) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_IMS)) { + GTEST_SKIP() << "Skipping acknowledgeIncomingGsmSmsWithPdu " + "due to undefined FEATURE_TELEPHONY_IMS"; + } + } + serial = GetRandomSerialNumber(); // Create a CdmaSmsAddress @@ -479,6 +577,13 @@ TEST_P(RadioMessagingTest, sendImsSms) { * Test IRadioMessaging.getSmscAddress() for the response returned. */ TEST_P(RadioMessagingTest, getSmscAddress) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_MESSAGING)) { + GTEST_SKIP() << "Skipping getSmscAddress " + "due to undefined FEATURE_TELEPHONY_MESSAGING"; + } + } + serial = GetRandomSerialNumber(); radio_messaging->getSmscAddress(serial); @@ -499,6 +604,13 @@ TEST_P(RadioMessagingTest, getSmscAddress) { * Test IRadioMessaging.setSmscAddress() for the response returned. */ TEST_P(RadioMessagingTest, setSmscAddress) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_MESSAGING)) { + GTEST_SKIP() << "Skipping setSmscAddress " + "due to undefined FEATURE_TELEPHONY_MESSAGING"; + } + } + serial = GetRandomSerialNumber(); std::string address = std::string("smscAddress"); @@ -520,6 +632,13 @@ TEST_P(RadioMessagingTest, setSmscAddress) { * Test IRadioMessaging.writeSmsToSim() for the response returned. */ TEST_P(RadioMessagingTest, writeSmsToSim) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_MESSAGING)) { + GTEST_SKIP() << "Skipping writeSmsToSim " + "due to undefined FEATURE_TELEPHONY_MESSAGING"; + } + } + serial = GetRandomSerialNumber(); SmsWriteArgs smsWriteArgs; smsWriteArgs.status = SmsWriteArgs::STATUS_REC_UNREAD; @@ -546,6 +665,13 @@ TEST_P(RadioMessagingTest, writeSmsToSim) { * Test IRadioMessaging.deleteSmsOnSim() for the response returned. */ TEST_P(RadioMessagingTest, deleteSmsOnSim) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_MESSAGING)) { + GTEST_SKIP() << "Skipping deleteSmsOnSim " + "due to undefined FEATURE_TELEPHONY_MESSAGING"; + } + } + serial = GetRandomSerialNumber(); int index = 1; @@ -569,6 +695,13 @@ TEST_P(RadioMessagingTest, deleteSmsOnSim) { * Test IRadioMessaging.writeSmsToRuim() for the response returned. */ TEST_P(RadioMessagingTest, writeSmsToRuim) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping writeSmsToRuim " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); // Create a CdmaSmsAddress @@ -620,6 +753,13 @@ TEST_P(RadioMessagingTest, writeSmsToRuim) { * Test IRadioMessaging.deleteSmsOnRuim() for the response returned. */ TEST_P(RadioMessagingTest, deleteSmsOnRuim) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping deleteSmsOnRuim " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); int index = 1; @@ -671,6 +811,13 @@ TEST_P(RadioMessagingTest, deleteSmsOnRuim) { * Test IRadioMessaging.reportSmsMemoryStatus() for the response returned. */ TEST_P(RadioMessagingTest, reportSmsMemoryStatus) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_MESSAGING)) { + GTEST_SKIP() << "Skipping reportSmsMemoryStatus " + "due to undefined FEATURE_TELEPHONY_MESSAGING"; + } + } + serial = GetRandomSerialNumber(); bool available = true; diff --git a/radio/aidl/vts/radio_modem_test.cpp b/radio/aidl/vts/radio_modem_test.cpp index c48a46104a..6a9996bb1d 100644 --- a/radio/aidl/vts/radio_modem_test.cpp +++ b/radio/aidl/vts/radio_modem_test.cpp @@ -59,6 +59,13 @@ void RadioModemTest::SetUp() { * Test IRadioModem.setRadioPower() for the response returned. */ TEST_P(RadioModemTest, setRadioPower_emergencyCall_cancelled) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setRadioPower_emergencyCall_cancelled " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + // Set radio power to off. serial = GetRandomSerialNumber(); radio_modem->setRadioPower(serial, false, false, false); @@ -90,6 +97,13 @@ TEST_P(RadioModemTest, setRadioPower_emergencyCall_cancelled) { * Test IRadioModem.enableModem() for the response returned. */ TEST_P(RadioModemTest, enableModem) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY)) { + GTEST_SKIP() << "Skipping enableModem " + "due to undefined FEATURE_TELEPHONY"; + } + } + serial = GetRandomSerialNumber(); if (isSsSsEnabled()) { @@ -134,6 +148,13 @@ TEST_P(RadioModemTest, enableModem) { * Test IRadioModem.getModemStackStatus() for the response returned. */ TEST_P(RadioModemTest, getModemStackStatus) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY)) { + GTEST_SKIP() << "Skipping getModemStackStatus " + "due to undefined FEATURE_TELEPHONY"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_modem->getModemStackStatus(serial); @@ -152,6 +173,13 @@ TEST_P(RadioModemTest, getModemStackStatus) { * Test IRadioModem.getBasebandVersion() for the response returned. */ TEST_P(RadioModemTest, getBasebandVersion) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY)) { + GTEST_SKIP() << "Skipping getBasebandVersion " + "due to undefined FEATURE_TELEPHONY"; + } + } + serial = GetRandomSerialNumber(); radio_modem->getBasebandVersion(serial); @@ -168,6 +196,13 @@ TEST_P(RadioModemTest, getBasebandVersion) { * Test IRadioModem.getDeviceIdentity() for the response returned. */ TEST_P(RadioModemTest, getDeviceIdentity) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY)) { + GTEST_SKIP() << "Skipping getDeviceIdentity " + "due to undefined FEATURE_TELEPHONY"; + } + } + serial = GetRandomSerialNumber(); radio_modem->getDeviceIdentity(serial); @@ -185,6 +220,13 @@ TEST_P(RadioModemTest, getDeviceIdentity) { * Test IRadioModem.getImei() for the response returned. */ TEST_P(RadioModemTest, getImei) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_GSM)) { + GTEST_SKIP() << "Skipping getImei " + "due to undefined FEATURE_TELEPHONY_GSM"; + } + } + int32_t aidl_version; ndk::ScopedAStatus aidl_status = radio_modem->getInterfaceVersion(&aidl_version); ASSERT_OK(aidl_status); @@ -246,6 +288,13 @@ TEST_P(RadioModemTest, nvWriteItem) { * Test IRadioModem.nvWriteCdmaPrl() for the response returned. */ TEST_P(RadioModemTest, nvWriteCdmaPrl) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping nvWriteCdmaPrl " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); std::vector prl = {1, 2, 3, 4, 5}; @@ -283,6 +332,13 @@ TEST_P(RadioModemTest, nvResetConfig) { * Test IRadioModem.getHardwareConfig() for the response returned. */ TEST_P(RadioModemTest, getHardwareConfig) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY)) { + GTEST_SKIP() << "Skipping getHardwareConfig " + "due to undefined FEATURE_TELEPHONY"; + } + } + serial = GetRandomSerialNumber(); radio_modem->getHardwareConfig(serial); @@ -302,6 +358,13 @@ TEST_P(RadioModemTest, getHardwareConfig) { * Test IRadioModem.requestShutdown() for the response returned. */ TEST_P(RadioModemTest, DISABLED_requestShutdown) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping DISABLED_requestShutdown " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); radio_modem->requestShutdown(serial); @@ -319,6 +382,13 @@ TEST_P(RadioModemTest, DISABLED_requestShutdown) { * Test IRadioModem.getRadioCapability() for the response returned. */ TEST_P(RadioModemTest, getRadioCapability) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping getRadioCapability " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); radio_modem->getRadioCapability(serial); @@ -335,6 +405,13 @@ TEST_P(RadioModemTest, getRadioCapability) { * Test IRadioModem.setRadioCapability() for the response returned. */ TEST_P(RadioModemTest, setRadioCapability) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setRadioCapability " + "due to undefined FEATURE_TELEPHONY"; + } + } + serial = GetRandomSerialNumber(); RadioCapability rc; memset(&rc, 0, sizeof(rc)); @@ -356,6 +433,13 @@ TEST_P(RadioModemTest, setRadioCapability) { * Test IRadioModem.getModemActivityInfo() for the response returned. */ TEST_P(RadioModemTest, getModemActivityInfo) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping getModemActivityInfo " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); radio_modem->getModemActivityInfo(serial); @@ -373,6 +457,13 @@ TEST_P(RadioModemTest, getModemActivityInfo) { * Test IRadioModem.sendDeviceState() for the response returned. */ TEST_P(RadioModemTest, sendDeviceState) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY)) { + GTEST_SKIP() << "Skipping sendDeviceState " + "due to undefined FEATURE_TELEPHONY"; + } + } + serial = GetRandomSerialNumber(); radio_modem->sendDeviceState(serial, DeviceStateType::POWER_SAVE_MODE, true); diff --git a/radio/aidl/vts/radio_network_test.cpp b/radio/aidl/vts/radio_network_test.cpp index 4e84116e7b..a531749c15 100644 --- a/radio/aidl/vts/radio_network_test.cpp +++ b/radio/aidl/vts/radio_network_test.cpp @@ -81,6 +81,13 @@ void RadioNetworkTest::stopNetworkScan() { * for the response returned. */ TEST_P(RadioNetworkTest, setGetAllowedNetworkTypesBitmap) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setGetAllowedNetworkTypesBitmap " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); // save current value @@ -133,6 +140,13 @@ TEST_P(RadioNetworkTest, setGetAllowedNetworkTypesBitmap) { * Test IRadioNetwork.setNrDualConnectivityState() for the response returned. */ TEST_P(RadioNetworkTest, setNrDualConnectivityState) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setNrDualConnectivityState " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = @@ -157,6 +171,13 @@ TEST_P(RadioNetworkTest, setNrDualConnectivityState) { * Test IRadioNetwork.isNrDualConnectivityEnabled() for the response returned. */ TEST_P(RadioNetworkTest, isNrDualConnectivityEnabled) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping isNrDualConnectivityEnabled " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_network->isNrDualConnectivityEnabled(serial); @@ -195,6 +216,13 @@ void RadioNetworkTest::invokeAndExpectResponse( * Verify that the usage setting can be retrieved. */ TEST_P(RadioNetworkTest, getUsageSetting) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY)) { + GTEST_SKIP() << "Skipping getUsageSetting " + "due to undefined FEATURE_TELEPHONY"; + } + } + invokeAndExpectResponse([&](int serial) { return radio_network->getUsageSetting(serial); }, {RadioError::RADIO_NOT_AVAILABLE, RadioError::INVALID_STATE, RadioError::SIM_ABSENT, RadioError::INTERNAL_ERR, RadioError::NONE}); @@ -232,6 +260,13 @@ void RadioNetworkTest::testSetUsageSetting_InvalidValues(std::vector * -That the usage setting cannot be set to invalid values. */ TEST_P(RadioNetworkTest, setUsageSetting) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY)) { + GTEST_SKIP() << "Skipping setUsageSetting " + "due to undefined FEATURE_TELEPHONY"; + } + } + invokeAndExpectResponse([&](int serial) { return radio_network->getUsageSetting(serial); }, {RadioError::RADIO_NOT_AVAILABLE, RadioError::INVALID_STATE, RadioError::SIM_ABSENT, RadioError::INTERNAL_ERR, RadioError::NONE}); @@ -294,6 +329,13 @@ TEST_P(RadioNetworkTest, setUsageSetting) { * Test IRadioNetwork.setSignalStrengthReportingCriteria() with invalid hysteresisDb */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_invalidHysteresisDb) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_invalidHysteresisDb " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); SignalThresholdInfo signalThresholdInfo; @@ -320,6 +362,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_invalidHysteresisDb) * Test IRadioNetwork.setSignalStrengthReportingCriteria() with empty thresholds */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_EmptyThresholds) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_EmptyThresholds " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); SignalThresholdInfo signalThresholdInfo; @@ -345,6 +394,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_EmptyThresholds) { * Test IRadioNetwork.setSignalStrengthReportingCriteria() for GERAN */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Geran) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_Geran " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); SignalThresholdInfo signalThresholdInfo; @@ -372,6 +428,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Geran) { * Test IRadioNetwork.setSignalStrengthReportingCriteria() for UTRAN */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Utran_Rscp) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_Utran_Rscp " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); SignalThresholdInfo signalThresholdInfo; @@ -398,6 +461,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Utran_Rscp) { * Test IRadioNetwork.setSignalStrengthReportingCriteria() for UTRAN */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Utran_Ecno) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_Utran_Ecno " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); SignalThresholdInfo signalThresholdInfo; @@ -425,6 +495,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Utran_Ecno) { * Test IRadioNetwork.setSignalStrengthReportingCriteria() for EUTRAN */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Eutran_RSRP) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_Eutran_RSRP " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); SignalThresholdInfo signalThresholdInfo; @@ -451,6 +528,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Eutran_RSRP) { * Test IRadioNetwork.setSignalStrengthReportingCriteria() for EUTRAN */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Eutran_RSRQ) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_Eutran_RSRQ " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); SignalThresholdInfo signalThresholdInfo; @@ -477,6 +561,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Eutran_RSRQ) { * Test IRadioNetwork.setSignalStrengthReportingCriteria() for EUTRAN */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Eutran_RSSNR) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_Eutran_RSSNR " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); SignalThresholdInfo signalThresholdInfo; @@ -499,6 +590,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Eutran_RSSNR) { * Test IRadioNetwork.setSignalStrengthReportingCriteria() for CDMA2000 */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Cdma2000) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_Cdma2000 " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); SignalThresholdInfo signalThresholdInfo; @@ -525,6 +623,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Cdma2000) { * Test IRadioNetwork.setSignalStrengthReportingCriteria() for NGRAN_SSRSRP */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_NGRAN_SSRSRP) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_NGRAN_SSRSRP " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); SignalThresholdInfo signalThresholdInfo; @@ -555,6 +660,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_NGRAN_SSRSRP) { * Test IRadioNetwork.setSignalStrengthReportingCriteria() for NGRAN_SSRSRQ */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_NGRAN_SSRSRQ) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_NGRAN_SSRSRQ " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); SignalThresholdInfo signalThresholdInfo; @@ -585,6 +697,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_NGRAN_SSRSRQ) { * Test IRadioNetwork.setSignalStrengthReportingCriteria() for EUTRAN */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Disable_RSSNR) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_Disable_RSSNR " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); SignalThresholdInfo signalThresholdInfo; @@ -607,6 +726,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_Disable_RSSNR) { * Test IRadioNetwork.setSignalStrengthReportingCriteria() for NGRAN_SSSINR */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_NGRAN_SSSINR) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_NGRAN_SSSINR " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); SignalThresholdInfo signalThresholdInfo; @@ -637,6 +763,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_NGRAN_SSSINR) { * Test IRadioNetwork.setSignalStrengthReportingCriteria() for multi-RANs per request */ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_multiRansPerRequest) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSignalStrengthReportingCriteria_multiRansPerRequest " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + SignalThresholdInfo signalThresholdInfoGeran; signalThresholdInfoGeran.signalMeasurement = SignalThresholdInfo::SIGNAL_MEASUREMENT_TYPE_RSSI; signalThresholdInfoGeran.hysteresisMs = 5000; @@ -720,6 +853,13 @@ TEST_P(RadioNetworkTest, setSignalStrengthReportingCriteria_multiRansPerRequest) * Test IRadioNetwork.setLinkCapacityReportingCriteria() invalid hysteresisDlKbps */ TEST_P(RadioNetworkTest, setLinkCapacityReportingCriteria_invalidHysteresisDlKbps) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setLinkCapacityReportingCriteria_invalidHysteresisDlKbps " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_network->setLinkCapacityReportingCriteria( @@ -740,6 +880,13 @@ TEST_P(RadioNetworkTest, setLinkCapacityReportingCriteria_invalidHysteresisDlKbp * Test IRadioNetwork.setLinkCapacityReportingCriteria() invalid hysteresisUlKbps */ TEST_P(RadioNetworkTest, setLinkCapacityReportingCriteria_invalidHysteresisUlKbps) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setLinkCapacityReportingCriteria_invalidHysteresisUlKbps " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_network->setLinkCapacityReportingCriteria( @@ -759,6 +906,13 @@ TEST_P(RadioNetworkTest, setLinkCapacityReportingCriteria_invalidHysteresisUlKbp * Test IRadioNetwork.setLinkCapacityReportingCriteria() empty params */ TEST_P(RadioNetworkTest, setLinkCapacityReportingCriteria_emptyParams) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setLinkCapacityReportingCriteria_emptyParams " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_network->setLinkCapacityReportingCriteria( @@ -777,6 +931,13 @@ TEST_P(RadioNetworkTest, setLinkCapacityReportingCriteria_emptyParams) { * Test IRadioNetwork.setLinkCapacityReportingCriteria() for GERAN */ TEST_P(RadioNetworkTest, setLinkCapacityReportingCriteria_Geran) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setLinkCapacityReportingCriteria_Geran " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_network->setLinkCapacityReportingCriteria( @@ -799,6 +960,13 @@ TEST_P(RadioNetworkTest, setLinkCapacityReportingCriteria_Geran) { * Test IRadioNetwork.setSystemSelectionChannels() for the response returned. */ TEST_P(RadioNetworkTest, setSystemSelectionChannels) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setSystemSelectionChannels " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_network->getSystemSelectionChannels(serial); EXPECT_EQ(std::cv_status::no_timeout, wait()); @@ -848,6 +1016,13 @@ TEST_P(RadioNetworkTest, setSystemSelectionChannels) { * Test IRadioNetwork.startNetworkScan() for the response returned. */ TEST_P(RadioNetworkTest, startNetworkScan) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping startNetworkScan " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); NetworkScanRequest request = {.type = NetworkScanRequest::SCAN_TYPE_ONE_SHOT, @@ -890,6 +1065,13 @@ TEST_P(RadioNetworkTest, startNetworkScan) { * Test IRadioNetwork.startNetworkScan() with invalid specifier. */ TEST_P(RadioNetworkTest, startNetworkScan_InvalidArgument) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping startNetworkScan_InvalidArgument " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); NetworkScanRequest request = {.type = NetworkScanRequest::SCAN_TYPE_ONE_SHOT, .interval = 60}; @@ -915,6 +1097,13 @@ TEST_P(RadioNetworkTest, startNetworkScan_InvalidArgument) { * Test IRadioNetwork.startNetworkScan() with invalid interval (lower boundary). */ TEST_P(RadioNetworkTest, startNetworkScan_InvalidInterval1) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping startNetworkScan_InvalidInterval1 " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); NetworkScanRequest request = {.type = NetworkScanRequest::SCAN_TYPE_PERIODIC, @@ -944,6 +1133,13 @@ TEST_P(RadioNetworkTest, startNetworkScan_InvalidInterval1) { * Test IRadioNetwork.startNetworkScan() with invalid interval (upper boundary). */ TEST_P(RadioNetworkTest, startNetworkScan_InvalidInterval2) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping startNetworkScan_InvalidInterval2 " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); NetworkScanRequest request = {.type = NetworkScanRequest::SCAN_TYPE_PERIODIC, @@ -973,6 +1169,13 @@ TEST_P(RadioNetworkTest, startNetworkScan_InvalidInterval2) { * Test IRadioNetwork.startNetworkScan() with invalid max search time (lower boundary). */ TEST_P(RadioNetworkTest, startNetworkScan_InvalidMaxSearchTime1) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping startNetworkScan_InvalidMaxSearchTime1 " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); NetworkScanRequest request = {.type = NetworkScanRequest::SCAN_TYPE_ONE_SHOT, @@ -1002,6 +1205,13 @@ TEST_P(RadioNetworkTest, startNetworkScan_InvalidMaxSearchTime1) { * Test IRadioNetwork.startNetworkScan() with invalid max search time (upper boundary). */ TEST_P(RadioNetworkTest, startNetworkScan_InvalidMaxSearchTime2) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping startNetworkScan_InvalidMaxSearchTime2 " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); NetworkScanRequest request = {.type = NetworkScanRequest::SCAN_TYPE_ONE_SHOT, @@ -1031,6 +1241,13 @@ TEST_P(RadioNetworkTest, startNetworkScan_InvalidMaxSearchTime2) { * Test IRadioNetwork.startNetworkScan() with invalid periodicity (lower boundary). */ TEST_P(RadioNetworkTest, startNetworkScan_InvalidPeriodicity1) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping startNetworkScan_InvalidPeriodicity1 " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); NetworkScanRequest request = {.type = NetworkScanRequest::SCAN_TYPE_ONE_SHOT, @@ -1060,6 +1277,13 @@ TEST_P(RadioNetworkTest, startNetworkScan_InvalidPeriodicity1) { * Test IRadioNetwork.startNetworkScan() with invalid periodicity (upper boundary). */ TEST_P(RadioNetworkTest, startNetworkScan_InvalidPeriodicity2) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping startNetworkScan_InvalidPeriodicity2 " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); NetworkScanRequest request = {.type = NetworkScanRequest::SCAN_TYPE_ONE_SHOT, @@ -1089,6 +1313,13 @@ TEST_P(RadioNetworkTest, startNetworkScan_InvalidPeriodicity2) { * Test IRadioNetwork.startNetworkScan() with valid periodicity */ TEST_P(RadioNetworkTest, startNetworkScan_GoodRequest1) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping startNetworkScan_GoodRequest1 " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); NetworkScanRequest request = {.type = NetworkScanRequest::SCAN_TYPE_ONE_SHOT, @@ -1123,6 +1354,13 @@ TEST_P(RadioNetworkTest, startNetworkScan_GoodRequest1) { * Test IRadioNetwork.startNetworkScan() with valid periodicity and plmns */ TEST_P(RadioNetworkTest, startNetworkScan_GoodRequest2) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping startNetworkScan_GoodRequest2 " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); NetworkScanRequest request = {.type = NetworkScanRequest::SCAN_TYPE_ONE_SHOT, @@ -1158,6 +1396,13 @@ TEST_P(RadioNetworkTest, startNetworkScan_GoodRequest2) { * Test IRadioNetwork.setNetworkSelectionModeManual() for the response returned. */ TEST_P(RadioNetworkTest, setNetworkSelectionModeManual) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setNetworkSelectionModeManual " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); // can't camp on nonexistent MCCMNC, so we expect this to fail. @@ -1186,6 +1431,13 @@ TEST_P(RadioNetworkTest, setNetworkSelectionModeManual) { * Test IRadioNetwork.getBarringInfo() for the response returned. */ TEST_P(RadioNetworkTest, getBarringInfo) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping getBarringInfo " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_network->getBarringInfo(serial); EXPECT_EQ(std::cv_status::no_timeout, wait()); @@ -1290,6 +1542,13 @@ TEST_P(RadioNetworkTest, getBarringInfo) { * Test IRadioNetwork.getSignalStrength() for the response returned. */ TEST_P(RadioNetworkTest, getSignalStrength) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping getSignalStrength " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); radio_network->getSignalStrength(serial); @@ -1309,6 +1568,13 @@ TEST_P(RadioNetworkTest, getSignalStrength) { * Test IRadioNetwork.getCellInfoList() for the response returned. */ TEST_P(RadioNetworkTest, getCellInfoList) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping getCellInfoList " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_network->getCellInfoList(serial); @@ -1327,6 +1593,13 @@ TEST_P(RadioNetworkTest, getCellInfoList) { * Test IRadioNetwork.getVoiceRegistrationState() for the response returned. */ TEST_P(RadioNetworkTest, getVoiceRegistrationState) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping getVoiceRegistrationState " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_network->getVoiceRegistrationState(serial); @@ -1345,6 +1618,13 @@ TEST_P(RadioNetworkTest, getVoiceRegistrationState) { * Test IRadioNetwork.getDataRegistrationState() for the response returned. */ TEST_P(RadioNetworkTest, getDataRegistrationState) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping getDataRegistrationState " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_network->getDataRegistrationState(serial); @@ -1440,6 +1720,13 @@ TEST_P(RadioNetworkTest, getDataRegistrationState) { * Test IRadioNetwork.getAvailableBandModes() for the response returned. */ TEST_P(RadioNetworkTest, getAvailableBandModes) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping getAvailableBandModes " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = radio_network->getAvailableBandModes(serial); @@ -1469,6 +1756,13 @@ TEST_P(RadioNetworkTest, getAvailableBandModes) { * Test IRadioNetwork.setIndicationFilter() */ TEST_P(RadioNetworkTest, setIndicationFilter) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setIndicationFilter " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = @@ -1487,6 +1781,13 @@ TEST_P(RadioNetworkTest, setIndicationFilter) { * Test IRadioNetwork.setBarringPassword() for the response returned. */ TEST_P(RadioNetworkTest, setBarringPassword) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setBarringPassword " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); std::string facility = ""; std::string oldPassword = ""; @@ -1510,6 +1811,13 @@ TEST_P(RadioNetworkTest, setBarringPassword) { * Test IRadioNetwork.setSuppServiceNotifications() for the response returned. */ TEST_P(RadioNetworkTest, setSuppServiceNotifications) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping setSuppServiceNotifications " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); bool enable = false; @@ -1529,6 +1837,13 @@ TEST_P(RadioNetworkTest, setSuppServiceNotifications) { * Test IRadioNetwork.getImsRegistrationState() for the response returned. */ TEST_P(RadioNetworkTest, getImsRegistrationState) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_IMS)) { + GTEST_SKIP() << "Skipping getImsRegistrationState " + "due to undefined FEATURE_TELEPHONY_IMS"; + } + } + serial = GetRandomSerialNumber(); radio_network->getImsRegistrationState(serial); @@ -1549,6 +1864,13 @@ TEST_P(RadioNetworkTest, getImsRegistrationState) { * Test IRadioNetwork.getOperator() for the response returned. */ TEST_P(RadioNetworkTest, getOperator) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping getOperator " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); radio_network->getOperator(serial); @@ -1565,6 +1887,13 @@ TEST_P(RadioNetworkTest, getOperator) { * Test IRadioNetwork.getNetworkSelectionMode() for the response returned. */ TEST_P(RadioNetworkTest, getNetworkSelectionMode) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping getNetworkSelectionMode " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); radio_network->getNetworkSelectionMode(serial); @@ -1581,6 +1910,13 @@ TEST_P(RadioNetworkTest, getNetworkSelectionMode) { * Test IRadioNetwork.setNetworkSelectionModeAutomatic() for the response returned. */ TEST_P(RadioNetworkTest, setNetworkSelectionModeAutomatic) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setNetworkSelectionModeAutomatic " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); radio_network->setNetworkSelectionModeAutomatic(serial); @@ -1600,6 +1936,13 @@ TEST_P(RadioNetworkTest, setNetworkSelectionModeAutomatic) { * Test IRadioNetwork.getAvailableNetworks() for the response returned. */ TEST_P(RadioNetworkTest, getAvailableNetworks) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping getAvailableNetworks " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); radio_network->getAvailableNetworks(serial); @@ -1621,6 +1964,13 @@ TEST_P(RadioNetworkTest, getAvailableNetworks) { * Test IRadioNetwork.setBandMode() for the response returned. */ TEST_P(RadioNetworkTest, setBandMode) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setBandMode " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); radio_network->setBandMode(serial, RadioBandMode::BAND_MODE_USA); @@ -1638,6 +1988,13 @@ TEST_P(RadioNetworkTest, setBandMode) { * Test IRadioNetwork.setLocationUpdates() for the response returned. */ TEST_P(RadioNetworkTest, setLocationUpdates) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setLocationUpdates " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); radio_network->setLocationUpdates(serial, true); @@ -1655,6 +2012,13 @@ TEST_P(RadioNetworkTest, setLocationUpdates) { * Test IRadioNetwork.setCdmaRoamingPreference() for the response returned. */ TEST_P(RadioNetworkTest, setCdmaRoamingPreference) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping setCdmaRoamingPreference " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); radio_network->setCdmaRoamingPreference(serial, CdmaRoamingType::HOME_NETWORK); @@ -1673,6 +2037,13 @@ TEST_P(RadioNetworkTest, setCdmaRoamingPreference) { * Test IRadioNetwork.getCdmaRoamingPreference() for the response returned. */ TEST_P(RadioNetworkTest, getCdmaRoamingPreference) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping getCdmaRoamingPreference " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); radio_network->getCdmaRoamingPreference(serial); @@ -1692,6 +2063,13 @@ TEST_P(RadioNetworkTest, getCdmaRoamingPreference) { * Test IRadioNetwork.getVoiceRadioTechnology() for the response returned. */ TEST_P(RadioNetworkTest, getVoiceRadioTechnology) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping getVoiceRadioTechnology " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); radio_network->getVoiceRadioTechnology(serial); @@ -1708,6 +2086,13 @@ TEST_P(RadioNetworkTest, getVoiceRadioTechnology) { * Test IRadioNetwork.setCellInfoListRate() for the response returned. */ TEST_P(RadioNetworkTest, setCellInfoListRate) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setCellInfoListRate " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); radio_network->setCellInfoListRate(serial, 10); @@ -1725,6 +2110,13 @@ TEST_P(RadioNetworkTest, setCellInfoListRate) { * Test IRadioNetwork.supplyNetworkDepersonalization() for the response returned. */ TEST_P(RadioNetworkTest, supplyNetworkDepersonalization) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping supplyNetworkDepersonalization " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + serial = GetRandomSerialNumber(); radio_network->supplyNetworkDepersonalization(serial, std::string("test")); @@ -1745,6 +2137,13 @@ TEST_P(RadioNetworkTest, supplyNetworkDepersonalization) { * Test IRadioNetwork.setEmergencyMode() for the response returned. */ TEST_P(RadioNetworkTest, setEmergencyMode) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setEmergencyMode " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + int32_t aidl_version; ndk::ScopedAStatus aidl_status = radio_network->getInterfaceVersion(&aidl_version); ASSERT_OK(aidl_status); @@ -1774,6 +2173,13 @@ TEST_P(RadioNetworkTest, setEmergencyMode) { * Test IRadioNetwork.triggerEmergencyNetworkScan() for the response returned. */ TEST_P(RadioNetworkTest, triggerEmergencyNetworkScan) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping triggerEmergencyNetworkScan " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + int32_t aidl_version; ndk::ScopedAStatus aidl_status = radio_network->getInterfaceVersion(&aidl_version); ASSERT_OK(aidl_status); @@ -1804,6 +2210,13 @@ TEST_P(RadioNetworkTest, triggerEmergencyNetworkScan) { * Test IRadioNetwork.cancelEmergencyNetworkScan() for the response returned. */ TEST_P(RadioNetworkTest, cancelEmergencyNetworkScan) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping cancelEmergencyNetworkScan " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + int32_t aidl_version; ndk::ScopedAStatus aidl_status = radio_network->getInterfaceVersion(&aidl_version); ASSERT_OK(aidl_status); @@ -1828,6 +2241,13 @@ TEST_P(RadioNetworkTest, cancelEmergencyNetworkScan) { * Test IRadioNetwork.exitEmergencyMode() for the response returned. */ TEST_P(RadioNetworkTest, exitEmergencyMode) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping exitEmergencyMode " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + int32_t aidl_version; ndk::ScopedAStatus aidl_status = radio_network->getInterfaceVersion(&aidl_version); ASSERT_OK(aidl_status); @@ -1852,6 +2272,13 @@ TEST_P(RadioNetworkTest, exitEmergencyMode) { * Test IRadioNetwork.setN1ModeEnabled() for the response returned. */ TEST_P(RadioNetworkTest, setN1ModeEnabled) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setN1ModeEnabled " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + int32_t aidl_version; ndk::ScopedAStatus aidl_status = radio_network->getInterfaceVersion(&aidl_version); ASSERT_OK(aidl_status); @@ -1884,6 +2311,13 @@ TEST_P(RadioNetworkTest, setN1ModeEnabled) { * Test IRadioNetwork.isN1ModeEnabled() for the response returned. */ TEST_P(RadioNetworkTest, isN1ModeEnabled) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping isN1ModeEnabled " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + int32_t aidl_version; ndk::ScopedAStatus aidl_status = radio_network->getInterfaceVersion(&aidl_version); ASSERT_OK(aidl_status); @@ -1915,6 +2349,13 @@ TEST_P(RadioNetworkTest, isN1ModeEnabled) { * Test IRadioNetwork.setNullCipherAndIntegrityEnabled() for the response returned. */ TEST_P(RadioNetworkTest, setNullCipherAndIntegrityEnabled) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping setNullCipherAndIntegrityEnabled " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + int32_t aidl_version; ndk::ScopedAStatus aidl_status = radio_network->getInterfaceVersion(&aidl_version); ASSERT_OK(aidl_status); @@ -1940,6 +2381,13 @@ TEST_P(RadioNetworkTest, setNullCipherAndIntegrityEnabled) { * Test IRadioNetwork.isNullCipherAndIntegrityEnabled() for the response returned. */ TEST_P(RadioNetworkTest, isNullCipherAndIntegrityEnabled) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { + GTEST_SKIP() << "Skipping isNullCipherAndIntegrityEnabled " + "due to undefined FEATURE_TELEPHONY_RADIO_ACCESS"; + } + } + int32_t aidl_version; ndk::ScopedAStatus aidl_status = radio_network->getInterfaceVersion(&aidl_version); ASSERT_OK(aidl_status); diff --git a/radio/aidl/vts/radio_sap_test.cpp b/radio/aidl/vts/radio_sap_test.cpp index 9a1c145576..6d283e9651 100644 --- a/radio/aidl/vts/radio_sap_test.cpp +++ b/radio/aidl/vts/radio_sap_test.cpp @@ -85,6 +85,13 @@ std::cv_status SapTest::wait() { * Test ISap.connectReq() for the response returned. */ TEST_P(SapTest, connectReq) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping connectReq " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); int32_t maxMsgSize = 100; @@ -103,6 +110,13 @@ TEST_P(SapTest, connectReq) { * Test ISap.disconnectReq() for the response returned */ TEST_P(SapTest, disconnectReq) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping disconnectReq " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = sap->disconnectReq(serial); @@ -116,6 +130,13 @@ TEST_P(SapTest, disconnectReq) { * Test ISap.apduReq() for the response returned. */ TEST_P(SapTest, apduReq) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping apduReq " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); SapApduType sapApduType = SapApduType::APDU; std::vector command = {}; @@ -137,6 +158,13 @@ TEST_P(SapTest, apduReq) { * Test ISap.transferAtrReq() for the response returned. */ TEST_P(SapTest, transferAtrReq) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping transferAtrReq " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = sap->transferAtrReq(serial); @@ -155,6 +183,13 @@ TEST_P(SapTest, transferAtrReq) { * Test ISap.powerReq() for the response returned. */ TEST_P(SapTest, powerReq) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping powerReq " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); bool state = true; @@ -175,6 +210,13 @@ TEST_P(SapTest, powerReq) { * Test ISap.resetSimReq() for the response returned. */ TEST_P(SapTest, resetSimReq) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping resetSimReq " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = sap->resetSimReq(serial); @@ -194,6 +236,13 @@ TEST_P(SapTest, resetSimReq) { * Test ISap.transferCardReaderStatusReq() for the response returned. */ TEST_P(SapTest, transferCardReaderStatusReq) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping transferCardReaderStatusReq " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); ndk::ScopedAStatus res = sap->transferCardReaderStatusReq(serial); @@ -211,6 +260,13 @@ TEST_P(SapTest, transferCardReaderStatusReq) { * Test ISap.setTransferProtocolReq() for the response returned. */ TEST_P(SapTest, setTransferProtocolReq) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping setTransferProtocolReq " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); SapTransferProtocol sapTransferProtocol = SapTransferProtocol::T0; diff --git a/radio/aidl/vts/radio_sim_test.cpp b/radio/aidl/vts/radio_sim_test.cpp index d90658893b..06654c2982 100644 --- a/radio/aidl/vts/radio_sim_test.cpp +++ b/radio/aidl/vts/radio_sim_test.cpp @@ -65,6 +65,13 @@ void RadioSimTest::updateSimCardStatus() { * Test IRadioSim.setSimCardPower() for the response returned. */ TEST_P(RadioSimTest, setSimCardPower) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping setSimCardPower " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + /* Test setSimCardPower power down */ serial = GetRandomSerialNumber(); radio_sim->setSimCardPower(serial, CardPowerState::POWER_DOWN); @@ -120,6 +127,13 @@ TEST_P(RadioSimTest, setSimCardPower) { * Test IRadioSim.setCarrierInfoForImsiEncryption() for the response returned. */ TEST_P(RadioSimTest, setCarrierInfoForImsiEncryption) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping setCarrierInfoForImsiEncryption " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); ImsiEncryptionInfo imsiInfo; imsiInfo.mcc = "310"; @@ -144,6 +158,13 @@ TEST_P(RadioSimTest, setCarrierInfoForImsiEncryption) { * Test IRadioSim.getSimPhonebookRecords() for the response returned. */ TEST_P(RadioSimTest, getSimPhonebookRecords) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping getSimPhonebookRecords " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); radio_sim->getSimPhonebookRecords(serial); EXPECT_EQ(std::cv_status::no_timeout, wait()); @@ -167,6 +188,13 @@ TEST_P(RadioSimTest, getSimPhonebookRecords) { * Test IRadioSim.getSimPhonebookCapacity for the response returned. */ TEST_P(RadioSimTest, getSimPhonebookCapacity) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping getSimPhonebookCapacity " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); radio_sim->getSimPhonebookCapacity(serial); EXPECT_EQ(std::cv_status::no_timeout, wait()); @@ -207,6 +235,13 @@ TEST_P(RadioSimTest, getSimPhonebookCapacity) { * Test IRadioSim.updateSimPhonebookRecords() for the response returned. */ TEST_P(RadioSimTest, updateSimPhonebookRecords) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping updateSimPhonebookRecords " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); radio_sim->getSimPhonebookCapacity(serial); EXPECT_EQ(std::cv_status::no_timeout, wait()); @@ -271,6 +306,13 @@ TEST_P(RadioSimTest, updateSimPhonebookRecords) { * For SIM ABSENT case. */ TEST_P(RadioSimTest, togglingUiccApplicationsSimAbsent) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping togglingUiccApplicationsSimAbsent " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + // This test case only test SIM ABSENT case. if (cardStatus.cardState != CardStatus::STATE_ABSENT) return; @@ -298,6 +340,13 @@ TEST_P(RadioSimTest, togglingUiccApplicationsSimAbsent) { * For SIM PRESENT case. */ TEST_P(RadioSimTest, togglingUiccApplicationsSimPresent) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping togglingUiccApplicationsSimPresent " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + // This test case only test SIM ABSENT case. if (cardStatus.cardState != CardStatus::STATE_PRESENT) return; if (cardStatus.applications.size() == 0) return; @@ -345,6 +394,13 @@ TEST_P(RadioSimTest, togglingUiccApplicationsSimPresent) { * Test IRadioSim.areUiccApplicationsEnabled() for the response returned. */ TEST_P(RadioSimTest, areUiccApplicationsEnabled) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping areUiccApplicationsEnabled " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + // Disable Uicc applications. serial = GetRandomSerialNumber(); radio_sim->areUiccApplicationsEnabled(serial); @@ -365,6 +421,13 @@ TEST_P(RadioSimTest, areUiccApplicationsEnabled) { * Test IRadioSim.getAllowedCarriers() for the response returned. */ TEST_P(RadioSimTest, getAllowedCarriers) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping getAllowedCarriers " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); radio_sim->getAllowedCarriers(serial); @@ -380,6 +443,13 @@ TEST_P(RadioSimTest, getAllowedCarriers) { * Test IRadioSim.setAllowedCarriers() for the response returned. */ TEST_P(RadioSimTest, setAllowedCarriers) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping setAllowedCarriers " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); CarrierRestrictions carrierRestrictions; memset(&carrierRestrictions, 0, sizeof(carrierRestrictions)); @@ -479,6 +549,13 @@ TEST_P(RadioSimTest, setAllowedCarriers) { * Test IRadioSim.getIccCardStatus() for the response returned. */ TEST_P(RadioSimTest, getIccCardStatus) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping getIccCardStatus " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + EXPECT_LE(cardStatus.applications.size(), RadioConst::CARD_MAX_APPS); EXPECT_LT(cardStatus.gsmUmtsSubscriptionAppIndex, RadioConst::CARD_MAX_APPS); EXPECT_LT(cardStatus.cdmaSubscriptionAppIndex, RadioConst::CARD_MAX_APPS); @@ -489,6 +566,13 @@ TEST_P(RadioSimTest, getIccCardStatus) { * Test IRadioSim.supplyIccPinForApp() for the response returned */ TEST_P(RadioSimTest, supplyIccPinForApp) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping supplyIccPinForApp " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); // Pass wrong password and check PASSWORD_INCORRECT returned for 3GPP and @@ -514,6 +598,13 @@ TEST_P(RadioSimTest, supplyIccPinForApp) { * Test IRadioSim.supplyIccPukForApp() for the response returned. */ TEST_P(RadioSimTest, supplyIccPukForApp) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping supplyIccPukForApp " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); // Pass wrong password and check PASSWORD_INCORRECT returned for 3GPP and @@ -539,6 +630,13 @@ TEST_P(RadioSimTest, supplyIccPukForApp) { * Test IRadioSim.supplyIccPin2ForApp() for the response returned. */ TEST_P(RadioSimTest, supplyIccPin2ForApp) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping supplyIccPin2ForApp " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); // Pass wrong password and check PASSWORD_INCORRECT returned for 3GPP and @@ -565,6 +663,13 @@ TEST_P(RadioSimTest, supplyIccPin2ForApp) { * Test IRadioSim.supplyIccPuk2ForApp() for the response returned. */ TEST_P(RadioSimTest, supplyIccPuk2ForApp) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping supplyIccPuk2ForApp " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); // Pass wrong password and check PASSWORD_INCORRECT returned for 3GPP and @@ -590,6 +695,13 @@ TEST_P(RadioSimTest, supplyIccPuk2ForApp) { * Test IRadioSim.changeIccPinForApp() for the response returned. */ TEST_P(RadioSimTest, changeIccPinForApp) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping changeIccPinForApp " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); // Pass wrong password and check PASSWORD_INCORRECT returned for 3GPP and @@ -615,6 +727,13 @@ TEST_P(RadioSimTest, changeIccPinForApp) { * Test IRadioSim.changeIccPin2ForApp() for the response returned. */ TEST_P(RadioSimTest, changeIccPin2ForApp) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping changeIccPin2ForApp " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); // Pass wrong password and check PASSWORD_INCORRECT returned for 3GPP and @@ -641,6 +760,13 @@ TEST_P(RadioSimTest, changeIccPin2ForApp) { * Test IRadioSim.getImsiForApp() for the response returned. */ TEST_P(RadioSimTest, getImsiForApp) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping getImsiForApp " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); // Check success returned while getting imsi for 3GPP and 3GPP2 apps only @@ -670,6 +796,13 @@ TEST_P(RadioSimTest, getImsiForApp) { * Test IRadioSim.iccIoForApp() for the response returned. */ TEST_P(RadioSimTest, iccIoForApp) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping iccIoForApp " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); for (int i = 0; i < (int)cardStatus.applications.size(); i++) { @@ -695,6 +828,13 @@ TEST_P(RadioSimTest, iccIoForApp) { * Test IRadioSim.iccTransmitApduBasicChannel() for the response returned. */ TEST_P(RadioSimTest, iccTransmitApduBasicChannel) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping iccTransmitApduBasicChannel " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); SimApdu msg; memset(&msg, 0, sizeof(msg)); @@ -710,6 +850,13 @@ TEST_P(RadioSimTest, iccTransmitApduBasicChannel) { * Test IRadioSim.iccOpenLogicalChannel() for the response returned. */ TEST_P(RadioSimTest, iccOpenLogicalChannel) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping iccOpenLogicalChannel " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); int p2 = 0x04; // Specified in ISO 7816-4 clause 7.1.1 0x04 means that FCP template is requested. @@ -725,6 +872,13 @@ TEST_P(RadioSimTest, iccOpenLogicalChannel) { * Test IRadioSim.iccCloseLogicalChannel() for the response returned. */ TEST_P(RadioSimTest, iccCloseLogicalChannel) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping iccCloseLogicalChannel " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); // Try closing invalid channel and check INVALID_ARGUMENTS returned as error radio_sim->iccCloseLogicalChannel(serial, 0); @@ -739,6 +893,13 @@ TEST_P(RadioSimTest, iccCloseLogicalChannel) { * Test IRadioSim.iccCloseLogicalChannelWithSessionInfo() for the response returned. */ TEST_P(RadioSimTest, iccCloseLogicalChannelWithSessionInfo) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping iccCloseLogicalChannelWithSessionInfo " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + int32_t aidl_version; ndk::ScopedAStatus aidl_status = radio_sim->getInterfaceVersion(&aidl_version); ASSERT_OK(aidl_status); @@ -766,6 +927,13 @@ TEST_P(RadioSimTest, iccCloseLogicalChannelWithSessionInfo) { * Test IRadioSim.iccTransmitApduLogicalChannel() for the response returned. */ TEST_P(RadioSimTest, iccTransmitApduLogicalChannel) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping iccTransmitApduLogicalChannel " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); SimApdu msg; memset(&msg, 0, sizeof(msg)); @@ -781,6 +949,13 @@ TEST_P(RadioSimTest, iccTransmitApduLogicalChannel) { * Test IRadioSim.requestIccSimAuthentication() for the response returned. */ TEST_P(RadioSimTest, requestIccSimAuthentication) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping requestIccSimAuthentication " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); // Pass wrong challenge string and check RadioError::INVALID_ARGUMENTS @@ -801,6 +976,13 @@ TEST_P(RadioSimTest, requestIccSimAuthentication) { * Test IRadioSim.getFacilityLockForApp() for the response returned. */ TEST_P(RadioSimTest, getFacilityLockForApp) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping getFacilityLockForApp " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); std::string facility = ""; std::string password = ""; @@ -824,6 +1006,13 @@ TEST_P(RadioSimTest, getFacilityLockForApp) { * Test IRadioSim.setFacilityLockForApp() for the response returned. */ TEST_P(RadioSimTest, setFacilityLockForApp) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping setFacilityLockForApp " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); std::string facility = ""; bool lockState = false; @@ -848,6 +1037,13 @@ TEST_P(RadioSimTest, setFacilityLockForApp) { * Test IRadioSim.getCdmaSubscription() for the response returned. */ TEST_P(RadioSimTest, getCdmaSubscription) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping getCdmaSubscription " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); radio_sim->getCdmaSubscription(serial); @@ -866,6 +1062,13 @@ TEST_P(RadioSimTest, getCdmaSubscription) { * Test IRadioSim.getCdmaSubscriptionSource() for the response returned. */ TEST_P(RadioSimTest, getCdmaSubscriptionSource) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping getCdmaSubscriptionSource " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); radio_sim->getCdmaSubscriptionSource(serial); @@ -884,6 +1087,13 @@ TEST_P(RadioSimTest, getCdmaSubscriptionSource) { * Test IRadioSim.setCdmaSubscriptionSource() for the response returned. */ TEST_P(RadioSimTest, setCdmaSubscriptionSource) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping setCdmaSubscriptionSource " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); radio_sim->setCdmaSubscriptionSource(serial, CdmaSubscriptionSource::RUIM_SIM); @@ -903,6 +1113,13 @@ TEST_P(RadioSimTest, setCdmaSubscriptionSource) { * Test IRadioSim.setUiccSubscription() for the response returned. */ TEST_P(RadioSimTest, setUiccSubscription) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping setUiccSubscription " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); SelectUiccSub item; memset(&item, 0, sizeof(item)); @@ -925,6 +1142,13 @@ TEST_P(RadioSimTest, setUiccSubscription) { * Test IRadioSim.sendEnvelope() for the response returned. */ TEST_P(RadioSimTest, sendEnvelope) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping sendEnvelope " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); // Test with sending empty string @@ -948,6 +1172,13 @@ TEST_P(RadioSimTest, sendEnvelope) { * Test IRadioSim.sendTerminalResponseToSim() for the response returned. */ TEST_P(RadioSimTest, sendTerminalResponseToSim) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping sendTerminalResponseToSim " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); // Test with sending empty string @@ -971,6 +1202,13 @@ TEST_P(RadioSimTest, sendTerminalResponseToSim) { * Test IRadioSim.reportStkServiceIsRunning() for the response returned. */ TEST_P(RadioSimTest, reportStkServiceIsRunning) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping reportStkServiceIsRunning " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); radio_sim->reportStkServiceIsRunning(serial); @@ -990,6 +1228,13 @@ TEST_P(RadioSimTest, reportStkServiceIsRunning) { * string. */ TEST_P(RadioSimTest, sendEnvelopeWithStatus) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_SUBSCRIPTION)) { + GTEST_SKIP() << "Skipping sendEnvelopeWithStatus " + "due to undefined FEATURE_TELEPHONY_SUBSCRIPTION"; + } + } + serial = GetRandomSerialNumber(); // Test with sending empty string diff --git a/radio/aidl/vts/radio_voice_test.cpp b/radio/aidl/vts/radio_voice_test.cpp index 397c417efa..6c68fd580a 100644 --- a/radio/aidl/vts/radio_voice_test.cpp +++ b/radio/aidl/vts/radio_voice_test.cpp @@ -93,15 +93,22 @@ ndk::ScopedAStatus RadioVoiceTest::clearPotentialEstablishedCalls() { * Test IRadioVoice.emergencyDial() for the response returned. */ TEST_P(RadioVoiceTest, emergencyDial) { - if (!deviceSupportsFeature(FEATURE_VOICE_CALL)) { - ALOGI("Skipping emergencyDial because voice call is not supported in device"); - return; - } else if (!deviceSupportsFeature(FEATURE_TELEPHONY_GSM) && - !deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { - ALOGI("Skipping emergencyDial because gsm/cdma radio is not supported in device"); - return; + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping emergencyDial " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } } else { - ALOGI("Running emergencyDial because voice call is supported in device"); + if (!deviceSupportsFeature(FEATURE_VOICE_CALL)) { + ALOGI("Skipping emergencyDial because voice call is not supported in device"); + return; + } else if (!deviceSupportsFeature(FEATURE_TELEPHONY_GSM) && + !deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + ALOGI("Skipping emergencyDial because gsm/cdma radio is not supported in device"); + return; + } else { + ALOGI("Running emergencyDial because voice call is supported in device"); + } } serial = GetRandomSerialNumber(); @@ -147,15 +154,22 @@ TEST_P(RadioVoiceTest, emergencyDial) { * Test IRadioVoice.emergencyDial() with specified service and its response returned. */ TEST_P(RadioVoiceTest, emergencyDial_withServices) { - if (!deviceSupportsFeature(FEATURE_VOICE_CALL)) { - ALOGI("Skipping emergencyDial because voice call is not supported in device"); - return; - } else if (!deviceSupportsFeature(FEATURE_TELEPHONY_GSM) && - !deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { - ALOGI("Skipping emergencyDial because gsm/cdma radio is not supported in device"); - return; + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping emergencyDial_withServices " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } } else { - ALOGI("Running emergencyDial because voice call is supported in device"); + if (!deviceSupportsFeature(FEATURE_VOICE_CALL)) { + ALOGI("Skipping emergencyDial because voice call is not supported in device"); + return; + } else if (!deviceSupportsFeature(FEATURE_TELEPHONY_GSM) && + !deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + ALOGI("Skipping emergencyDial because gsm/cdma radio is not supported in device"); + return; + } else { + ALOGI("Running emergencyDial because voice call is supported in device"); + } } serial = GetRandomSerialNumber(); @@ -201,15 +215,22 @@ TEST_P(RadioVoiceTest, emergencyDial_withServices) { * Test IRadioVoice.emergencyDial() with known emergency call routing and its response returned. */ TEST_P(RadioVoiceTest, emergencyDial_withEmergencyRouting) { - if (!deviceSupportsFeature(FEATURE_VOICE_CALL)) { - ALOGI("Skipping emergencyDial because voice call is not supported in device"); - return; - } else if (!deviceSupportsFeature(FEATURE_TELEPHONY_GSM) && - !deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { - ALOGI("Skipping emergencyDial because gsm/cdma radio is not supported in device"); - return; + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping emergencyDial_withEmergencyRouting " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } } else { - ALOGI("Running emergencyDial because voice call is supported in device"); + if (!deviceSupportsFeature(FEATURE_VOICE_CALL)) { + ALOGI("Skipping emergencyDial because voice call is not supported in device"); + return; + } else if (!deviceSupportsFeature(FEATURE_TELEPHONY_GSM) && + !deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + ALOGI("Skipping emergencyDial because gsm/cdma radio is not supported in device"); + return; + } else { + ALOGI("Running emergencyDial because voice call is supported in device"); + } } serial = GetRandomSerialNumber(); @@ -256,6 +277,13 @@ TEST_P(RadioVoiceTest, emergencyDial_withEmergencyRouting) { * Test IRadioVoice.getCurrentCalls() for the response returned. */ TEST_P(RadioVoiceTest, getCurrentCalls) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping getCurrentCalls " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->getCurrentCalls(serial); EXPECT_EQ(std::cv_status::no_timeout, wait()); @@ -268,6 +296,13 @@ TEST_P(RadioVoiceTest, getCurrentCalls) { * Test IRadioVoice.getClir() for the response returned. */ TEST_P(RadioVoiceTest, getClir) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping getClir " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->getClir(serial); @@ -286,6 +321,13 @@ TEST_P(RadioVoiceTest, getClir) { * Test IRadioVoice.setClir() for the response returned. */ TEST_P(RadioVoiceTest, setClir) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping setClir " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); int32_t status = 1; @@ -304,6 +346,13 @@ TEST_P(RadioVoiceTest, setClir) { * Test IRadioVoice.getClip() for the response returned. */ TEST_P(RadioVoiceTest, getClip) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping getClip " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->getClip(serial); @@ -322,6 +371,13 @@ TEST_P(RadioVoiceTest, getClip) { * Test IRadioVoice.getTtyMode() for the response returned. */ TEST_P(RadioVoiceTest, getTtyMode) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping getTtyMode " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->getTtyMode(serial); @@ -338,6 +394,13 @@ TEST_P(RadioVoiceTest, getTtyMode) { * Test IRadioVoice.setTtyMode() for the response returned. */ TEST_P(RadioVoiceTest, setTtyMode) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping setTtyMode " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->setTtyMode(serial, TtyMode::OFF); @@ -354,6 +417,13 @@ TEST_P(RadioVoiceTest, setTtyMode) { * Test IRadioVoice.setPreferredVoicePrivacy() for the response returned. */ TEST_P(RadioVoiceTest, setPreferredVoicePrivacy) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping setPreferredVoicePrivacy " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->setPreferredVoicePrivacy(serial, true); @@ -371,6 +441,13 @@ TEST_P(RadioVoiceTest, setPreferredVoicePrivacy) { * Test IRadioVoice.getPreferredVoicePrivacy() for the response returned. */ TEST_P(RadioVoiceTest, getPreferredVoicePrivacy) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping getPreferredVoicePrivacy " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->getPreferredVoicePrivacy(serial); @@ -388,6 +465,13 @@ TEST_P(RadioVoiceTest, getPreferredVoicePrivacy) { * Test IRadioVoice.exitEmergencyCallbackMode() for the response returned. */ TEST_P(RadioVoiceTest, exitEmergencyCallbackMode) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping exitEmergencyCallbackMode " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->exitEmergencyCallbackMode(serial); @@ -406,6 +490,13 @@ TEST_P(RadioVoiceTest, exitEmergencyCallbackMode) { * Test IRadioVoice.handleStkCallSetupRequestFromSim() for the response returned. */ TEST_P(RadioVoiceTest, handleStkCallSetupRequestFromSim) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping handleStkCallSetupRequestFromSim " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); bool accept = false; @@ -427,6 +518,13 @@ TEST_P(RadioVoiceTest, handleStkCallSetupRequestFromSim) { * Test IRadioVoice.dial() for the response returned. */ TEST_P(RadioVoiceTest, dial) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping dial " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); Dial dialInfo; @@ -454,6 +552,13 @@ TEST_P(RadioVoiceTest, dial) { * Test IRadioVoice.hangup() for the response returned. */ TEST_P(RadioVoiceTest, hangup) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping hangup " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->hangup(serial, 1); @@ -473,6 +578,13 @@ TEST_P(RadioVoiceTest, hangup) { * Test IRadioVoice.hangupWaitingOrBackground() for the response returned. */ TEST_P(RadioVoiceTest, hangupWaitingOrBackground) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping hangupWaitingOrBackground " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->hangupWaitingOrBackground(serial); @@ -491,6 +603,13 @@ TEST_P(RadioVoiceTest, hangupWaitingOrBackground) { * Test IRadioVoice.hangupForegroundResumeBackground() for the response returned. */ TEST_P(RadioVoiceTest, hangupForegroundResumeBackground) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping hangupForegroundResumeBackground " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->hangupForegroundResumeBackground(serial); @@ -509,6 +628,13 @@ TEST_P(RadioVoiceTest, hangupForegroundResumeBackground) { * Test IRadioVoice.switchWaitingOrHoldingAndActive() for the response returned. */ TEST_P(RadioVoiceTest, switchWaitingOrHoldingAndActive) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping switchWaitingOrHoldingAndActive " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->switchWaitingOrHoldingAndActive(serial); @@ -527,6 +653,13 @@ TEST_P(RadioVoiceTest, switchWaitingOrHoldingAndActive) { * Test IRadioVoice.conference() for the response returned. */ TEST_P(RadioVoiceTest, conference) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping conference " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->conference(serial); @@ -545,6 +678,13 @@ TEST_P(RadioVoiceTest, conference) { * Test IRadioVoice.rejectCall() for the response returned. */ TEST_P(RadioVoiceTest, rejectCall) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping rejectCall " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->rejectCall(serial); @@ -563,6 +703,13 @@ TEST_P(RadioVoiceTest, rejectCall) { * Test IRadioVoice.getLastCallFailCause() for the response returned. */ TEST_P(RadioVoiceTest, getLastCallFailCause) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping getLastCallFailCause " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->getLastCallFailCause(serial); @@ -580,6 +727,13 @@ TEST_P(RadioVoiceTest, getLastCallFailCause) { * Test IRadioVoice.getCallForwardStatus() for the response returned. */ TEST_P(RadioVoiceTest, getCallForwardStatus) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping getCallForwardStatus " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); CallForwardInfo callInfo; memset(&callInfo, 0, sizeof(callInfo)); @@ -602,6 +756,13 @@ TEST_P(RadioVoiceTest, getCallForwardStatus) { * Test IRadioVoice.setCallForward() for the response returned. */ TEST_P(RadioVoiceTest, setCallForward) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping setCallForward " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); CallForwardInfo callInfo; memset(&callInfo, 0, sizeof(callInfo)); @@ -624,6 +785,13 @@ TEST_P(RadioVoiceTest, setCallForward) { * Test IRadioVoice.getCallWaiting() for the response returned. */ TEST_P(RadioVoiceTest, getCallWaiting) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping getCallWaiting " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->getCallWaiting(serial, 1); @@ -643,6 +811,13 @@ TEST_P(RadioVoiceTest, getCallWaiting) { * Test IRadioVoice.setCallWaiting() for the response returned. */ TEST_P(RadioVoiceTest, setCallWaiting) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping setCallWaiting " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->setCallWaiting(serial, true, 1); @@ -662,6 +837,13 @@ TEST_P(RadioVoiceTest, setCallWaiting) { * Test IRadioVoice.acceptCall() for the response returned. */ TEST_P(RadioVoiceTest, acceptCall) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping acceptCall " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->acceptCall(serial); @@ -680,6 +862,13 @@ TEST_P(RadioVoiceTest, acceptCall) { * Test IRadioVoice.separateConnection() for the response returned. */ TEST_P(RadioVoiceTest, separateConnection) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping separateConnection " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->separateConnection(serial, 1); @@ -699,6 +888,13 @@ TEST_P(RadioVoiceTest, separateConnection) { * Test IRadioVoice.explicitCallTransfer() for the response returned. */ TEST_P(RadioVoiceTest, explicitCallTransfer) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping explicitCallTransfer " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->explicitCallTransfer(serial); @@ -717,6 +913,13 @@ TEST_P(RadioVoiceTest, explicitCallTransfer) { * Test IRadioVoice.sendCdmaFeatureCode() for the response returned. */ TEST_P(RadioVoiceTest, sendCdmaFeatureCode) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CDMA)) { + GTEST_SKIP() << "Skipping sendCdmaFeatureCode " + "due to undefined FEATURE_TELEPHONY_CDMA"; + } + } + serial = GetRandomSerialNumber(); radio_voice->sendCdmaFeatureCode(serial, std::string()); @@ -737,6 +940,13 @@ TEST_P(RadioVoiceTest, sendCdmaFeatureCode) { * Test IRadioVoice.sendDtmf() for the response returned. */ TEST_P(RadioVoiceTest, sendDtmf) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping sendDtmf " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->sendDtmf(serial, "1"); @@ -757,6 +967,13 @@ TEST_P(RadioVoiceTest, sendDtmf) { * Test IRadioVoice.startDtmf() for the response returned. */ TEST_P(RadioVoiceTest, startDtmf) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping startDtmf " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->startDtmf(serial, "1"); @@ -777,6 +994,13 @@ TEST_P(RadioVoiceTest, startDtmf) { * Test IRadioVoice.stopDtmf() for the response returned. */ TEST_P(RadioVoiceTest, stopDtmf) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping stopDtmf " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->stopDtmf(serial); @@ -796,6 +1020,13 @@ TEST_P(RadioVoiceTest, stopDtmf) { * Test IRadioVoice.setMute() for the response returned. */ TEST_P(RadioVoiceTest, setMute) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping setMute " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->setMute(serial, true); @@ -814,6 +1045,13 @@ TEST_P(RadioVoiceTest, setMute) { * Test IRadioVoice.getMute() for the response returned. */ TEST_P(RadioVoiceTest, getMute) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping getMute " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->getMute(serial); @@ -830,6 +1068,13 @@ TEST_P(RadioVoiceTest, getMute) { * Test IRadioVoice.sendBurstDtmf() for the response returned. */ TEST_P(RadioVoiceTest, sendBurstDtmf) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping sendBurstDtmf " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->sendBurstDtmf(serial, "1", 0, 0); @@ -849,6 +1094,13 @@ TEST_P(RadioVoiceTest, sendBurstDtmf) { * Test IRadioVoice.sendUssd() for the response returned. */ TEST_P(RadioVoiceTest, sendUssd) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping sendUssd " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->sendUssd(serial, std::string("test")); EXPECT_EQ(std::cv_status::no_timeout, wait()); @@ -867,6 +1119,13 @@ TEST_P(RadioVoiceTest, sendUssd) { * Test IRadioVoice.cancelPendingUssd() for the response returned. */ TEST_P(RadioVoiceTest, cancelPendingUssd) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_CALLING)) { + GTEST_SKIP() << "Skipping cancelPendingUssd " + "due to undefined FEATURE_TELEPHONY_CALLING"; + } + } + serial = GetRandomSerialNumber(); radio_voice->cancelPendingUssd(serial); @@ -886,6 +1145,13 @@ TEST_P(RadioVoiceTest, cancelPendingUssd) { * Test IRadioVoice.isVoNrEnabled() for the response returned. */ TEST_P(RadioVoiceTest, isVoNrEnabled) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_IMS)) { + GTEST_SKIP() << "Skipping isVoNrEnabled " + "due to undefined FEATURE_TELEPHONY_IMS"; + } + } + serial = GetRandomSerialNumber(); radio_voice->isVoNrEnabled(serial); @@ -901,6 +1167,13 @@ TEST_P(RadioVoiceTest, isVoNrEnabled) { * Test IRadioVoice.setVoNrEnabled() for the response returned. */ TEST_P(RadioVoiceTest, setVoNrEnabled) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY_IMS)) { + GTEST_SKIP() << "Skipping setVoNrEnabled " + "due to undefined FEATURE_TELEPHONY_IMS"; + } + } + serial = GetRandomSerialNumber(); radio_voice->setVoNrEnabled(serial, true);