diff --git a/automotive/vehicle/aidl/impl/utils/TEST_MAPPING b/automotive/vehicle/TEST_MAPPING similarity index 55% rename from automotive/vehicle/aidl/impl/utils/TEST_MAPPING rename to automotive/vehicle/TEST_MAPPING index d3d00abc62..15569f6f04 100644 --- a/automotive/vehicle/aidl/impl/utils/TEST_MAPPING +++ b/automotive/vehicle/TEST_MAPPING @@ -2,6 +2,9 @@ "presubmit": [ { "name": "VehicleHalVehicleUtilsTest" + }, + { + "name": "VehicleHalAidlHidlCompatibilityTest" } ] } diff --git a/automotive/vehicle/aidl/aidl_test/AidlHidlCompatibilityTest.cpp b/automotive/vehicle/aidl/aidl_test/AidlHidlCompatibilityTest.cpp new file mode 100644 index 0000000000..f4f3f28fda --- /dev/null +++ b/automotive/vehicle/aidl/aidl_test/AidlHidlCompatibilityTest.cpp @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +#include +#include +#include +#include + +namespace hidl_vehicle = ::android::hardware::automotive::vehicle::V2_0; +namespace aidl_vehicle = ::aidl::android::hardware::automotive::vehicle; +using ::android::hardware::hidl_enum_range; +using ::ndk::enum_range; + +TEST(AidlHidlCompatibilityTest, testHidlPropertiesDefinedInAidl) { + for (const auto prop : hidl_enum_range()) { + int propInt = ::android::hardware::automotive::vehicle::toInt(prop); + auto aidlProperties = enum_range(); + + ASSERT_NE(std::find(aidlProperties.begin(), aidlProperties.end(), + static_cast(propInt)), + aidlProperties.end()) + << "property: " << propInt << " defined in HIDL, but not defined in AIDL"; + } +} diff --git a/automotive/vehicle/aidl/aidl_test/Android.bp b/automotive/vehicle/aidl/aidl_test/Android.bp new file mode 100644 index 0000000000..4337ac74e9 --- /dev/null +++ b/automotive/vehicle/aidl/aidl_test/Android.bp @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +cc_test { + name: "VehicleHalAidlHidlCompatibilityTest", + srcs: ["*.cpp"], + shared_libs: [ + "libbinder_ndk", + "libhidlbase", + ], + static_libs: [ + "VehicleHalUtils", + "android.hardware.automotive.vehicle@2.0", + "libgtest", + "libgmock", + ], + defaults: ["VehicleHalDefaults"], + test_suites: ["general-tests"], + vendor: true, +}