diff --git a/gnss/1.0/vts/functional/VtsHalGnssV1_0TargetTest.cpp b/gnss/1.0/vts/functional/VtsHalGnssV1_0TargetTest.cpp index 0541c9038c..2bf8633936 100644 --- a/gnss/1.0/vts/functional/VtsHalGnssV1_0TargetTest.cpp +++ b/gnss/1.0/vts/functional/VtsHalGnssV1_0TargetTest.cpp @@ -38,6 +38,10 @@ using android::hardware::gnss::V1_0::IGnssDebug; using android::hardware::gnss::V1_0::IGnssMeasurement; using android::sp; +/* + * Since Utils.cpp depends on Gnss Hal 2.0, the tests for Gnss Hal 1.0 will use + * there own version of IsAutomotiveDevice() instead of the common version. + */ static bool IsAutomotiveDevice() { char buffer[PROPERTY_VALUE_MAX] = {0}; property_get("ro.hardware.type", buffer, ""); @@ -479,7 +483,7 @@ TEST_F(GnssHalTest, GetAllExtensions) { * Verifies that modern hardware supports measurement capabilities. */ TEST_F(GnssHalTest, MeasurementCapabilites) { - if (info_called_count_ > 0 && last_info_.yearOfHw >= 2016) { + if (!IsAutomotiveDevice() && info_called_count_ > 0 && last_info_.yearOfHw >= 2016) { EXPECT_TRUE(last_capabilities_ & IGnssCallback::Capabilities::MEASUREMENTS); } } diff --git a/gnss/1.1/vts/functional/gnss_hal_test_cases.cpp b/gnss/1.1/vts/functional/gnss_hal_test_cases.cpp index f66cf861e8..76c7119b39 100644 --- a/gnss/1.1/vts/functional/gnss_hal_test_cases.cpp +++ b/gnss/1.1/vts/functional/gnss_hal_test_cases.cpp @@ -35,9 +35,9 @@ using android::hardware::gnss::V1_1::IGnssConfiguration; using android::hardware::gnss::V1_1::IGnssMeasurement; static bool IsAutomotiveDevice() { - char buffer[PROPERTY_VALUE_MAX] = {0}; - property_get("ro.hardware.type", buffer, ""); - return strncmp(buffer, "automotive", PROPERTY_VALUE_MAX) == 0; + char buffer[PROPERTY_VALUE_MAX] = {0}; + property_get("ro.hardware.type", buffer, ""); + return strncmp(buffer, "automotive", PROPERTY_VALUE_MAX) == 0; } /* diff --git a/gnss/2.0/vts/functional/gnss_hal_test_cases.cpp b/gnss/2.0/vts/functional/gnss_hal_test_cases.cpp index 79bb68465e..82471641c3 100644 --- a/gnss/2.0/vts/functional/gnss_hal_test_cases.cpp +++ b/gnss/2.0/vts/functional/gnss_hal_test_cases.cpp @@ -61,6 +61,13 @@ TEST_F(GnssHalTest, TestGnssMeasurementExtension) { auto gnssMeasurement_1_0 = gnss_hal_->getExtensionGnssMeasurement(); ASSERT_TRUE(gnssMeasurement_2_0.isOk() && gnssMeasurement_1_1.isOk() && gnssMeasurement_1_0.isOk()); + + // CDD does not require Android Automotive OS devices to support + // GnssMeasurements. + if(Utils::isAutomotiveDevice()) { + return; + } + sp iGnssMeas_2_0 = gnssMeasurement_2_0; sp iGnssMeas_1_1 = gnssMeasurement_1_1; sp iGnssMeas_1_0 = gnssMeasurement_1_0; @@ -850,4 +857,4 @@ TEST_F(GnssHalTest, BlacklistConstellationWithLocationOn) { result = gnss_configuration_hal->setBlacklist(sources); ASSERT_TRUE(result.isOk()); EXPECT_TRUE(result); -} \ No newline at end of file +} diff --git a/gnss/common/utils/vts/Utils.cpp b/gnss/common/utils/vts/Utils.cpp index 4e42f75e3e..66b02176b5 100644 --- a/gnss/common/utils/vts/Utils.cpp +++ b/gnss/common/utils/vts/Utils.cpp @@ -17,6 +17,8 @@ #include #include "gtest/gtest.h" +#include + namespace android { namespace hardware { namespace gnss { @@ -164,6 +166,12 @@ GnssConstellationType_1_0 Utils::mapConstellationType(GnssConstellationType_2_0 } } +bool Utils::isAutomotiveDevice() { + char buffer[PROPERTY_VALUE_MAX] = {0}; + property_get("ro.hardware.type", buffer, ""); + return strncmp(buffer, "automotive", PROPERTY_VALUE_MAX) == 0; +} + } // namespace common } // namespace gnss } // namespace hardware diff --git a/gnss/common/utils/vts/include/Utils.h b/gnss/common/utils/vts/include/Utils.h index b5f833ba97..b944e73c3b 100644 --- a/gnss/common/utils/vts/include/Utils.h +++ b/gnss/common/utils/vts/include/Utils.h @@ -37,6 +37,8 @@ struct Utils { static const MeasurementCorrections getMockMeasurementCorrections(); static GnssConstellationType_1_0 mapConstellationType(GnssConstellationType_2_0 constellation); + + static bool isAutomotiveDevice(); }; } // namespace common