CURDIR=$(dirname "$0")/
TESTDIR=$CURDIR/../../../
-TMPDIR=$(mktemp -d)
+TEST_TMPDIR=$(mktemp -d -t tmp.test_notif_kernel_buffer_usage_dir.XXXXXX)
+
+# Set TMPDIR for further call to mktemp
+export TMPDIR="$TEST_TMPDIR"
#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 -t "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 -t "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"
local page_size
local consumerd_pipe=()
- trace_path=$(mktemp -d)
+ trace_path=$(mktemp -d -t "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
wait $APP_PID 2> /dev/null
}
-if [ "$(id -u)" == "0" ]; then
-
- validate_lttng_modules_present
-
+check_skip_kernel_test &&
+{
+ plan_skip_all "Skipping all tests."
+ rm -rf "$TEST_TMPDIR"
+ exit 0
+}
- modprobe lttng-test
+validate_lttng_modules_present
- # Used on sessiond launch.
- LTTNG_SESSIOND_ENV_VARS="LTTNG_TESTPOINT_ENABLE=1 \
- CONSUMER_PAUSE_PIPE_PATH=${TESTPOINT_PIPE_PATH} \
- LD_PRELOAD=${TESTPOINT}"
- start_lttng_sessiond_notap
+modprobe lttng-test
- test_buffer_usage_notification
+# Used on sessiond launch.
+LTTNG_SESSIOND_ENV_VARS="LTTNG_TESTPOINT_ENABLE=1 \
+ CONSUMER_PAUSE_PIPE_PATH=${TESTPOINT_PIPE_PATH} \
+ LD_PRELOAD=${TESTPOINT}"
+start_lttng_sessiond_notap
- stop_lttng_sessiond_notap
- rmmod lttng-test
+test_buffer_usage_notification
- rm -rf "${consumerd_pipe[@]}" 2> /dev/null
-else
- # Kernel tests are skipped.
- plan_tests $NUM_TESTS
- skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
-fi
+stop_lttng_sessiond_notap
+rmmod lttng-test
-rm -rf "$TMPDIR"
+rm -rf "${consumerd_pipe[@]}" 2> /dev/null
+rm -rf "$TEST_TMPDIR"