diff options
author | Diego Biurrun <diego@biurrun.de> | 2018-02-15 13:26:20 +0100 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2018-02-26 13:30:05 +0100 |
commit | e2399e0c1aeb110456405d23e211066fab6cb041 (patch) | |
tree | 73bd7b578c9137776c5bd8e0403416063b2273e8 | |
parent | dc40e64adb1712b1209c018914a44f809bc32664 (diff) | |
download | ffmpeg-e2399e0c1aeb110456405d23e211066fab6cb041.tar.gz |
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.
-rwxr-xr-x | tests/fate.sh | 60 |
1 files changed, 34 insertions, 26 deletions
diff --git a/tests/fate.sh b/tests/fate.sh index c93e20a464..033e7bf5e9 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} |