fate: add an option to generate the references
authorLuca Barbato <lu_zero@gentoo.org>
Mon, 18 Mar 2013 22:45:58 +0000 (23:45 +0100)
committerLuca Barbato <lu_zero@gentoo.org>
Fri, 29 Mar 2013 14:41:26 +0000 (15:41 +0100)
Useful to add or update fate tests.

doc/fate.texi
tests/Makefile
tests/fate-run.sh

index 975f40a..bc6ab3e 100644 (file)
@@ -85,6 +85,8 @@ by default @var{slice+frame}
 Specify a mask to be applied to autodetected CPU flags.
 @item TARGET_EXEC
 Specify or override the wrapper used to run the tests.
+@item GEN
+Set to @var{1} to generate the missing or mismatched references.
 @end table
 
 @example
index 4e4eb89..67ce45e 100644 (file)
@@ -118,7 +118,7 @@ fate: $(FATE)
 
 $(FATE): $(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)' '$(CPUFLAGS)' '$(CMP_SHIFT)' '$(CMP_TARGET)' '$(SIZE_TOLERANCE)' '$(CMP_UNIT)'
+       $(Q)$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' '$(THREADS)' '$(THREAD_TYPE)' '$(CPUFLAGS)' '$(CMP_SHIFT)' '$(CMP_TARGET)' '$(SIZE_TOLERANCE)' '$(CMP_UNIT)' '$(GEN)'
 
 fate-list:
        @printf '%s\n' $(sort $(FATE))
index d1633e8..70821bb 100755 (executable)
@@ -22,6 +22,7 @@ cmp_shift=${12:-0}
 cmp_target=${13:-0}
 size_tolerance=${14:-0}
 cmp_unit=${15:-2}
+gen=${16:-no}
 
 outdir="tests/data/fate"
 outfile="${outdir}/${test}"
@@ -189,5 +190,11 @@ fi
 
 echo "${test}:${sig:-$err}:$($base64 <$cmpfile):$($base64 <$errfile)" >$repfile
 
+if test $err != 0 && test $gen != "no" ; then
+    echo "GEN     $ref"
+    cp -f "$outfile" "$ref"
+    err=$?
+fi
+
 test $err = 0 && rm -f $outfile $errfile $cmpfile $cleanfiles
 exit $err