summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/fate.texi2
-rw-r--r--tests/Makefile2
-rwxr-xr-xtests/fate-run.sh7
3 files changed, 10 insertions, 1 deletions
diff --git a/doc/fate.texi b/doc/fate.texi
index 4c2ba4da16..1512853c3a 100644
--- a/doc/fate.texi
+++ b/doc/fate.texi
@@ -185,6 +185,8 @@ the synchronisation of the samples directory.
The @var{TARGET_EXEC} option provides a way to run FATE wrapped in
@command{valgrind}, @command{qemu-user} or @command{wine} or on remote targets
through @command{ssh}.
+@item GEN
+Set to @var{1} to generate the missing or mismatched references.
@end table
@section Examples
diff --git a/tests/Makefile b/tests/Makefile
index 0f911e1b66..802f350d2c 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -155,7 +155,7 @@ fate:: $(FATE)
$(FATE) $(FATE_TESTS-no): $(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))
diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index 0520d62f7d..14896e5efc 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -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}"
@@ -197,6 +198,12 @@ 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
+
if test $err = 0; then
rm -f $outfile $errfile $cmpfile $cleanfiles
else