summaryrefslogtreecommitdiff
path: root/testing/docker/dmgr.sh
diff options
context:
space:
mode:
Diffstat (limited to 'testing/docker/dmgr.sh')
-rwxr-xr-xtesting/docker/dmgr.sh24
1 files changed, 22 insertions, 2 deletions
diff --git a/testing/docker/dmgr.sh b/testing/docker/dmgr.sh
index 1330867..825362a 100755
--- a/testing/docker/dmgr.sh
+++ b/testing/docker/dmgr.sh
@@ -3,11 +3,19 @@
# Run from the directory containing this script
cd `dirname $0`
+# Global return code (flags an error if any of the actions fail)
+global_rc=0
+
msg()
{
echo "INFO :: $*" >&2
}
+warn()
+{
+ echo "WARN :: $*" >&2
+}
+
error()
{
echo "ERROR :: $*" >&2
@@ -52,6 +60,8 @@ action_build()
{
local cntr=$1
+ msg "Cleaning up previous runs for ${cntr}"
+ do_cleanup ${cntr}/{build,install,xtools}
msg "Building Docker container for ${cntr}"
set -x
docker build --no-cache -t "ctng-${cntr}" --build-arg CTNG_GID=`id -g` --build-arg CTNG_UID=`id -u` "${cntr}"
@@ -81,6 +91,9 @@ _dckr()
else
$prefix su -l ctng
fi
+ if [ $? != 0 ]; then
+ global_rc=1
+ fi
}
# Run the test
@@ -91,8 +104,11 @@ action_install()
# The test assumes the top directory is bootstrapped, but clean.
msg "Setting up crosstool-NG in ${cntr}"
do_cleanup ${cntr}/build
- _dckr "${cntr}" /common-scripts/ctng-install && \
- _dckr "${cntr}" /common-scripts/ctng-test-basic
+ if ! _dckr "${cntr}" /common-scripts/ctng-install; then
+ warn "Installation failed"
+ elif ! _dckr "${cntr}" /common-scripts/ctng-test-basic; then
+ warn "Basic tests failed"
+ fi
}
# Run the test
@@ -164,3 +180,7 @@ case "${action}" in
usage "Unknown action ${action}."
;;
esac
+if [ "${global_rc}" != 0 ]; then
+ error "Some of the actions failed, see warnings above"
+fi
+exit ${global_rc}