CURDIR=$(dirname "$0")/
TESTDIR=$CURDIR/../../../
-TMPDIR=$(mktemp -d)
+TEST_TMPDIR=$(mktemp --tmpdir -d tmp.test_notif_kernel_buffer_usage_dir.XXXXXX)
#This is needed since the testpoint create a pipe with the consumerd type suffixed
-TESTPOINT_BASE_PATH=$(readlink -f "$TMPDIR/lttng.t_p_n")
-TESTPOINT_PIPE_PATH=$(mktemp -u "${TESTPOINT_BASE_PATH}.XXXXXX")
+TESTPOINT_BASE_PATH=$(readlink -f "$TEST_TMPDIR/lttng.t_p_n")
+TESTPOINT_PIPE_PATH=$(mktemp -u --tmpdir="$TEST_TMPDIR" "lttng.t_p_n.XXXXXX")
TESTPOINT=$(readlink -f "${CURDIR}/.libs/libpause_consumer.so")
-TESTAPP_STATE_PATH=$(mktemp -u "$TMPDIR/application_state.XXXXXXXXXX")
+TESTAPP_STATE_PATH=$(mktemp -u --tmpdir="$TEST_TMPDIR" "application_state.XXXXXXXXXX")
SESSION_NAME="my_session"
CHANNEL_NAME="my_channel"
-NUM_TESTS=104
+NUM_TESTS=99
# shellcheck source=../../../utils/utils.sh
source "$TESTDIR/utils/utils.sh"
-
-function kernel_event_generator_toggle_state
-{
- kernel_event_generator_suspended=$((kernel_event_generator_suspended==0))
-}
-
-function generate_filter_events
-{
- /bin/echo -n "10" > /proc/lttng-test-filter-event 2> /dev/null
-}
-
-function kernel_event_generator
-{
- command_to_run=$1
- state_file=$2
- kernel_event_generator_suspended=0
- trap kernel_event_generator_toggle_state SIGUSR1
-
- while (true); do
- if [[ $kernel_event_generator_suspended -eq "1" ]]; then
- touch $state_file
- sleep 0.5
- else
- if [[ -f $state_file ]]; then
- rm $state_file 2> /dev/null
- fi
- $command_to_run
- fi
- done
-}
+# shellcheck source=./util_event_generator.sh
+source "$CURDIR/util_event_generator.sh"
function test_buffer_usage_notification
{
local page_size
local consumerd_pipe=()
- trace_path=$(mktemp -d)
+ trace_path=$(mktemp -d --tmpdir="$TEST_TMPDIR" "tmp.${FUNCNAME[0]}_trace_path.XXXXXXX")
page_size=$(getconf PAGE_SIZE)
create_lttng_session_notap $SESSION_NAME "$trace_path"
consumerd_pipe+=("$f")
done
- "$CURDIR/notification" 2 LTTNG_DOMAIN_KERNEL $SESSION_NAME $CHANNEL_NAME \
- $APP_PID $TESTAPP_STATE_PATH ${consumerd_pipe[@]}
+ "$CURDIR/notification" 2 LTTNG_DOMAIN_KERNEL $APP_PID "$TESTAPP_STATE_PATH" \
+ $SESSION_NAME $CHANNEL_NAME "${consumerd_pipe[@]}"
destroy_lttng_session_notap $SESSION_NAME
- kill -9 $APP_PID
+ kill -SIGUSR2 $APP_PID
wait $APP_PID 2> /dev/null
}
skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
fi
-rm -rf "$TMPDIR"
+rm -rf "$TEST_TMPDIR"