diff options
author | Måns Rullgård <mans@mansr.com> | 2010-07-20 10:19:28 +0000 |
---|---|---|
committer | Måns Rullgård <mans@mansr.com> | 2010-07-20 10:19:28 +0000 |
commit | 9a3f31efcbad0d42c340e35d7d679c7c4d32c229 (patch) | |
tree | 1531e317e34febbaf24b45e05c4010b098efe8c7 | |
parent | b9d5f1b7eda75be3476c5e3cdb80ac1599e79561 (diff) | |
download | ffmpeg-9a3f31efcbad0d42c340e35d7d679c7c4d32c229.tar.gz |
fate: allow running regtests through fate frontend
Originally committed as revision 24347 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | Makefile | 49 | ||||
-rwxr-xr-x | tests/fate-run.sh | 42 |
2 files changed, 81 insertions, 10 deletions
@@ -266,15 +266,52 @@ include $(SRC_PATH_BARE)/tests/fate2.mak FATE_TESTS += $(FATE2_TESTS) +FATE_ACODEC = $(ACODEC_TESTS:regtest-%=fate-acodec-%) +FATE_VSYNTH1 = $(VCODEC_TESTS:regtest-%=fate-vsynth1-%) +FATE_VSYNTH2 = $(VCODEC_TESTS:regtest-%=fate-vsynth2-%) +FATE_VCODEC = $(FATE_VSYNTH1) $(FATE_VSYNTH2) +FATE_LAVF = $(LAVF_TESTS:regtest-%=fate-lavf-%) +FATE_LAVFI = $(LAVFI_TESTS:regtest-%=fate-lavfi-%) +FATE_SEEK = $(SEEK_TESTS:seek_%=fate-seek-%) + +FATE = $(FATE_ACODEC) \ + $(FATE_VCODEC) \ + $(FATE_LAVF) \ + $(FATE_LAVFI) \ + $(FATE_SEEK) \ + +$(FATE_ACODEC): $(AREF) +$(FATE_VCODEC): $(VREF) +$(FATE_LAVF): $(REFS) +$(FATE_LAVFI): $(REFS) +$(FATE_SEEK): fate-codec fate-lavf tests/seek_test$(EXESUF) + +$(FATE_ACODEC): CMD = codectest acodec +$(FATE_VSYNTH1): CMD = codectest vsynth1 +$(FATE_VSYNTH2): CMD = codectest vsynth2 +$(FATE_LAVF): CMD = lavftest +$(FATE_LAVFI): CMD = lavfitest +$(FATE_SEEK): CMD = seektest + +fate-codec: fate-acodec fate-vcodec +fate-acodec: $(FATE_ACODEC) +fate-vcodec: $(FATE_VCODEC) +fate-lavf: $(FATE_LAVF) +fate-lavfi: $(FATE_LAVFI) +fate-seek: $(FATE_SEEK) + ifdef SAMPLES -fate: $(FATE_TESTS) -fate2: $(FATE2_TESTS) -$(FATE_TESTS): ffmpeg$(EXESUF) tests/tiny_psnr$(HOSTEXESUF) - @echo "TEST FATE $(@:fate-%=%)" - $(Q)$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' +FATE += $(FATE_TESTS) else -fate fate2 $(FATE_TESTS): +fate2 $(FATE_TESTS): @echo "SAMPLES not specified, cannot run FATE" endif +fate: $(FATE) +fate2: $(FATE2_TESTS) + +$(FATE): ffmpeg$(EXESUF) tests/tiny_psnr$(HOSTEXESUF) + @echo "TEST FATE $(@:fate-%=%)" + $(Q)$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' + .PHONY: documentation *test regtest-* alltools check config diff --git a/tests/fate-run.sh b/tests/fate-run.sh index 0bbb530918..4112e1a76c 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -59,15 +59,49 @@ pcm(){ ffmpeg "$@" -vn -f s16le - } -if ! test -e "$ref"; then - echo "reference file '$ref' not found" - exit 1 -fi +regtest(){ + t="${test#$2-}" + ref=${base}/ref/$2/$t + outfile=tests/data/regression/$2/$t + ${base}/${1}-regression.sh $t $2 $3 "$target_exec" "$target_path" +} + +codectest(){ + regtest codec $1 tests/$1 +} + +lavftest(){ + regtest lavf lavf tests/vsynth1 +} + +lavfitest(){ + regtest lavfi lavfi tests/vsynth1 +} + +seektest(){ + t="${test#seek-}" + ref=${base}/ref/seek/$t + case $t in + image_*) file="tests/data/images/${t#image_}/%02d.${t#image_}" ;; + *) file=$(echo $t | tr _ '?') + for d in acodec vsynth2 lavf; do + test -f tests/data/$d/$file && break + done + file=$(echo tests/data/$d/$file) + ;; + esac + $target_exec $target_path/tests/seek_test $target_path/$file +} mkdir -p "$outdir" $command > "$outfile" 2>/dev/null || exit +if ! test -e "$ref"; then + echo "reference file '$ref' not found" + exit 1 +fi + case $cmp in diff) diff -u -w "$ref" "$outfile" ;; oneoff) oneoff "$ref" "$outfile" "$fuzz" ;; |