projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tests: Avoid looping on app PIDs during cleanup
[lttng-tools.git]
/
tests
/
stress
/
test_multi_sessions_per_uid_10app
diff --git
a/tests/stress/test_multi_sessions_per_uid_10app
b/tests/stress/test_multi_sessions_per_uid_10app
index 365519dc661b2fe890ca35e63a787287c3360d3a..5ddc6be64eb5675ceaa88bc006c7a211d2a42ab6 100755
(executable)
--- a/
tests/stress/test_multi_sessions_per_uid_10app
+++ b/
tests/stress/test_multi_sessions_per_uid_10app
@@
-1,19
+1,12
@@
#!/bin/bash
#
#!/bin/bash
#
-# Copyright (C)
-
2013 David Goulet <dgoulet@efficios.com>
+# Copyright (C) 2013 David Goulet <dgoulet@efficios.com>
#
#
-# This library is free software; you can redistribute it and/or modify it under
-# the terms of the GNU Lesser General Public License as published by the Free
-# Software Foundation; version 2.1 of the License.
-# details.
+# SPDX-License-Identifier: LGPL-2.1-only
#
#
-# You should have received a copy of the GNU Lesser General Public License
-# along with this library; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-CURDIR=$(dirname $0)/
-TESTDIR=$CURDIR/..
+CURDIR=$(dirname "$0")/
+TESTDIR="$CURDIR/.."
LAUNCH_APP="launch_ust_app"
SESSION_NAME="stress"
EVENT_NAME="tp:tptest"
LAUNCH_APP="launch_ust_app"
SESSION_NAME="stress"
EVENT_NAME="tp:tptest"
@@
-24,31
+17,34
@@
NR_APP=10
NR_SESSION=5
NR_LOOP=1000
COREDUMP_FILE=$(cat /proc/sys/kernel/core_pattern)
NR_SESSION=5
NR_LOOP=1000
COREDUMP_FILE=$(cat /proc/sys/kernel/core_pattern)
+APP_PIDS=()
TEST_DESC="Stress test - $NR_SESSION sessions per UID with $NR_APP apps"
TEST_DESC="Stress test - $NR_SESSION sessions per UID with $NR_APP apps"
-source $TESTDIR/utils/utils.sh
+# shellcheck source-path=SCRIPTDIR/../
+source "$TESTDIR/utils/utils.sh"
# MUST set TESTDIR before calling those functions
function enable_channel_per_uid()
{
# MUST set TESTDIR before calling those functions
function enable_channel_per_uid()
{
- local sess_name=$1
- local channel_name=$2
+
local sess_name=$1
+
local channel_name=$2
-
$TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-channel --buffers-uid -u $channel_name -s $sess_name
>/dev/null 2>&1
- ok $? "Enable channel $channel_name per UID for session $sess_name"
+
"$TESTDIR/../src/bin/lttng/$LTTNG_BIN" enable-channel --buffers-uid -u "$channel_name" -s "$sess_name"
>/dev/null 2>&1
+
ok $? "Enable channel $channel_name per UID for session $sess_name"
}
function check_sessiond()
{
}
function check_sessiond()
{
- if [ -z "$(pidof lt-lttng-sessiond)" ]; then
- local str_date=$(date +%H%M%S-%d%m%Y)
+ local str_date=''
+ if [ -z "$(lttng_pgrep lttng-sessiond)" ]; then
+ str_date=$(date +%H%M%S-%d%m%Y)
diag "!!!The session daemon died unexpectedly!!!"
diag "!!!The session daemon died unexpectedly!!!"
- mv $LOG_FILE
$LOG_FILE-$str_date
- if [ -e
$COREDUMP_FILE
]; then
- mv
$COREDUMP_FILE $COREDUMP_FILE-$str_date
+ mv $LOG_FILE
"$LOG_FILE-$str_date"
+ if [ -e
"$COREDUMP_FILE"
]; then
+ mv
"$COREDUMP_FILE" "$COREDUMP_FILE-$str_date"
fi
exit 1
fi
fi
exit 1
fi
@@
-56,18
+52,15
@@
function check_sessiond()
function start_sessiond()
{
function start_sessiond()
{
- local SESSIOND_BIN="lttng-sessiond"
-
- validate_kernel_version
- if [ $? -ne 0 ]; then
+ if ! validate_kernel_version ; then
fail "Start session daemon"
BAIL_OUT "*** Kernel too old for session daemon tests ***"
fi
fail "Start session daemon"
BAIL_OUT "*** Kernel too old for session daemon tests ***"
fi
- if [ -z
$(pidof lt-$SESSIOND_BIN)
]; then
+ if [ -z
"$(lttng_pgrep $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.
# 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
+
"$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
status=$?
ok $status "Start session daemon"
fi
status=$?
ok $status "Start session daemon"
fi
@@
-75,22
+68,23
@@
function start_sessiond()
test_stress()
{
test_stress()
{
+ # shellcheck disable=SC2034
for b in $(seq 1 $NR_LOOP); do
for a in $(seq 1 $NR_SESSION); do
for b in $(seq 1 $NR_LOOP); do
for a in $(seq 1 $NR_SESSION); do
- create_lttng_session
$SESSION_NAME-$a $TRACE_PATH
+ create_lttng_session
_ok $SESSION_NAME-"$a" "$TRACE_PATH"
check_sessiond
check_sessiond
- enable_channel_per_uid $SESSION_NAME-
$a
$CHANNEL_NAME
+ enable_channel_per_uid $SESSION_NAME-
"$a"
$CHANNEL_NAME
check_sessiond
check_sessiond
- enable_ust_lttng_event
$SESSION_NAME-$a
$EVENT_NAME
+ enable_ust_lttng_event
_ok $SESSION_NAME-"$a"
$EVENT_NAME
check_sessiond
check_sessiond
- start_lttng_tracing
$SESSION_NAME-$a
+ start_lttng_tracing
_ok $SESSION_NAME-"$a"
check_sessiond
done
for a in $(seq 1 $NR_SESSION); do
check_sessiond
done
for a in $(seq 1 $NR_SESSION); do
- stop_lttng_tracing
$SESSION_NAME-$a
+ stop_lttng_tracing
_ok $SESSION_NAME-"$a"
check_sessiond
check_sessiond
- destroy_lttng_session
$SESSION_NAME-$a
+ destroy_lttng_session
_ok $SESSION_NAME-"$a"
check_sessiond
done
done
check_sessiond
done
done
@@
-101,18
+95,21
@@
test_stress()
function cleanup()
{
diag "Cleaning up!"
function cleanup()
{
diag "Cleaning up!"
- killall -9 $LAUNCH_APP
+ kill -s SIGKILL "${APP_PIDS[@]}"
+ wait "${APP_PIDS[@]}" 2>/dev/null
+ APP_PIDS=()
+ # shellcheck disable=SC2119
stop_lttng_sessiond
}
function sighandler()
{
cleanup
stop_lttng_sessiond
}
function sighandler()
{
cleanup
- rm
$LOG_FILE
- exit 1
+ rm
"$LOG_FILE"
+ full_cleanup
}
}
-trap sighandler SIGINT
+trap sighandler SIGINT
SIGTERM
# Make sure we collect a coredump if possible.
ulimit -c unlimited
# Make sure we collect a coredump if possible.
ulimit -c unlimited
@@
-127,9
+124,10
@@
start_sessiond
diag "Starting applications"
# Start NR_APP applications script that will spawn apps non stop.
diag "Starting applications"
# Start NR_APP applications script that will spawn apps non stop.
-./$TESTDIR/stress/$LAUNCH_APP $NR_APP &
+"./$TESTDIR/stress/$LAUNCH_APP" $NR_APP &
+APP_PIDS+=(${!})
-TRACE_PATH=$(mktemp -d)
+TRACE_PATH=$(mktemp -d
-t tmp.test_multi_sess_per_uid_10app.XXXXXX
)
test_stress
out=$?
test_stress
out=$?
@@
-139,6
+137,6
@@
if [ $out -ne 0 ]; then
fi
cleanup
fi
cleanup
-rm -rf
$TRACE_PATH
+rm -rf
"${TRACE_PATH:?}/"
rm $LOG_FILE
exit 0
rm $LOG_FILE
exit 0
This page took
0.027685 seconds
and
4
git commands to generate.