diff options
Diffstat (limited to 'third_party/aom/test/test_libaom.cc')
-rw-r--r-- | third_party/aom/test/test_libaom.cc | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/third_party/aom/test/test_libaom.cc b/third_party/aom/test/test_libaom.cc index 6d83ce66e..b55d76237 100644 --- a/third_party/aom/test/test_libaom.cc +++ b/third_party/aom/test/test_libaom.cc @@ -7,20 +7,21 @@ * obtain it at www.aomedia.org/license/software. If the Alliance for Open * Media Patent License 1.0 was not distributed with this source code in the * PATENTS file, you can obtain it at www.aomedia.org/license/patent. -*/ + */ + +#include <string.h> #include <string> #include "third_party/googletest/src/googletest/include/gtest/gtest.h" -#include "./aom_config.h" +#include "config/aom_config.h" + #if ARCH_X86 || ARCH_X86_64 #include "aom_ports/x86.h" #endif extern "C" { -#if CONFIG_AV1 extern void av1_rtcd(); -#endif // CONFIG_AV1 extern void aom_dsp_rtcd(); extern void aom_scale_rtcd(); } @@ -30,7 +31,17 @@ static void append_negative_gtest_filter(const char *str) { std::string filter = ::testing::FLAGS_gtest_filter; // Negative patterns begin with one '-' followed by a ':' separated list. if (filter.find('-') == std::string::npos) filter += '-'; - filter += str; + // OPT.* matches TEST() functions + // OPT/* matches TEST_P() functions + // OPT_* matches tests which have been manually sharded. + // We do not match OPT* because of SSE/SSE2 collisions. + const char *search_terminators = "./_"; + for (size_t pos = 0; pos < strlen(search_terminators); ++pos) { + filter += ":"; + filter += str; + filter += search_terminators[pos]; + filter += "*"; + } ::testing::FLAGS_gtest_filter = filter; } #endif // ARCH_X86 || ARCH_X86_64 @@ -40,25 +51,21 @@ int main(int argc, char **argv) { #if ARCH_X86 || ARCH_X86_64 const int simd_caps = x86_simd_caps(); - if (!(simd_caps & HAS_MMX)) append_negative_gtest_filter(":MMX.*:MMX/*"); - if (!(simd_caps & HAS_SSE)) append_negative_gtest_filter(":SSE.*:SSE/*"); - if (!(simd_caps & HAS_SSE2)) append_negative_gtest_filter(":SSE2.*:SSE2/*"); - if (!(simd_caps & HAS_SSE3)) append_negative_gtest_filter(":SSE3.*:SSE3/*"); - if (!(simd_caps & HAS_SSSE3)) - append_negative_gtest_filter(":SSSE3.*:SSSE3/*"); - if (!(simd_caps & HAS_SSE4_1)) - append_negative_gtest_filter(":SSE4_1.*:SSE4_1/*"); - if (!(simd_caps & HAS_AVX)) append_negative_gtest_filter(":AVX.*:AVX/*"); - if (!(simd_caps & HAS_AVX2)) append_negative_gtest_filter(":AVX2.*:AVX2/*"); + if (!(simd_caps & HAS_MMX)) append_negative_gtest_filter("MMX"); + if (!(simd_caps & HAS_SSE)) append_negative_gtest_filter("SSE"); + if (!(simd_caps & HAS_SSE2)) append_negative_gtest_filter("SSE2"); + if (!(simd_caps & HAS_SSE3)) append_negative_gtest_filter("SSE3"); + if (!(simd_caps & HAS_SSSE3)) append_negative_gtest_filter("SSSE3"); + if (!(simd_caps & HAS_SSE4_1)) append_negative_gtest_filter("SSE4_1"); + if (!(simd_caps & HAS_SSE4_2)) append_negative_gtest_filter("SSE4_2"); + if (!(simd_caps & HAS_AVX)) append_negative_gtest_filter("AVX"); + if (!(simd_caps & HAS_AVX2)) append_negative_gtest_filter("AVX2"); #endif // ARCH_X86 || ARCH_X86_64 +// Shared library builds don't support whitebox tests that exercise internal +// symbols. #if !CONFIG_SHARED -// Shared library builds don't support whitebox tests -// that exercise internal symbols. - -#if CONFIG_AV1 av1_rtcd(); -#endif // CONFIG_AV1 aom_dsp_rtcd(); aom_scale_rtcd(); #endif // !CONFIG_SHARED |