Add cleanup trap to yardstick-img-modify 79/3179/1
authorJo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
Tue, 10 Nov 2015 13:55:00 +0000 (14:55 +0100)
committerJo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
Tue, 10 Nov 2015 13:55:00 +0000 (14:55 +0100)
Fixes a problem with loopback devices not
beeing detached when the image build fails.

Change-Id: I3e422be4fb0157289a032c14700e184f58d544d9
Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
tools/yardstick-img-modify

index ee9a457..3306562 100755 (executable)
@@ -25,6 +25,7 @@
 #
 
 set -e
+set -x
 
 die() {
     echo "error: $1" >&2
@@ -117,13 +118,34 @@ cleanup() {
     rm -rf $mountdir
 }
 
-set -x
+exitcode=""
+error_trap()
+{
+    local rc=$?
+
+    set +e
+
+    if [ -z "$exitcode" ]; then
+        exitcode=$rc
+    fi
+
+    cleanup
+
+    echo "Image build failed with $exitcode"
+
+    exit $exitcode
+}
 
 main() {
     cleanup
+
+    trap "error_trap" EXIT SIGTERM
+
     download
     setup
     modify
+
+    trap - EXIT SIGTERM
     cleanup
 
     echo "the modified image is found here: $imgfile"