ctdb-tests: Correctly cascade test failures from the end of pipes
authorAmitay Isaacs <amitay@gmail.com>
Thu, 5 Mar 2015 02:11:46 +0000 (13:11 +1100)
committerMartin Schwenke <martins@samba.org>
Thu, 5 Mar 2015 06:16:54 +0000 (07:16 +0100)
Some eventscript unit test failures get lost because _passed=false is
set in the tail of a pipe.  Add a new function test_fail() and call it
when necessary to ensure the value of _passed is set correctly.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Pair-programmed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Thu Mar  5 07:16:54 CET 2015 on sn-devel-104

ctdb/tests/eventscripts/scripts/local.sh
ctdb/tests/scripts/unit.sh

index fe4ae1eec3cc76fb7668cf6ab3a89e8dbe964fb3..ed99985b8e38305e75baa00e14c37e1d5c95c273 100644 (file)
@@ -533,7 +533,7 @@ default via $_gw dev $_dev "
 EOF
 
        simple_test_command dump_routes
-    }
+    } || test_fail
 }
 
 ######################################################################
@@ -569,7 +569,7 @@ check_ctdb_tdb_statd_state ()
     ctdb_catdb_format_pairs | {
        ok
        simple_test_command ctdb catdb ctdb.tdb
-    }
+    } || test_fail
 }
 
 check_statd_callout_smnotify ()
@@ -592,7 +592,7 @@ EOF
     done | {
        ok
        simple_test_event "notify"
-    }
+    } || test_fail
 }
 
 ######################################################################
index 38b7e21c8ccac941230232fa453d7c7208338618..44675ae1c7a0c0e1b4b6bc2354817e47860ea4e3 100644 (file)
@@ -150,6 +150,12 @@ result_check ()
     result_footer "$_passed"
 }
 
+test_fail ()
+{
+    _passed=false
+    return 1
+}
+
 local="${TEST_SUBDIR}/scripts/local.sh"
 if [ -r "$local" ] ; then
     . "$local"