Hi,

On 2016-10-24 14:59:21 +0200, Diego Biurrun wrote:
> This can be useful to filter out noise in known-broken scenarios like
> miscompilation by legacy compilers and similar.

following patch would actually ignore the results instead of skipping
the tests. I think that's preferable. There are still further changes
needed to report ignored tests unobtrusively in the fate backend.

Janne
---8<---
---
 configure         |  6 +++---
 tests/Makefile    | 10 ++++++++--
 tests/fate-run.sh |  8 ++++++--
 3 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/configure b/configure
index ff7c986f0c..bd31cb98a0 100755
--- a/configure
+++ b/configure
@@ -348,9 +348,8 @@ Developer options (useful when working on Libav itself):
   --random-seed=VALUE      seed value for --enable/disable-random
   --disable-valgrind-backtrace do not print a backtrace under Valgrind
                            (only applies to --disable-optimizations builds)
-  --ignore-tests=TESTS     whitespace-separated list (without "fate-" prefix
-                           in the name) of tests not to run as part of the
-                           fate target
+  --ignore-tests=TESTS     comma-separated list (without "fate-" prefix
+                           in the name) of tests which result is ignored
 
 NOTE: Object files are built at the place where configure is launched.
 EOF
@@ -5217,6 +5216,7 @@ for type in decoder encoder hwaccel parser demuxer muxer 
protocol filter bsf ind
 done
 
 if test -n "$ignore_tests"; then
+    ignore_tests=$(echo $ignore_tests | tr ',' ' ')
     echo "Ignored FATE tests:"
     echo $ignore_tests | print_3_columns
     echo
diff --git a/tests/Makefile b/tests/Makefile
index 4fb05a91f0..214a12648c 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -143,11 +143,17 @@ endif
 
 FATE_UTILS = base64 tiny_psnr
 
-fate: $(filter-out $(addprefix fate-,$(IGNORE_TESTS)),$(FATE))
+define FATE_IGNORE
+fate-$(1): REPORT=ignore
+endef
+
+$(foreach I,$(IGNORE_TESTS),$(eval $(call FATE_IGNORE,$(I))))
+
+fate: $(FATE)
 
 $(FATE): $(FATE_UTILS:%=tests/%$(HOSTEXESUF))
        @echo "TEST    $(@:fate-%=%)"
-       $(Q)$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" 
"$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' '$(THREADS)' 
'$(THREAD_TYPE)' '$(CPUFLAGS)' '$(CMP_SHIFT)' '$(CMP_TARGET)' 
'$(SIZE_TOLERANCE)' '$(CMP_UNIT)' '$(GEN)' '$(HWACCEL)'
+       $(Q)$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" 
"$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' '$(THREADS)' 
'$(THREAD_TYPE)' '$(CPUFLAGS)' '$(CMP_SHIFT)' '$(CMP_TARGET)' 
'$(SIZE_TOLERANCE)' '$(CMP_UNIT)' '$(GEN)' '$(HWACCEL)' '$(REPORT)'
 
 fate-list:
        @printf '%s\n' $(sort $(FATE))
diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index b1b299a055..04cc12ff29 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -24,6 +24,7 @@ size_tolerance=${14:-0}
 cmp_unit=${15:-2}
 gen=${16:-no}
 hwaccel=${17:-none}
+report_type=${18:-standard}
 
 outdir="tests/data/fate"
 outfile="${outdir}/${test}"
@@ -212,13 +213,16 @@ if test -e "$ref" || test $cmp = "oneline" ; then
     esac
     cmperr=$?
     test $err = 0 && err=$cmperr
-    test $err = 0 || cat $cmpfile
+    case $report_type in
+        ignore) test $err = 0 || echo "ignoring fate-${test}" && err=0 ;;
+        *)      test $err = 0 || cat $cmpfile ;;
+    esac
 else
     echo "reference file '$ref' not found"
     err=1
 fi
 
-if [ $err -eq 0 ]; then
+if [ $err -eq 0 ] && test $report_type = "standard" ; then
     unset cmpo erro
 else
     cmpo="$($base64 <$cmpfile)"
-- 
2.11.0.rc2

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to