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 /tests | |
parent | dc40e64adb1712b1209c018914a44f809bc32664 (diff) | |
download | ffmpeg-streaming-e2399e0c1aeb110456405d23e211066fab6cb041.zip ffmpeg-streaming-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.
Diffstat (limited to 'tests')
-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 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} |