Merge "Handle radio API in low version VTS for high version service" into pi-dev
diff --git a/radio/1.0/vts/functional/Android.bp b/radio/1.0/vts/functional/Android.bp
index afbb1c4..b959670 100644
--- a/radio/1.0/vts/functional/Android.bp
+++ b/radio/1.0/vts/functional/Android.bp
@@ -31,6 +31,8 @@
"VtsHalRadioV1_0TargetTest.cpp",
"vts_test_util.cpp"],
static_libs: [
+ "android.hardware.radio@1.2",
+ "android.hardware.radio@1.1",
"android.hardware.radio@1.0",
],
}
@@ -44,6 +46,8 @@
"VtsHalSapV1_0TargetTest.cpp",
"vts_test_util.cpp"],
static_libs: [
+ "android.hardware.radio@1.2",
+ "android.hardware.radio@1.1",
"android.hardware.radio@1.0",
],
}
@@ -55,6 +59,8 @@
"vts_test_util.cpp"
],
shared_libs: [
+ "android.hardware.radio@1.2",
+ "android.hardware.radio@1.1",
"android.hardware.radio@1.0",
],
}
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 bc03cf1..5a5813d 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp
@@ -36,15 +36,19 @@
* Test IRadio.getVoiceRegistrationState() for the response returned.
*/
TEST_F(RadioHidlTest, getVoiceRegistrationState) {
- serial = GetRandomSerialNumber();
+ // The IRadio/IRadioResponse pair of this function is upgraded in 1.2.
+ // For radio version < 1.2, skip to test this function.
+ if (versionIRadio < v1_2) {
+ serial = GetRandomSerialNumber();
- radio->getVoiceRegistrationState(serial);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
- EXPECT_EQ(serial, radioRsp->rspInfo.serial);
+ radio->getVoiceRegistrationState(serial);
+ EXPECT_EQ(std::cv_status::no_timeout, wait());
+ EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
+ EXPECT_EQ(serial, radioRsp->rspInfo.serial);
- if (cardStatus.cardState == CardState::ABSENT) {
- EXPECT_EQ(RadioError::NONE, radioRsp->rspInfo.error);
+ if (cardStatus.cardState == CardState::ABSENT) {
+ EXPECT_EQ(RadioError::NONE, radioRsp->rspInfo.error);
+ }
}
}
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_test.cpp b/radio/1.0/vts/functional/radio_hidl_hal_test.cpp
index 96719d6..fec66ca 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_test.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_test.cpp
@@ -25,6 +25,10 @@
RadioHidlEnvironment::Instance()->getServiceName<IRadio>(
hidl_string(RADIO_SERVICE_NAME)));
}
+
+ versionIRadio = getIRadioVersion(radio);
+ ASSERT_FALSE(unknown == versionIRadio);
+
ASSERT_NE(nullptr, radio.get());
radioRsp = new (std::nothrow) RadioResponse(*this);
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 f5ce072..edbeb7a 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
@@ -33,6 +33,7 @@
using ::android::hardware::hidl_string;
using ::android::hardware::hidl_vec;
+using ::android::hardware::hidl_version;
using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::sp;
@@ -536,6 +537,9 @@
/* Serial number for radio request */
int serial;
+ /* Version of radio service */
+ hidl_version versionIRadio{0, 0};
+
/* Update Sim Card Status */
void updateSimCardStatus();
diff --git a/radio/1.0/vts/functional/vts_test_util.cpp b/radio/1.0/vts/functional/vts_test_util.cpp
index 7d15f35..20ec99e 100644
--- a/radio/1.0/vts/functional/vts_test_util.cpp
+++ b/radio/1.0/vts/functional/vts_test_util.cpp
@@ -54,3 +54,21 @@
}
return testing::AssertionFailure() << "SapError:" + toString(err) + " is returned";
}
+
+hidl_version getIRadioVersion(sp<::android::hardware::radio::V1_0::IRadio> radio) {
+ if (::android::hardware::radio::V1_2::IRadio::castFrom(radio).withDefault(nullptr) != nullptr) {
+ ALOGI("Radio service version: 1.2");
+ return v1_2;
+ } else if (::android::hardware::radio::V1_1::IRadio::castFrom(radio).withDefault(nullptr) !=
+ nullptr) {
+ ALOGI("Radio service version: 1.1");
+ return v1_1;
+ } else if (::android::hardware::radio::V1_0::IRadio::castFrom(radio).withDefault(nullptr) !=
+ nullptr) {
+ ALOGI("Radio service version: 1.0");
+ return v1_0;
+ } else {
+ ALOGI("Radio service version: unknown");
+ return unknown;
+ }
+}
\ No newline at end of file
diff --git a/radio/1.0/vts/functional/vts_test_util.h b/radio/1.0/vts/functional/vts_test_util.h
index 826f0de..36ca18f 100644
--- a/radio/1.0/vts/functional/vts_test_util.h
+++ b/radio/1.0/vts/functional/vts_test_util.h
@@ -14,12 +14,20 @@
* limitations under the License.
*/
+#ifndef VTS_TEST_UTIL_H
+#define VTS_TEST_UTIL_H 1
+
#include <android-base/logging.h>
#include <VtsHalHidlTargetTestBase.h>
+#include <android/hardware/radio/1.0/IRadio.h>
#include <android/hardware/radio/1.0/types.h>
+#include <android/hardware/radio/1.1/IRadio.h>
+#include <android/hardware/radio/1.2/IRadio.h>
+using ::android::sp;
+using ::android::hardware::hidl_version;
using ::android::hardware::radio::V1_0::RadioError;
using ::android::hardware::radio::V1_0::SapResultCode;
using namespace std;
@@ -33,6 +41,14 @@
};
/*
+ * Radio hidl version parameters.
+ */
+const hidl_version v1_0(1, 0);
+const hidl_version v1_1(1, 1);
+const hidl_version v1_2(1, 2);
+const hidl_version unknown(0, 0);
+
+/*
* Generate random serial number for radio test
*/
int GetRandomSerialNumber();
@@ -48,3 +64,10 @@
* vendor/devices implementations.
*/
::testing::AssertionResult CheckAnyOfErrors(SapResultCode err, std::vector<SapResultCode> errors);
+
+/*
+ * Get the radio service version.
+ */
+hidl_version getIRadioVersion(sp<::android::hardware::radio::V1_0::IRadio> radio);
+
+#endif /*VTS_TEST_UTIL_H*/
\ No newline at end of file
diff --git a/radio/1.1/vts/functional/Android.bp b/radio/1.1/vts/functional/Android.bp
index e7195ee..9d35796 100644
--- a/radio/1.1/vts/functional/Android.bp
+++ b/radio/1.1/vts/functional/Android.bp
@@ -24,6 +24,7 @@
"VtsHalRadioV1_1TargetTest.cpp"],
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_test.cpp b/radio/1.1/vts/functional/radio_hidl_hal_test.cpp
index 2f657b4..cc6b0e5 100644
--- a/radio/1.1/vts/functional/radio_hidl_hal_test.cpp
+++ b/radio/1.1/vts/functional/radio_hidl_hal_test.cpp
@@ -30,6 +30,10 @@
->getServiceName<::android::hardware::radio::V1_1::IRadio>(
hidl_string(RADIO_SERVICE_NAME)));
}
+
+ versionIRadio = getIRadioVersion(radio_v1_1);
+ ASSERT_FALSE(unknown == versionIRadio);
+
ASSERT_NE(nullptr, radio_v1_1.get());
radioRsp_v1_1 = new (std::nothrow) RadioResponse_v1_1(*this);
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 925f4fc..6125442 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
@@ -561,6 +561,9 @@
/* Serial number for radio request */
int serial;
+ /* Version of radio service */
+ hidl_version versionIRadio{0, 0};
+
/* Update Sim Card Status */
void updateSimCardStatus();
diff --git a/radio/1.2/vts/functional/radio_hidl_hal_test.cpp b/radio/1.2/vts/functional/radio_hidl_hal_test.cpp
index b34f138..7a34d11 100644
--- a/radio/1.2/vts/functional/radio_hidl_hal_test.cpp
+++ b/radio/1.2/vts/functional/radio_hidl_hal_test.cpp
@@ -30,6 +30,10 @@
->getServiceName<::android::hardware::radio::V1_2::IRadio>(
hidl_string(RADIO_SERVICE_NAME)));
}
+
+ versionIRadio = getIRadioVersion(radio_v1_2);
+ ASSERT_FALSE(unknown == versionIRadio);
+
ASSERT_NE(nullptr, radio_v1_2.get());
radioRsp_v1_2 = new (std::nothrow) RadioResponse_v1_2(*this);
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 4712202..06be67c 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
@@ -616,6 +616,9 @@
/* Serial number for radio request */
int serial;
+ /* Version of radio service */
+ hidl_version versionIRadio{0, 0};
+
/* Update Sim Card Status */
void updateSimCardStatus();
diff --git a/radio/config/1.0/vts/functional/Android.bp b/radio/config/1.0/vts/functional/Android.bp
index aa8266e..a1243a6 100644
--- a/radio/config/1.0/vts/functional/Android.bp
+++ b/radio/config/1.0/vts/functional/Android.bp
@@ -27,6 +27,9 @@
static_libs: [
"RadioVtsTestUtilBase",
"android.hardware.radio.config@1.0",
+ "android.hardware.radio@1.2",
+ "android.hardware.radio@1.1",
+ "android.hardware.radio@1.0",
],
header_libs: ["radio.util.header@1.0"],
}