Merge commit '35d1f726eb9fdd376ab900587fb02122b72f2b9a'
authorClément Bœsch <cboesch@gopro.com>
Fri, 5 May 2017 07:19:41 +0000 (09:19 +0200)
committerClément Bœsch <cboesch@gopro.com>
Fri, 5 May 2017 07:27:18 +0000 (09:27 +0200)
* commit '35d1f726eb9fdd376ab900587fb02122b72f2b9a':
  fate: Add --ignore-tests configure option for omitting specific FATE tests

Merged-by: Clément Bœsch <cboesch@gopro.com>
1  2 
configure
doc/fate_config.sh.template
tests/Makefile
tests/fate-run.sh
tests/fate.sh

diff --cc configure
+++ b/configure
@@@ -438,8 -348,8 +438,10 @@@ Developer options (useful when working 
    --random-seed=VALUE      seed value for --enable/disable-random
    --disable-valgrind-backtrace do not print a backtrace under Valgrind
                             (only applies to --disable-optimizations builds)
 +  --enable-osfuzz          Enable building fuzzer tool
 +  --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.
  EOF
@@@ -2209,9 -1817,8 +2211,10 @@@ CMDLINE_SET=
      host_ld
      host_ldflags
      host_os
+     ignore_tests
 +    install
      ld
 +    ln_s
      logfile
      malloc_prefix
      nm
@@@ -6617,6 -5195,24 +6620,13 @@@ for type in decoder encoder hwaccel par
      echo
  done
  
 -    echo $ignore_tests | print_3_columns
+ if test -n "$ignore_tests"; then
+     ignore_tests=$(echo $ignore_tests | tr ',' ' ')
+     echo "Ignored FATE tests:"
 -license="LGPL version 2.1 or later"
 -if enabled nonfree; then
 -    license="nonfree and unredistributable"
 -elif enabled gplv3; then
 -    license="GPL version 3 or later"
 -elif enabled lgplv3; then
 -    license="LGPL version 3 or later"
 -elif enabled gpl; then
 -    license="GPL version 2 or later"
 -fi
 -
++    echo $ignore_tests | print_in_columns
+     echo
+ fi
  echo "License: $license"
  
  echo "Creating configuration files ..."
@@@ -6751,12 -5325,11 +6761,13 @@@ SLIB_INSTALL_LINKS=${SLIB_INSTALL_LINKS
  SLIB_INSTALL_EXTRA_LIB=${SLIB_INSTALL_EXTRA_LIB}
  SLIB_INSTALL_EXTRA_SHLIB=${SLIB_INSTALL_EXTRA_SHLIB}
  VERSION_SCRIPT_POSTPROCESS_CMD=${VERSION_SCRIPT_POSTPROCESS_CMD}
 -SAMPLES:=${samples:-\$(LIBAV_SAMPLES)}
 +SAMPLES:=${samples:-\$(FATE_SAMPLES)}
 +NOREDZONE_FLAGS=$noredzone_flags
 +LIBFUZZER_PATH=$libfuzzer_path
+ IGNORE_TESTS=$ignore_tests
  EOF
  
 -map 'eval echo "${v}_FFLIBS=\$${v}_deps" >> avbuild/config.mak' $LIBRARY_LIST
 +map 'eval echo "${v}_FFLIBS=\$${v}_deps" >> ffbuild/config.mak' $LIBRARY_LIST
  
  print_program_extralibs(){
      eval "program_extralibs=\$${1}_extralibs"
index 56acb26,0000000..ab1bda4
mode 100644,000000..100644
--- /dev/null
@@@ -1,32 -1,0 +1,33 @@@
 +slot=                                    # some unique identifier
 +repo=git://source.ffmpeg.org/ffmpeg.git  # the source repository
 +#branch=release/2.6                       # the branch to test
 +samples=                                 # path to samples directory
 +workdir=                                 # directory in which to do all the work
 +#fate_recv="ssh -T fate@fate.ffmpeg.org" # command to submit report
 +comment=                                 # optional description
 +build_only=     # set to "yes" for a compile-only instance that skips tests
++ignore_tests=
 +
 +# the following are optional and map to configure options
 +arch=
 +cpu=
 +cross_prefix=
 +as=
 +cc=
 +ld=
 +target_os=
 +sysroot=
 +target_exec=
 +target_path=
 +target_samples=
 +extra_cflags=
 +extra_ldflags=
 +extra_libs=
 +extra_conf=     # extra configure options not covered above
 +
 +#make=          # name of GNU make if not 'make'
 +makeopts=       # extra options passed to 'make'
 +#makeopts_fate= # extra options passed to 'make' when running tests,
 +                # defaulting to makeopts above if this is not set
 +#tar=           # command to create a tar archive from its arguments on stdout,
 +                # defaults to 'tar c'
diff --cc tests/Makefile
@@@ -208,16 -141,15 +208,18 @@@ $(FATE_EXTERN)
        @echo "$@ requires external samples and SAMPLES not specified"; false
  endif
  
 -FATE_UTILS = base64 tiny_psnr
 +FATE_UTILS = base64 tiny_psnr tiny_ssim audiomatch
 +
 +TOOL = ffmpeg
  
 -fate: $(FATE)
+ $(addprefix fate-, $(IGNORE_TESTS)): REPORT=ignore
 +fate:: $(FATE)
  
 -$(FATE): $(FATE_UTILS:%=tests/%$(HOSTEXESUF))
 +$(FATE) $(FATE_TESTS-no): export PROGSUF = $(PROGSSUF)
 +$(FATE) $(FATE_TESTS-no): $(FATE_UTILS:%=tests/%$(HOSTEXESUF))
        @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 $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' '$(THREADS)' '$(THREAD_TYPE)' '$(CPUFLAGS)' '$(CMP_SHIFT)' '$(CMP_TARGET)' '$(SIZE_TOLERANCE)' '$(CMP_UNIT)' '$(GEN)' '$(HWACCEL)' '$(REPORT)'
++      $(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:
        @printf '%s\n' $(sort $(FATE))
Simple merge
diff --cc tests/fate.sh
@@@ -47,8 -47,7 +47,9 @@@ configure()
          --prefix="${inst}"                                              \
          --samples="${samples}"                                          \
          --enable-gpl                                                    \
 +        --enable-memory-poisoning                                       \
 +        --enable-avresample                                             \
+         ${ignore_tests:+--ignore-tests="$ignore_tests"}                 \
          ${arch:+--arch=$arch}                                           \
          ${cpu:+--cpu="$cpu"}                                            \
          ${toolchain:+--toolchain="$toolchain"}                          \