From 018f39ef496c768f7cd580a96ae971e03c78205e Mon Sep 17 00:00:00 2001
From: Anton Khirnov <anton@khirnov.net>
Date: Mon, 5 Mar 2012 08:05:56 +0100
Subject: [PATCH] FATE: add CPUFLAGS variable, mapping to -cpuflags avconv
 option.

---
 doc/fate.texi             | 4 +++-
 tests/Makefile            | 2 +-
 tests/fate-run.sh         | 5 +++--
 tests/regression-funcs.sh | 3 ++-
 4 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/doc/fate.texi b/doc/fate.texi
index b4f520fef9c..c1011e73f88 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 6fed995e0a3..5c65237b440 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 07cfe74ba75..a1503aecbd4 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 3306f399416..3889129009e 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"
-- 
GitLab