Module: libav
Branch: master
Commit: e2399e0c1aeb110456405d23e211066fab6cb041

Author:    Diego Biurrun <di...@biurrun.de>
Committer: Diego Biurrun <di...@biurrun.de>
Date:      Thu Feb 15 13:26:20 2018 +0100

fate: Error out more gracefully on configure failure

If configure fails before config.fate is generated, the report file misses
some values and gets discarded by the FATE server. In these cases, print
those values as "failed" along with the failing configure command line.

---

 tests/fate.sh | 60 +++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 34 insertions(+), 26 deletions(-)

diff --git a/tests/fate.sh b/tests/fate.sh
index c93e20a..033e7bf 100755
--- a/tests/fate.sh
+++ b/tests/fate.sh
@@ -21,6 +21,33 @@ test -d "$samples" || die "samples location not specified"
 
 : ${branch:=master}
 
+src=${workdir}/src
+: ${build:=${workdir}/build}
+: ${inst:=${workdir}/install}
+
+configuration='
+    --enable-gpl
+    --prefix="${inst}"
+    --samples="${samples}"
+    ${ignore_tests:+--ignore-tests="$ignore_tests"}
+    ${arch:+--arch="$arch"}
+    ${cpu:+--cpu="$cpu"}
+    ${toolchain:+--toolchain="$toolchain"}
+    ${cross_prefix:+--cross-prefix="$cross_prefix"}
+    ${as:+--as="$as"}
+    ${cc:+--cc="$cc"}
+    ${ld:+--ld="$ld"}
+    ${target_os:+--target-os="$target_os"}
+    ${sysroot:+--sysroot="$sysroot"}
+    ${target_exec:+--target-exec="$target_exec"}
+    ${target_path:+--target-path="$target_path"}
+    ${target_samples:+--target-samples="$target_samples"}
+    ${extra_cflags:+--extra-cflags="$extra_cflags"}
+    ${extra_ldflags:+--extra-ldflags="$extra_ldflags"}
+    ${extra_libs:+--extra-libs="$extra_libs"}
+    ${extra_conf}
+'
+
 lock(){
     lock=$1/fate.lock
     (set -C; exec >$lock) 2>/dev/null || return
@@ -43,27 +70,7 @@ update()(
 
 configure()(
     cd ${build} || return
-    ${src}/configure                                                    \
-        --prefix="${inst}"                                              \
-        --samples="${samples}"                                          \
-        --enable-gpl                                                    \
-        ${ignore_tests:+--ignore-tests="$ignore_tests"}                 \
-        ${arch:+--arch=$arch}                                           \
-        ${cpu:+--cpu="$cpu"}                                            \
-        ${toolchain:+--toolchain="$toolchain"}                          \
-        ${cross_prefix:+--cross-prefix="$cross_prefix"}                 \
-        ${as:+--as="$as"}                                               \
-        ${cc:+--cc="$cc"}                                               \
-        ${ld:+--ld="$ld"}                                               \
-        ${target_os:+--target-os="$target_os"}                          \
-        ${sysroot:+--sysroot="$sysroot"}                                \
-        ${target_exec:+--target-exec="$target_exec"}                    \
-        ${target_path:+--target-path="$target_path"}                    \
-        ${target_samples:+--target-samples="$target_samples"}           \
-        ${extra_cflags:+--extra-cflags="$extra_cflags"}                 \
-        ${extra_ldflags:+--extra-ldflags="$extra_ldflags"}              \
-        ${extra_libs:+--extra-libs="$extra_libs"}                       \
-        ${extra_conf}
+    eval ${src}/configure ${configuration}
 )
 
 compile()(
@@ -84,7 +91,12 @@ clean(){
 report(){
     date=$(date -u +%Y%m%d%H%M%S)
     echo "fate:1:${date}:${slot}:${version}:$1:$2:${branch}:${comment}" >report
-    cat ${build}/avbuild/config.fate ${build}/tests/data/fate/*.rep >> report 
2> /dev/null
+    if test -e ${build}/avbuild/config.fate; then
+        cat ${build}/avbuild/config.fate >> report 2> /dev/null
+    else
+        eval echo config:failed:failed:failed:failed:failed:${configuration} 
>> report 2> /dev/null
+    fi
+    cat ${build}/tests/data/fate/*.rep >> report 2> /dev/null
     test -n "$fate_recv" && $tar report *.log | gzip | $fate_recv
 }
 
@@ -98,10 +110,6 @@ mkdir -p ${workdir} || die "Error creating ${workdir}"
 lock ${workdir}     || die "${workdir} locked"
 cd ${workdir}       || die "cd ${workdir} failed"
 
-src=${workdir}/src
-: ${build:=${workdir}/build}
-: ${inst:=${workdir}/install}
-
 test -d "$src" && update || checkout || die "Error fetching source"
 
 cd ${workdir}

_______________________________________________
libav-commits mailing list
libav-commits@libav.org
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to