From 248708f63c8adbd87569196200da9d60dda08261 Mon Sep 17 00:00:00 2001 From: Mikhail Naganov Date: Wed, 18 Mar 2020 14:37:43 -0700 Subject: [PATCH] Audio Effects: Skip CheckConfig test for non-matching HAL versions In vts-core a test suite for version N can be called for HAL of version M. Since in the case of the Effects HAL the XSD configuration for the effects is version-dependent, the test must not validate the effects config using XSD file for other version. Thus, the configuration validity check must be skipped if no corresponding version of IEffectsFactory is found on the device. Bug: 142397658 Bug: 146015418 Test: atest VtsHalAudioEffectV6_0TargetTest on a device that uses earlier version of Audio HAL; CheckConfig#audioEffectsConfigurationValidation must be IGNORED Change-Id: I4b34cc34091447c04bf8d3e988c9bd4048dc8ef9 --- .../functional/ValidateAudioEffectsConfiguration.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/audio/effect/all-versions/vts/functional/ValidateAudioEffectsConfiguration.cpp b/audio/effect/all-versions/vts/functional/ValidateAudioEffectsConfiguration.cpp index f9e4aa30eb..9c0135bf93 100644 --- a/audio/effect/all-versions/vts/functional/ValidateAudioEffectsConfiguration.cpp +++ b/audio/effect/all-versions/vts/functional/ValidateAudioEffectsConfiguration.cpp @@ -18,6 +18,12 @@ #include #include +// clang-format off +#include PATH(android/hardware/audio/effect/FILE_VERSION/IEffectsFactory.h) +// clang-format on + +#include +#include #include "utility/ValidateXml.h" @@ -29,6 +35,11 @@ TEST(CheckConfig, audioEffectsConfigurationValidation) { RecordProperty("description", "Verify that the effects configuration file is valid according to the schema"); using namespace android::effectsConfig; + if (android::hardware::getAllHalInstanceNames( + ::android::hardware::audio::effect::CPP_VERSION::IEffectsFactory::descriptor) + .size() == 0) { + GTEST_SKIP() << "No Effects HAL version " STRINGIFY(CPP_VERSION) " on this device"; + } std::vector locations(std::begin(DEFAULT_LOCATIONS), std::end(DEFAULT_LOCATIONS)); const char* xsd = "/data/local/tmp/audio_effects_conf_" STRINGIFY(CPP_VERSION) ".xsd";