You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
fate: allow running regtests through fate frontend
Originally committed as revision 24347 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
49
Makefile
49
Makefile
@@ -266,15 +266,52 @@ include $(SRC_PATH_BARE)/tests/fate2.mak
|
|||||||
|
|
||||||
FATE_TESTS += $(FATE2_TESTS)
|
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
|
ifdef SAMPLES
|
||||||
fate: $(FATE_TESTS)
|
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)'
|
|
||||||
else
|
else
|
||||||
fate fate2 $(FATE_TESTS):
|
fate2 $(FATE_TESTS):
|
||||||
@echo "SAMPLES not specified, cannot run FATE"
|
@echo "SAMPLES not specified, cannot run FATE"
|
||||||
endif
|
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
|
.PHONY: documentation *test regtest-* alltools check config
|
||||||
|
@@ -59,15 +59,49 @@ pcm(){
|
|||||||
ffmpeg "$@" -vn -f s16le -
|
ffmpeg "$@" -vn -f s16le -
|
||||||
}
|
}
|
||||||
|
|
||||||
if ! test -e "$ref"; then
|
regtest(){
|
||||||
echo "reference file '$ref' not found"
|
t="${test#$2-}"
|
||||||
exit 1
|
ref=${base}/ref/$2/$t
|
||||||
fi
|
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"
|
mkdir -p "$outdir"
|
||||||
|
|
||||||
$command > "$outfile" 2>/dev/null || exit
|
$command > "$outfile" 2>/dev/null || exit
|
||||||
|
|
||||||
|
if ! test -e "$ref"; then
|
||||||
|
echo "reference file '$ref' not found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
case $cmp in
|
case $cmp in
|
||||||
diff) diff -u -w "$ref" "$outfile" ;;
|
diff) diff -u -w "$ref" "$outfile" ;;
|
||||||
oneoff) oneoff "$ref" "$outfile" "$fuzz" ;;
|
oneoff) oneoff "$ref" "$outfile" "$fuzz" ;;
|
||||||
|
Reference in New Issue
Block a user