ctdb-tests: Simplify pstree output in eventd unit tests
authorMartin Schwenke <martin@meltin.net>
Wed, 18 Jul 2018 02:01:27 +0000 (12:01 +1000)
committerAmitay Isaacs <amitay@samba.org>
Wed, 18 Jul 2018 09:51:14 +0000 (11:51 +0200)
pstree truncates output when it exceeds a maximum width - the default
is 132 columns.  A couple of recent
commits (12fd8d7a5c5d14d403aac6cd9e318afcd0a8e159,
b23f3f996038626f618c5b5aa552686c1b852f44) lengthened the command
string in the output so that it is more likely to exceed this limit
and be truncated, as below:

==================================================
Running "cat /memdisk/autobuild/fl/b1851760/ctdb/ctdb/tests/var/eventd/debug_script.log"
--------------------------------------------------
Output (Exit status: 0):
--------------------------------------------------
02.enabled.scri,PID /memdisk/autobuild/fl/b1851760/ctdb/ctdb/tests/var/eventd/events/random/02.enabled.script ...
  `-sleep,PID 99
01.disabled          DISABLED
02.enabled           TIMEDOUT   DATETIME
  OUTPUT: Sleeping for 99 seconds
--------------------------------------------------
Required output (Exit status: 0):
--------------------------------------------------
02.enabled.scri,PID /memdisk/autobuild/fl/b1851760/ctdb/ctdb/tests/var/eventd/events/random/02.enabled.script verbosetimeout
  `-sleep,PID 99
01.disabled          DISABLED
02.enabled           TIMEDOUT   DATETIME
  OUTPUT: Sleeping for 99 seconds

FAILED

It isn't clear that the above example exceeds 132 characters, given
that the PID has been filtered into a fixed string, but it certainly
goes close.  Whether or not it is truncated probably depends on the
width of the PID in the unfiltered output.  This would explain why the
test flaps.

Avoid the output truncation by dropping the -a and -p options to
simplify the pstree output.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13531

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/tests/eventd/etc-ctdb/debug-script.sh
ctdb/tests/eventd/eventd_022.sh
ctdb/tests/eventd/eventd_024.sh

index 04618cf92f8886789fa3b865ef855cbb884d53ba..47c75a786226936dfec396ed48a24a2298ccbf59 100755 (executable)
@@ -8,7 +8,7 @@ case "$2" in
        ;;
 
 "verbosetimeout")
-       (pstree -p -a $1 ; ctdb-event status random $2) > "$log"
+       (pstree $1 ; ctdb-event status random $2) > "$log"
        ;;
 
 "verbosetimeout2")
index b71f7c3d885709cba8b31becdee37a654568483c..dc9455aec186102cad135cbba579e05c6fde4d4a 100755 (executable)
@@ -15,8 +15,7 @@ simple_test run 5 random verbosetimeout
 sleep 5
 
 ok <<EOF
-02.enabled.scri,PID $eventd_scriptdir/random/02.enabled.script verbosetimeout
-  \`-sleep,PID 99
+02.enabled.scri---sleep
 01.disabled          DISABLED  
 02.enabled           TIMEDOUT   DATETIME
   OUTPUT: Sleeping for 99 seconds
index a76681ea65a21ac9f7725df640aed7535564de6f..10016a1e2de9b0b65383f80c0dc5465e091fbe59 100755 (executable)
@@ -28,4 +28,4 @@ unit_test cat "${CTDB_BASE}/debug_script.log"
 pid=$(cat "${CTDB_BASE}/debug_script.log" | awk '{print $2}')
 
 ok_null
-unit_test pstree -p -a "$pid"
+unit_test pstree "$pid"