diff --git a/doc/fate.texi b/doc/fate.texi index b4f520fef9..c1011e73f8 100644 --- a/doc/fate.texi +++ b/doc/fate.texi @@ -75,10 +75,12 @@ meaning only while running the regression tests. @item THREADS Specify how many threads to use while running regression tests, it is quite useful to detect thread-related regressions. +@item CPUFLAGS +Specify a mask to be applied to autodetected CPU flags. @end table @example - make V=1 SAMPLES=/var/fate/samples THREADS=2 fate + make V=1 SAMPLES=/var/fate/samples THREADS=2 CPUFLAGS=mmx fate @end example @chapter Automated Tests diff --git a/tests/Makefile b/tests/Makefile index 6fed995e0a..5c65237b44 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -116,7 +116,7 @@ fate: $(FATE) $(FATE): avconv$(EXESUF) $(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)' + $(Q)$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' '$(THREADS)' '$(THREAD_TYPE)' '$(CPUFLAGS)' fate-list: @printf '%s\n' $(sort $(FATE)) diff --git a/tests/fate-run.sh b/tests/fate-run.sh index 07cfe74ba7..a1503aecbd 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -17,6 +17,7 @@ ref=${7:-"${base}/ref/fate/${test}"} fuzz=$8 threads=${9:-1} thread_type=${10:-frame+slice} +cpuflags=${11:-all} outdir="tests/data/fate" outfile="${outdir}/${test}" @@ -50,7 +51,7 @@ run(){ } avconv(){ - run avconv -nostats -threads $threads -thread_type $thread_type "$@" + run avconv -nostats -threads $threads -thread_type $thread_type -cpuflags $cpuflags "$@" } framecrc(){ @@ -76,7 +77,7 @@ pcm(){ regtest(){ t="${test#$2-}" ref=${base}/ref/$2/$t - ${base}/${1}-regression.sh $t $2 $3 "$target_exec" "$target_path" "$threads" "$thread_type" + ${base}/${1}-regression.sh $t $2 $3 "$target_exec" "$target_path" "$threads" "$thread_type" "$cpuflags" } codectest(){ diff --git a/tests/regression-funcs.sh b/tests/regression-funcs.sh index 3306f39941..3889129009 100755 --- a/tests/regression-funcs.sh +++ b/tests/regression-funcs.sh @@ -10,6 +10,7 @@ raw_src_dir=$3 target_exec=$4 target_path=$5 threads=${6:-1} +cpuflags=${8:-all} datadir="./tests/data" target_datadir="${target_path}/${datadir}" @@ -43,7 +44,7 @@ echov(){ . $(dirname $0)/md5.sh -AVCONV_OPTS="-nostats -y" +AVCONV_OPTS="-nostats -y -cpuflags $cpuflags" COMMON_OPTS="-flags +bitexact -idct simple -sws_flags +accurate_rnd+bitexact" DEC_OPTS="$COMMON_OPTS -threads $threads" ENC_OPTS="$COMMON_OPTS -threads 1 -dct fastint"