Skip to content

Commit

Permalink
fate: Error out more gracefully on configure failure
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
DonDiego committed Feb 26, 2018
1 parent dc40e64 commit e2399e0
Showing 1 changed file with 34 additions and 26 deletions.
60 changes: 34 additions & 26 deletions tests/fate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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()(
Expand All @@ -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
}

Expand All @@ -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}
Expand Down

0 comments on commit e2399e0

Please sign in to comment.