* commit '35d1f726eb9fdd376ab900587fb02122b72f2b9a': fate: Add --ignore-tests configure option for omitting specific FATE tests Merged-by: Clément Bœsch <cboesch@gopro.com>tags/n3.4
| @@ -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=" | |||||
| 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 | |||||
| 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} | |||||
| 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 | |||||
| #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 | |||||
| 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} | |||||
| 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 | |||||
| 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()( | |||||
| --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"} \ | ||||