summaryrefslogtreecommitdiffstats
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)
downloadffmpeg-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-xtests/fate.sh60
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}
OpenPOWER on IntegriCloud