mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
Merge "VTS: Do not require XML for Audio effect V2" into pie-vts-dev
This commit is contained in:
@@ -45,29 +45,37 @@ namespace utility {
|
||||
xmlFilePath, xsdFilePath)
|
||||
|
||||
/** Validate an XML according to an xsd.
|
||||
* The XML file must be in at least one of the provided locations.
|
||||
* If multiple are found, all are validated.
|
||||
* All file named xmlFileName in each xmlFileLocations folder must be valid if present.
|
||||
* @tparam atLeastOneRequired If true, at least one file has to be found.
|
||||
* If false, no found file is a success.
|
||||
*/
|
||||
template <bool atLeastOneRequired = true>
|
||||
::testing::AssertionResult validateXmlMultipleLocations(
|
||||
const char* xmlFileNameExpr, const char* xmlFileLocationsExpr, const char* xsdFilePathExpr,
|
||||
const char* xmlFileName, std::vector<const char*> xmlFileLocations, const char* xsdFilePath);
|
||||
|
||||
/** ASSERT that an XML is valid according to an xsd.
|
||||
* The XML file must be in at least one of the provided locations.
|
||||
* If multiple are found, all are validated.
|
||||
*/
|
||||
#define ASSERT_ONE_VALID_XML_MULTIPLE_LOCATIONS(xmlFileName, xmlFileLocations, xsdFilePath) \
|
||||
ASSERT_PRED_FORMAT3( \
|
||||
::android::hardware::audio::common::test::utility::validateXmlMultipleLocations, \
|
||||
/** ASSERT that all found XML are valid according to an xsd. */
|
||||
#define ASSERT_VALID_XML_MULTIPLE_LOCATIONS(xmlFileName, xmlFileLocations, xsdFilePath) \
|
||||
ASSERT_PRED_FORMAT3( \
|
||||
::android::hardware::audio::common::test::utility::validateXmlMultipleLocations<false>, \
|
||||
xmlFileName, xmlFileLocations, xsdFilePath)
|
||||
|
||||
/** EXPECT an XML to be valid according to an xsd.
|
||||
* The XML file must be in at least one of the provided locations.
|
||||
* If multiple are found, all are validated.
|
||||
*/
|
||||
#define EXPECT_ONE_VALID_XML_MULTIPLE_LOCATIONS(xmlFileName, xmlFileLocations, xsdFilePath) \
|
||||
EXPECT_PRED_FORMAT3( \
|
||||
::android::hardware::audio::common::test::utility::validateXmlMultipleLocations, \
|
||||
/** EXPECT that all found XML are valid according to an xsd. */
|
||||
#define EXPECT_VALID_XML_MULTIPLE_LOCATIONS(xmlFileName, xmlFileLocations, xsdFilePath) \
|
||||
EXPECT_PRED_FORMAT3( \
|
||||
::android::hardware::audio::common::test::utility::validateXmlMultipleLocations<false>, \
|
||||
xmlFileName, xmlFileLocations, xsdFilePath)
|
||||
|
||||
/** ASSERT that all found XML are valid according to an xsd. At least one must be found. */
|
||||
#define ASSERT_ONE_VALID_XML_MULTIPLE_LOCATIONS(xmlFileName, xmlFileLocations, xsdFilePath) \
|
||||
ASSERT_PRED_FORMAT3( \
|
||||
::android::hardware::audio::common::test::utility::validateXmlMultipleLocations<true>, \
|
||||
xmlFileName, xmlFileLocations, xsdFilePath)
|
||||
|
||||
/** EXPECT that all found XML are valid according to an xsd. At least one must be found. */
|
||||
#define EXPECT_ONE_VALID_XML_MULTIPLE_LOCATIONS(xmlFileName, xmlFileLocations, xsdFilePath) \
|
||||
EXPECT_PRED_FORMAT3( \
|
||||
::android::hardware::audio::common::test::utility::validateXmlMultipleLocations<true>, \
|
||||
xmlFileName, xmlFileLocations, xsdFilePath)
|
||||
|
||||
} // namespace utility
|
||||
|
||||
@@ -129,6 +129,7 @@ struct Libxml2Global {
|
||||
return ::testing::AssertionSuccess();
|
||||
}
|
||||
|
||||
template <bool atLeastOneRequired>
|
||||
::testing::AssertionResult validateXmlMultipleLocations(
|
||||
const char* xmlFileNameExpr, const char* xmlFileLocationsExpr, const char* xsdFilePathExpr,
|
||||
const char* xmlFileName, std::vector<const char*> xmlFileLocations, const char* xsdFilePath) {
|
||||
@@ -150,7 +151,7 @@ struct Libxml2Global {
|
||||
}
|
||||
}
|
||||
|
||||
if (foundFiles.empty()) {
|
||||
if (atLeastOneRequired && foundFiles.empty()) {
|
||||
errors.push_back("No xml file found in provided locations.\n");
|
||||
}
|
||||
|
||||
@@ -160,9 +161,20 @@ struct Libxml2Global {
|
||||
<< " While validating all: " << xmlFileNameExpr
|
||||
<< "\n Which is: " << xmlFileName
|
||||
<< "\n In the following folders: " << xmlFileLocationsExpr
|
||||
<< "\n Which is: " << ::testing::PrintToString(xmlFileLocations);
|
||||
<< "\n Which is: " << ::testing::PrintToString(xmlFileLocations)
|
||||
<< (atLeastOneRequired ? "Where at least one file must be found."
|
||||
: "Where no file might exist.");
|
||||
}
|
||||
|
||||
template ::testing::AssertionResult validateXmlMultipleLocations<true>(const char*, const char*,
|
||||
const char*, const char*,
|
||||
std::vector<const char*>,
|
||||
const char*);
|
||||
template ::testing::AssertionResult validateXmlMultipleLocations<false>(const char*, const char*,
|
||||
const char*, const char*,
|
||||
std::vector<const char*>,
|
||||
const char*);
|
||||
|
||||
} // namespace utility
|
||||
} // namespace test
|
||||
} // namespace common
|
||||
|
||||
@@ -27,6 +27,6 @@ TEST(CheckConfig, audioEffectsConfigurationValidation) {
|
||||
using namespace android::effectsConfig;
|
||||
|
||||
std::vector<const char*> locations(std::begin(DEFAULT_LOCATIONS), std::end(DEFAULT_LOCATIONS));
|
||||
EXPECT_ONE_VALID_XML_MULTIPLE_LOCATIONS(DEFAULT_NAME, locations,
|
||||
"/data/local/tmp/audio_effects_conf_V2_0.xsd");
|
||||
EXPECT_VALID_XML_MULTIPLE_LOCATIONS(DEFAULT_NAME, locations,
|
||||
"/data/local/tmp/audio_effects_conf_V2_0.xsd");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user