diff --git a/Makefile b/Makefile index efb714f6c0..4752649d6f 100644 --- a/Makefile +++ b/Makefile @@ -279,7 +279,7 @@ include $(SRC_PATH_BARE)/tests/fate.mak ifdef SAMPLES fate: $(FATE_TESTS) -$(FATE_TESTS): ffmpeg$(EXESUF) +$(FATE_TESTS): ffmpeg$(EXESUF) tests/tiny_psnr$(HOSTEXESUF) @echo "TEST FATE $(@:fate-%=%)" @$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' else diff --git a/tests/fate-run.sh b/tests/fate-run.sh index 39f42ffcc3..7dce9b030e 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -15,10 +15,20 @@ fuzz=$8 outdir="tests/data/fate" outfile="${outdir}/${test}" +oneoff(){ + psnr=$(tests/tiny_psnr "$1" "$2" 2 0 0) + max=$(expr "$psnr" : '.*MAXDIFF: *\([0-9]*\)') + if [ $max -gt ${3:-1} ]; then + echo "$psnr" + return 1 + fi +} + mkdir -p "$outdir" eval $target_exec $command > "$outfile" 2>/dev/null case $cmp in diff) diff -u -w "$ref" "$outfile" ;; + oneoff) oneoff "$ref" "$outfile" "$fuzz" ;; esac