From: Jérémie Galarneau Date: Fri, 18 Sep 2015 16:59:20 +0000 (-0400) Subject: Tests: Swap usages of pidof for pgrep --full X-Git-Tag: v2.7.0-rc2~7 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=f8a2c2043e635574de8f6787054aaf1bb4390f04;p=lttng-tools.git Tests: Swap usages of pidof for pgrep --full Some implementations of pidof (such as the one from procps-ng) seem immune to changing a process' name using prctl() and overwriting argv[0]. Using preg --full works around this problem. In time, we should ensure every deamon publishes a PID file which can be reliably used by the tests. Signed-off-by: Jérémie Galarneau --- diff --git a/tests/stress/test_multi_sessions_per_uid_10app b/tests/stress/test_multi_sessions_per_uid_10app index c25e303b0..90ef81963 100755 --- a/tests/stress/test_multi_sessions_per_uid_10app +++ b/tests/stress/test_multi_sessions_per_uid_10app @@ -43,7 +43,7 @@ function enable_channel_per_uid() function check_sessiond() { - if [ -z "$(pidof lt-lttng-sessiond)" ]; then + if [ -z "$(pgrep --full lt-lttng-sessiond)" ]; then local str_date=$(date +%H%M%S-%d%m%Y) diag "!!!The session daemon died unexpectedly!!!" @@ -65,7 +65,7 @@ function start_sessiond() BAIL_OUT "*** Kernel too old for session daemon tests ***" fi - if [ -z $(pidof lt-$SESSIOND_BIN) ]; then + if [ -z $(pgrep --full lt-$SESSIOND_BIN) ]; then # We have to start it like this so the ulimit -c is used by this # process. Also, we collect any error message printed out. $TESTDIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --quiet --background --consumerd32-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" >$LOG_FILE 2>&1 diff --git a/tests/stress/test_multi_sessions_per_uid_5app_streaming b/tests/stress/test_multi_sessions_per_uid_5app_streaming index 760e2222e..3d3558224 100755 --- a/tests/stress/test_multi_sessions_per_uid_5app_streaming +++ b/tests/stress/test_multi_sessions_per_uid_5app_streaming @@ -51,7 +51,7 @@ function lttng_create_session_uri function check_sessiond() { - if [ -z "$(pidof lt-lttng-sessiond)" ]; then + if [ -z "$(pgrep --full lt-lttng-sessiond)" ]; then local str_date=$(date +%H%M%S-%d%m%Y) diag "!!!The session daemon died unexpectedly!!!" @@ -65,7 +65,7 @@ function check_sessiond() function check_relayd() { - if [ -z "$(pidof lt-lttng-relayd)" ]; then + if [ -z "$(pgrep --full lt-lttng-relayd)" ]; then local str_date=$(date +%H%M%S-%d%m%Y) diag "!!!The relay daemon died unexpectedly!!!" @@ -87,7 +87,7 @@ function start_sessiond() BAIL_OUT "*** Kernel too old for session daemon tests ***" fi - if [ -z $(pidof lt-$SESSIOND_BIN) ]; then + if [ -z $(pgrep --full lt-$SESSIOND_BIN) ]; then # We have to start it like this so the ulimit -c is used by this # process. Also, we collect any error message printed out. $TESTDIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --quiet --background --consumerd32-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" >$LOG_FILE_SESSIOND 2>&1 @@ -101,7 +101,7 @@ function start_relayd local opt=$1 local RELAYD_BIN="lttng-relayd" - if [ -z $(pidof lt-$RELAYD_BIN) ]; then + if [ -z $(pgrep --full lt-$RELAYD_BIN) ]; then $TESTDIR/../src/bin/lttng-relayd/$RELAYD_BIN $opt >$LOG_FILE_RELAYD 2>&1 & ok $? "Start lttng-relayd (opt: \"$opt\")" fi diff --git a/tests/stress/test_multi_sessions_per_uid_5app_streaming_kill_relayd b/tests/stress/test_multi_sessions_per_uid_5app_streaming_kill_relayd index 3b26ba7a8..0f6e49a9f 100755 --- a/tests/stress/test_multi_sessions_per_uid_5app_streaming_kill_relayd +++ b/tests/stress/test_multi_sessions_per_uid_5app_streaming_kill_relayd @@ -52,7 +52,7 @@ function lttng_create_session_uri function check_sessiond() { - if [ -z "$(pidof lt-lttng-sessiond)" ]; then + if [ -z "$(pgrep --full lt-lttng-sessiond)" ]; then local str_date=$(date +%H%M%S-%d%m%Y) diag "!!!The session daemon died unexpectedly!!!" @@ -74,7 +74,7 @@ function start_sessiond() BAIL_OUT "*** Kernel too old for session daemon tests ***" fi - if [ -z $(pidof lt-$SESSIOND_BIN) ]; then + if [ -z $(pgrep --full lt-$SESSIOND_BIN) ]; then # We have to start it like this so the ulimit -c is used by this # process. Also, we collect any error message printed out. #$TESTDIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --quiet --background --consumerd32-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" >$LOG_FILE_SESSIOND 2>&1 @@ -90,7 +90,7 @@ function start_relayd local opt=$1 local RELAYD_BIN="lttng-relayd" - if [ -z $(pidof lt-$RELAYD_BIN) ]; then + if [ -z $(pgrep --full lt-$RELAYD_BIN) ]; then $TESTDIR/../src/bin/lttng-relayd/$RELAYD_BIN $opt >$LOG_FILE_RELAYD 2>&1 & ok $? "Start lttng-relayd (opt: \"$opt\")" fi @@ -98,7 +98,7 @@ function start_relayd function check_relayd() { - if [ -z "$(pidof lt-lttng-relayd)" ]; then + if [ -z "$(pgrep --full lt-lttng-relayd)" ]; then local str_date=$(date +%H%M%S-%d%m%Y) #diag "Relay daemon died. Starting it again" diff --git a/tests/utils/utils.sh b/tests/utils/utils.sh index d08d6b23c..35207929e 100644 --- a/tests/utils/utils.sh +++ b/tests/utils/utils.sh @@ -269,7 +269,7 @@ function start_lttng_relayd_opt() DIR=$(readlink -f $TESTDIR) - if [ -z $(pidof lt-$RELAYD_BIN) ]; then + if [ -z $(pgrep --full lt-$RELAYD_BIN) ]; then $DIR/../src/bin/lttng-relayd/$RELAYD_BIN -b $opt 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST #$DIR/../src/bin/lttng-relayd/$RELAYD_BIN $opt -vvv >>/tmp/relayd.log 2>&1 & if [ $? -eq 1 ]; then @@ -301,7 +301,7 @@ function stop_lttng_relayd_opt() { local withtap=$1 - PID_RELAYD=`pidof lt-$RELAYD_BIN` + PID_RELAYD=`pgrep --full lt-$RELAYD_BIN` if [ $withtap -eq "1" ]; then diag "Killing lttng-relayd (pid: $PID_RELAYD)" @@ -317,7 +317,7 @@ function stop_lttng_relayd_opt() else out=1 while [ -n "$out" ]; do - out=$(pidof lt-$RELAYD_BIN) + out=$(pgrep --full lt-$RELAYD_BIN) sleep 0.5 done if [ $withtap -eq "1" ]; then @@ -359,7 +359,7 @@ function start_lttng_sessiond_opt() : ${LTTNG_SESSION_CONFIG_XSD_PATH=${DIR}/../src/common/config/} export LTTNG_SESSION_CONFIG_XSD_PATH - if [ -z $(pidof lt-$SESSIOND_BIN) ]; then + if [ -z $(pgrep --full lt-$SESSIOND_BIN) ]; then # Have a load path ? if [ -n "$load_path" ]; then $DIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --load "$1" --background --consumerd32-path="$DIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$DIR/../src/bin/lttng-consumerd/lttng-consumerd" @@ -395,7 +395,7 @@ function stop_lttng_sessiond_opt() return fi - PID_SESSIOND=`pidof lt-$SESSIOND_BIN` + PID_SESSIOND=`pgrep --full lt-$SESSIOND_BIN` if [ -n "$2" ]; then kill_opt="$kill_opt -s $signal" @@ -410,12 +410,12 @@ function stop_lttng_sessiond_opt() else out=1 while [ -n "$out" ]; do - out=$(pidof lt-$SESSIOND_BIN) + out=$(pgrep --full lt-$SESSIOND_BIN) sleep 0.5 done out=1 while [ -n "$out" ]; do - out=$(pidof $CONSUMERD_BIN) + out=$(pgrep --full $CONSUMERD_BIN) sleep 0.5 done if [ $withtap -eq "1" ]; then @@ -440,7 +440,7 @@ function stop_lttng_consumerd_opt() local signal=$2 local kill_opt="" - PID_CONSUMERD=`pidof $CONSUMERD_BIN` + PID_CONSUMERD=`pgrep --full $CONSUMERD_BIN` if [ -n "$2" ]; then kill_opt="$kill_opt -s $signal" @@ -461,7 +461,7 @@ function stop_lttng_consumerd_opt() else out=1 while [ $out -ne 0 ]; do - pid=$(pidof $CONSUMERD_BIN) + pid=$(pgrep --full $CONSUMERD_BIN) # If consumerds are still present check their status. # A zombie status qualifies the consumerd as *killed*