summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2018-02-15 13:26:20 +0100
committerDiego Biurrun <diego@biurrun.de>2018-02-26 13:30:05 +0100
commite2399e0c1aeb110456405d23e211066fab6cb041 (patch)
tree73bd7b578c9137776c5bd8e0403416063b2273e8 /tests
parentdc40e64adb1712b1209c018914a44f809bc32664 (diff)
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-xtests/fate.sh60
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}