From e2399e0c1aeb110456405d23e211066fab6cb041 Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Thu, 15 Feb 2018 13:26:20 +0100 Subject: [PATCH] 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 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}