From 5ccc4bbf458fbb8ac62825b9d189236160de3fe3 Mon Sep 17 00:00:00 2001 From: Rambo Wang Date: Tue, 16 Feb 2021 20:45:39 -0800 Subject: [PATCH] Skip radio VTS test cases on deprecated interfaces The following interfaces are deprecated: - startLceService - stopLceService - pullLceData - lceData - setSimCardPower - setIndicationFilter - setupDataCall - deactivateDataCall - startNetworkScan - startNetworkScan_1_2 All related VTS test cases will be skipped when testing with higher version radio hal releases with REQUEST_NOT_SUPPORTED response. Bug: 170288130 Test: atest VtsHalRadioV1_0TargetTest VtsHalRadioV1_1TargetTest VtsHalRadioV1_2TargetTest Change-Id: Ie905540d36a07b5557220ef00c4cb17d41cbe74b --- radio/1.0/vts/functional/Android.bp | 2 ++ .../vts/functional/radio_hidl_hal_data.cpp | 7 +++++ .../vts/functional/radio_hidl_hal_misc.cpp | 16 ++++++++++ .../functional/radio_hidl_hal_utils_v1_0.h | 2 ++ radio/1.0/vts/functional/vts_test_util.h | 14 +++++++++ radio/1.1/vts/functional/Android.bp | 1 + .../1.1/vts/functional/radio_hidl_hal_api.cpp | 7 +++++ .../functional/radio_hidl_hal_utils_v1_1.h | 2 ++ radio/1.2/vts/functional/Android.bp | 2 ++ .../1.2/vts/functional/radio_hidl_hal_api.cpp | 31 +++++++++++++++++++ .../functional/radio_hidl_hal_utils_v1_2.h | 4 ++- 11 files changed, 87 insertions(+), 1 deletion(-) diff --git a/radio/1.0/vts/functional/Android.bp b/radio/1.0/vts/functional/Android.bp index 9e92d937d0..2c0e70a59a 100644 --- a/radio/1.0/vts/functional/Android.bp +++ b/radio/1.0/vts/functional/Android.bp @@ -43,6 +43,8 @@ cc_test { ], static_libs: [ "android.hardware.radio@1.0", + "android.hardware.radio@1.1", + "android.hardware.radio@1.2", ], test_config: "vts_hal_radio_target_test.xml", test_suites: [ diff --git a/radio/1.0/vts/functional/radio_hidl_hal_data.cpp b/radio/1.0/vts/functional/radio_hidl_hal_data.cpp index e3ee9d4ff3..655b869333 100644 --- a/radio/1.0/vts/functional/radio_hidl_hal_data.cpp +++ b/radio/1.0/vts/functional/radio_hidl_hal_data.cpp @@ -15,6 +15,7 @@ */ #include +#include #include using namespace ::android::hardware::radio::V1_0; @@ -139,6 +140,9 @@ TEST_P(RadioHidlTest, setupDataCall) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); EXPECT_EQ(serial, radioRsp->rspInfo.serial); + // setupDataCall is deprecated on radio::V1_2 with setupDataCall_1_2 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_2); + if (cardStatus.cardState == CardState::ABSENT) { ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, {RadioError::NONE, RadioError::OP_NOT_ALLOWED_BEFORE_REG_TO_NW, @@ -164,6 +168,9 @@ TEST_P(RadioHidlTest, deactivateDataCall) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); EXPECT_EQ(serial, radioRsp->rspInfo.serial); + // deactivateDataCall is deprecated on radio::V1_2 with deactiveDataCall_1_2 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_2); + if (cardStatus.cardState == CardState::ABSENT) { ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, {RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, diff --git a/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp b/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp index 3f964732f6..624d00381f 100644 --- a/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp +++ b/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp @@ -15,6 +15,7 @@ */ #include +#include #include /* @@ -771,6 +772,9 @@ TEST_P(RadioHidlTest, startLceService) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); EXPECT_EQ(serial, radioRsp->rspInfo.serial); + // HAL 1.2 and later use the always-on LCE that relies on indications. + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_2); + if (cardStatus.cardState == CardState::ABSENT) { ASSERT_TRUE(CheckAnyOfErrors( radioRsp->rspInfo.error, @@ -792,6 +796,9 @@ TEST_P(RadioHidlTest, stopLceService) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); EXPECT_EQ(serial, radioRsp->rspInfo.serial); + // HAL 1.2 and later use the always-on LCE that relies on indications. + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_2); + if (cardStatus.cardState == CardState::ABSENT) { ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, {RadioError::NONE, RadioError::LCE_NOT_SUPPORTED, @@ -812,6 +819,9 @@ TEST_P(RadioHidlTest, pullLceData) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); EXPECT_EQ(serial, radioRsp->rspInfo.serial); + // HAL 1.2 and later use the always-on LCE that relies on indications. + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_2); + if (cardStatus.cardState == CardState::ABSENT) { ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, {RadioError::NONE, RadioError::INTERNAL_ERR, @@ -971,6 +981,9 @@ TEST_P(RadioHidlTest, setIndicationFilter) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); EXPECT_EQ(serial, radioRsp->rspInfo.serial); + // setIndicationFilter is deprecated on radio::V1_2 with setIndicationFilter_1_2 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_2); + std::cout << static_cast(radioRsp->rspInfo.error) << std::endl; if (cardStatus.cardState == CardState::ABSENT) { @@ -992,6 +1005,9 @@ TEST_P(RadioHidlTest, setSimCardPower) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type); EXPECT_EQ(serial, radioRsp->rspInfo.serial); + // setSimCardPower is deprecated on radio::V1_1 with setSimCardPower_1_1 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_1); + if (cardStatus.cardState == CardState::ABSENT) { ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, {RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED})); diff --git a/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h b/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h index 8a551f7c36..e3e9473055 100644 --- a/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h +++ b/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h @@ -38,6 +38,8 @@ using ::android::sp; #define TIMEOUT_PERIOD 75 #define RADIO_SERVICE_NAME "slot1" +#define SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(__ver__) \ + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL(__ver__, radio, radioRsp) class RadioHidlTest; extern CardStatus cardStatus; diff --git a/radio/1.0/vts/functional/vts_test_util.h b/radio/1.0/vts/functional/vts_test_util.h index 08f7ba38bd..eeb1d299ab 100644 --- a/radio/1.0/vts/functional/vts_test_util.h +++ b/radio/1.0/vts/functional/vts_test_util.h @@ -27,6 +27,20 @@ using ::android::hardware::radio::V1_0::RegState; using ::android::hardware::radio::V1_0::SapResultCode; using namespace std; +/* + * MACRO used to skip test case when radio response return error REQUEST_NOT_SUPPORTED + * on HAL versions which has deprecated the request interfaces. The MACRO can only be used + * AFTER receiving radio response. + */ +#define SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL(__ver__, __radio__, __radioRsp__) \ + do { \ + sp<::android::hardware::radio::V##__ver__::IRadio> __radio = \ + ::android::hardware::radio::V##__ver__::IRadio::castFrom(__radio__); \ + if (__radio && __radioRsp__->rspInfo.error == RadioError::REQUEST_NOT_SUPPORTED) { \ + GTEST_SKIP() << "REQUEST_NOT_SUPPORTED"; \ + } \ + } while (0) + enum CheckFlag { CHECK_DEFAULT = 0, CHECK_GENERAL_ERROR = 1, diff --git a/radio/1.1/vts/functional/Android.bp b/radio/1.1/vts/functional/Android.bp index 3ada6fff98..b3def8e1d3 100644 --- a/radio/1.1/vts/functional/Android.bp +++ b/radio/1.1/vts/functional/Android.bp @@ -35,6 +35,7 @@ cc_test { ], static_libs: [ "RadioVtsTestUtilBase", + "android.hardware.radio@1.2", "android.hardware.radio@1.1", "android.hardware.radio@1.0", ], diff --git a/radio/1.1/vts/functional/radio_hidl_hal_api.cpp b/radio/1.1/vts/functional/radio_hidl_hal_api.cpp index 08121fde2b..389944bb2a 100644 --- a/radio/1.1/vts/functional/radio_hidl_hal_api.cpp +++ b/radio/1.1/vts/functional/radio_hidl_hal_api.cpp @@ -14,6 +14,7 @@ * limitations under the License. */ +#include #include #include @@ -107,6 +108,9 @@ TEST_P(RadioHidlTest_v1_1, startNetworkScan) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_1->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_1->rspInfo.serial); + // startNetworkScan is deprecated on radio::V1_2 with startNetworkScan_1_2 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_2); + if (cardStatus.cardState == CardState::ABSENT) { ALOGI("startNetworkScan, rspInfo.error = %d\n", (int32_t)radioRsp_v1_1->rspInfo.error); ASSERT_TRUE(CheckAnyOfErrors( @@ -131,6 +135,9 @@ TEST_P(RadioHidlTest_v1_1, startNetworkScan_InvalidArgument) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_1->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_1->rspInfo.serial); + // startNetworkScan is deprecated on radio::V1_2 with startNetworkScan_1_2 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_2); + if (cardStatus.cardState == CardState::ABSENT) { ALOGI("startNetworkScan_InvalidArgument, rspInfo.error = %d\n", (int32_t)radioRsp_v1_1->rspInfo.error); diff --git a/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h b/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h index b81ee13127..bafde77e06 100644 --- a/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h +++ b/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h @@ -40,6 +40,8 @@ using ::android::sp; #define TIMEOUT_PERIOD 75 #define RADIO_SERVICE_NAME "slot1" +#define SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(__ver__) \ + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL(__ver__, radio_v1_1, radioRsp_v1_1) class RadioHidlTest_v1_1; extern CardStatus cardStatus; diff --git a/radio/1.2/vts/functional/Android.bp b/radio/1.2/vts/functional/Android.bp index 1447adeff2..a62000f6ef 100644 --- a/radio/1.2/vts/functional/Android.bp +++ b/radio/1.2/vts/functional/Android.bp @@ -36,6 +36,8 @@ cc_test { ], static_libs: [ "RadioVtsTestUtilBase", + "android.hardware.radio@1.4", + "android.hardware.radio@1.3", "android.hardware.radio@1.2", "android.hardware.radio@1.1", "android.hardware.radio@1.0", diff --git a/radio/1.2/vts/functional/radio_hidl_hal_api.cpp b/radio/1.2/vts/functional/radio_hidl_hal_api.cpp index acb1b0ef6d..2400bde9ae 100644 --- a/radio/1.2/vts/functional/radio_hidl_hal_api.cpp +++ b/radio/1.2/vts/functional/radio_hidl_hal_api.cpp @@ -14,6 +14,7 @@ * limitations under the License. */ +#include #include #include @@ -57,6 +58,9 @@ TEST_P(RadioHidlTest_v1_2, startNetworkScan) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); + // startNetworkScan_1_2 is deprecated in radio::V1_4 with startNetworkScan_1_4 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_4); + ALOGI("startNetworkScan, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); if (cardStatus.base.cardState == CardState::ABSENT) { ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error, {RadioError::SIM_ABSENT})); @@ -94,6 +98,9 @@ TEST_P(RadioHidlTest_v1_2, startNetworkScan_InvalidArgument) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); + // startNetworkScan_1_2 is deprecated in radio::V1_4 with startNetworkScan_1_4 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_4); + ALOGI("startNetworkScan_InvalidArgument, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); if (cardStatus.base.cardState == CardState::ABSENT) { @@ -126,6 +133,9 @@ TEST_P(RadioHidlTest_v1_2, startNetworkScan_InvalidInterval1) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); + // startNetworkScan_1_2 is deprecated in radio::V1_4 with startNetworkScan_1_4 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_4); + ALOGI("startNetworkScan_InvalidInterval1, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); if (cardStatus.base.cardState == CardState::ABSENT) { @@ -158,6 +168,9 @@ TEST_P(RadioHidlTest_v1_2, startNetworkScan_InvalidInterval2) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); + // startNetworkScan_1_2 is deprecated in radio::V1_4 with startNetworkScan_1_4 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_4); + ALOGI("startNetworkScan_InvalidInterval2, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); if (cardStatus.base.cardState == CardState::ABSENT) { @@ -190,6 +203,9 @@ TEST_P(RadioHidlTest_v1_2, startNetworkScan_InvalidMaxSearchTime1) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); + // startNetworkScan_1_2 is deprecated in radio::V1_4 with startNetworkScan_1_4 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_4); + ALOGI("startNetworkScan_InvalidMaxSearchTime1, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); if (cardStatus.base.cardState == CardState::ABSENT) { @@ -222,6 +238,9 @@ TEST_P(RadioHidlTest_v1_2, startNetworkScan_InvalidMaxSearchTime2) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); + // startNetworkScan_1_2 is deprecated in radio::V1_4 with startNetworkScan_1_4 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_4); + ALOGI("startNetworkScan_InvalidMaxSearchTime2, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); if (cardStatus.base.cardState == CardState::ABSENT) { @@ -254,6 +273,9 @@ TEST_P(RadioHidlTest_v1_2, startNetworkScan_InvalidPeriodicity1) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); + // startNetworkScan_1_2 is deprecated in radio::V1_4 with startNetworkScan_1_4 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_4); + ALOGI("startNetworkScan_InvalidPeriodicity1, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); if (cardStatus.base.cardState == CardState::ABSENT) { @@ -286,6 +308,9 @@ TEST_P(RadioHidlTest_v1_2, startNetworkScan_InvalidPeriodicity2) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); + // startNetworkScan_1_2 is deprecated in radio::V1_4 with startNetworkScan_1_4 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_4); + ALOGI("startNetworkScan_InvalidPeriodicity2, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); if (cardStatus.base.cardState == CardState::ABSENT) { @@ -322,6 +347,9 @@ TEST_P(RadioHidlTest_v1_2, DISABLED_startNetworkScan_GoodRequest1) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); + // startNetworkScan_1_2 is deprecated in radio::V1_4 with startNetworkScan_1_4 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_4); + ALOGI("startNetworkScan_InvalidArgument, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); if (cardStatus.base.cardState == CardState::ABSENT) { @@ -359,6 +387,9 @@ TEST_P(RadioHidlTest_v1_2, DISABLED_startNetworkScan_GoodRequest2) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type); EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial); + // startNetworkScan_1_2 is deprecated in radio::V1_4 with startNetworkScan_1_4 + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(1_4); + ALOGI("startNetworkScan_InvalidArgument, rspInfo.error = %s\n", toString(radioRsp_v1_2->rspInfo.error).c_str()); if (cardStatus.base.cardState == CardState::ABSENT) { diff --git a/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h b/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h index 479340cd88..81286d2930 100644 --- a/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h +++ b/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h @@ -50,6 +50,8 @@ using ::android::hardware::radio::V1_0::RadioResponseType; #define TIMEOUT_PERIOD 75 #define RADIO_SERVICE_NAME "slot1" +#define SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(__ver__) \ + SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL(__ver__, radio_v1_2, radioRsp_v1_2) class RadioHidlTest_v1_2; extern ::android::hardware::radio::V1_2::CardStatus cardStatus; @@ -682,4 +684,4 @@ class RadioHidlTest_v1_2 : public ::testing::TestWithParam { /* radio config service handle */ sp radioConfig; -}; \ No newline at end of file +};