Commit f5218b27 authored by Clément Bœsch's avatar Clément Bœsch

Merge commit '35d1f726'

* commit '35d1f726':
  fate: Add --ignore-tests configure option for omitting specific FATE tests
Merged-by: 's avatarClément Bœsch <cboesch@gopro.com>
parents a5fdda79 35d1f726
...@@ -440,6 +440,8 @@ Developer options (useful when working on FFmpeg itself): ...@@ -440,6 +440,8 @@ Developer options (useful when working on FFmpeg itself):
(only applies to --disable-optimizations builds) (only applies to --disable-optimizations builds)
--enable-osfuzz Enable building fuzzer tool --enable-osfuzz Enable building fuzzer tool
--libfuzzer=PATH path to libfuzzer --libfuzzer=PATH path to libfuzzer
--ignore-tests=TESTS comma-separated list (without "fate-" prefix
in the name) of tests whose result is ignored
NOTE: Object files are built at the place where configure is launched. NOTE: Object files are built at the place where configure is launched.
EOF EOF
...@@ -2209,6 +2211,7 @@ CMDLINE_SET=" ...@@ -2209,6 +2211,7 @@ CMDLINE_SET="
host_ld host_ld
host_ldflags host_ldflags
host_os host_os
ignore_tests
install install
ld ld
ln_s ln_s
...@@ -6617,6 +6620,13 @@ for type in decoder encoder hwaccel parser demuxer muxer protocol filter bsf ind ...@@ -6617,6 +6620,13 @@ for type in decoder encoder hwaccel parser demuxer muxer protocol filter bsf ind
echo echo
done done
if test -n "$ignore_tests"; then
ignore_tests=$(echo $ignore_tests | tr ',' ' ')
echo "Ignored FATE tests:"
echo $ignore_tests | print_in_columns
echo
fi
echo "License: $license" echo "License: $license"
echo "Creating configuration files ..." echo "Creating configuration files ..."
...@@ -6754,6 +6764,7 @@ VERSION_SCRIPT_POSTPROCESS_CMD=${VERSION_SCRIPT_POSTPROCESS_CMD} ...@@ -6754,6 +6764,7 @@ VERSION_SCRIPT_POSTPROCESS_CMD=${VERSION_SCRIPT_POSTPROCESS_CMD}
SAMPLES:=${samples:-\$(FATE_SAMPLES)} SAMPLES:=${samples:-\$(FATE_SAMPLES)}
NOREDZONE_FLAGS=$noredzone_flags NOREDZONE_FLAGS=$noredzone_flags
LIBFUZZER_PATH=$libfuzzer_path LIBFUZZER_PATH=$libfuzzer_path
IGNORE_TESTS=$ignore_tests
EOF EOF
map 'eval echo "${v}_FFLIBS=\$${v}_deps" >> ffbuild/config.mak' $LIBRARY_LIST map 'eval echo "${v}_FFLIBS=\$${v}_deps" >> ffbuild/config.mak' $LIBRARY_LIST
......
...@@ -6,6 +6,7 @@ workdir= # directory in which to do all the work ...@@ -6,6 +6,7 @@ workdir= # directory in which to do all the work
#fate_recv="ssh -T fate@fate.ffmpeg.org" # command to submit report #fate_recv="ssh -T fate@fate.ffmpeg.org" # command to submit report
comment= # optional description comment= # optional description
build_only= # set to "yes" for a compile-only instance that skips tests build_only= # set to "yes" for a compile-only instance that skips tests
ignore_tests=
# the following are optional and map to configure options # the following are optional and map to configure options
arch= arch=
......
...@@ -212,12 +212,14 @@ FATE_UTILS = base64 tiny_psnr tiny_ssim audiomatch ...@@ -212,12 +212,14 @@ FATE_UTILS = base64 tiny_psnr tiny_ssim audiomatch
TOOL = ffmpeg TOOL = ffmpeg
$(addprefix fate-, $(IGNORE_TESTS)): REPORT=ignore
fate:: $(FATE) fate:: $(FATE)
$(FATE) $(FATE_TESTS-no): export PROGSUF = $(PROGSSUF) $(FATE) $(FATE_TESTS-no): export PROGSUF = $(PROGSSUF)
$(FATE) $(FATE_TESTS-no): $(FATE_UTILS:%=tests/%$(HOSTEXESUF)) $(FATE) $(FATE_TESTS-no): $(FATE_UTILS:%=tests/%$(HOSTEXESUF))
@echo "TEST $(@:fate-%=%)" @echo "TEST $(@:fate-%=%)"
$(Q)$(SRC_PATH)/tests/fate-run.sh $@ "$(TARGET_SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' '$(THREADS)' '$(THREAD_TYPE)' '$(CPUFLAGS)' '$(CMP_SHIFT)' '$(CMP_TARGET)' '$(SIZE_TOLERANCE)' '$(CMP_UNIT)' '$(GEN)' '$(HWACCEL)' $(Q)$(SRC_PATH)/tests/fate-run.sh $@ "$(TARGET_SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' '$(THREADS)' '$(THREAD_TYPE)' '$(CPUFLAGS)' '$(CMP_SHIFT)' '$(CMP_TARGET)' '$(SIZE_TOLERANCE)' '$(CMP_UNIT)' '$(GEN)' '$(HWACCEL)' '$(REPORT)'
fate-list: fate-list:
@printf '%s\n' $(sort $(FATE)) @printf '%s\n' $(sort $(FATE))
......
...@@ -24,6 +24,7 @@ size_tolerance=${14:-0} ...@@ -24,6 +24,7 @@ size_tolerance=${14:-0}
cmp_unit=${15:-2} cmp_unit=${15:-2}
gen=${16:-no} gen=${16:-no}
hwaccel=${17:-none} hwaccel=${17:-none}
report_type=${18:-standard}
outdir="tests/data/fate" outdir="tests/data/fate"
outfile="${outdir}/${test}" outfile="${outdir}/${test}"
...@@ -362,13 +363,17 @@ if test -e "$ref" || test $cmp = "oneline" || test $cmp = "grep" ; then ...@@ -362,13 +363,17 @@ if test -e "$ref" || test $cmp = "oneline" || test $cmp = "grep" ; then
esac esac
cmperr=$? cmperr=$?
test $err = 0 && err=$cmperr test $err = 0 && err=$cmperr
test $err = 0 || cat $cmpfile if [ "$report_type" = "ignore" ]; then
test $err = 0 || echo "IGNORE fate-${test}" && err=0
else
test $err = 0 || cat $cmpfile
fi
else else
echo "reference file '$ref' not found" echo "reference file '$ref' not found"
err=1 err=1
fi fi
if [ $err -eq 0 ]; then if [ $err -eq 0 ] && test $report_type = "standard" ; then
unset cmpo erro unset cmpo erro
else else
cmpo="$($base64 <$cmpfile)" cmpo="$($base64 <$cmpfile)"
......
...@@ -49,6 +49,7 @@ configure()( ...@@ -49,6 +49,7 @@ configure()(
--enable-gpl \ --enable-gpl \
--enable-memory-poisoning \ --enable-memory-poisoning \
--enable-avresample \ --enable-avresample \
${ignore_tests:+--ignore-tests="$ignore_tests"} \
${arch:+--arch=$arch} \ ${arch:+--arch=$arch} \
${cpu:+--cpu="$cpu"} \ ${cpu:+--cpu="$cpu"} \
${toolchain:+--toolchain="$toolchain"} \ ${toolchain:+--toolchain="$toolchain"} \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment