diff --git a/audio/2.0/vts/functional/ValidateAudioConfiguration.cpp b/audio/2.0/vts/functional/ValidateAudioConfiguration.cpp index 01324c87d3..5fc1b3d3e4 100644 --- a/audio/2.0/vts/functional/ValidateAudioConfiguration.cpp +++ b/audio/2.0/vts/functional/ValidateAudioConfiguration.cpp @@ -14,9 +14,24 @@ * limitations under the License. */ +#include +#include + #include "utility/ValidateXml.h" TEST(CheckConfig, audioPolicyConfigurationValidation) { - ASSERT_VALID_XML("/vendor/etc/audio_policy_configuration.xml", - "/data/local/tmp/audio_policy_configuration.xsd"); + const char* configName = "audio_policy_configuration.xml"; + const char* possibleConfigLocations[] = {"/odm/etc", "/vendor/etc", "/system/etc"}; + const char* configSchemaPath = "/data/local/tmp/audio_policy_configuration.xsd"; + + bool found = false; + for (std::string folder : possibleConfigLocations) { + const auto configPath = folder + '/' + configName; + if (access(configPath.c_str(), R_OK) == 0) { + ASSERT_FALSE(found) << "Multiple " << configName << " found in " + << ::testing::PrintToString(possibleConfigLocations); + found = true; + ASSERT_VALID_XML(configPath.c_str(), configSchemaPath); + } + } }