-if [ -d $WORKSPACE/memcheck ]
-then
- rm -rf $WORKSPACE/memcheck
-fi
-mkdir $WORKSPACE/memcheck
+set -e
+
+die() {
+ echo "$@"
+ exit 1
+}
+
+do_cleanup() {
+ for d in "$WORKSPACE/build" "$WORKSPACE/install" "$WORKSPACE/memcheck"
+ do
+ if [ -d "$d" ]
+ then
+ rm -rf "$d" || die "Could not remote $d"
+ fi
+ done
+ find $WORKSPACE -name "memcheck_test_*.memcheck" -exec rm {} \;
+}
+
+! [ -z "$WORKSPACE" ] || die "No WORKSPACE"
+[ -d "$WORKSPACE" ] || die "WORKSPACE ($WORKSPACE) does not exist"
+
+do_cleanup
+
+for d in "$WORKSPACE/build" "$WORKSPACE/install" "$WORKSPACE/memcheck"
+do
+ mkdir "$d" || die "Could not create $d"
+done