8ef8d708d282c10260773c3a05f3a0179c8aff68
[lttng-tools.git] / tests / regression / tools / notification / test_notification_kernel_userspace_probe
1 #!/bin/bash
2 #
3 # Copyright (C) 2017 Jonathan Rajotte-Julien <jonathan.rajotte-julien@efficios.com>
4 #
5 # SPDX-License-Identifier: LGPL-2.1-only
6
7 CURDIR=$(dirname "$0")/
8 TESTDIR=$CURDIR/../../../
9
10 TESTAPP_STATE_PATH=$(mktemp --tmpdir -u "tmp.test_notif_kernel_uprobe_application_state.XXXXXXXXXX")
11
12 NUM_TESTS=13
13
14 # shellcheck source=../../../utils/utils.sh
15 source "$TESTDIR/utils/utils.sh"
16 # shellcheck source=./util_event_generator.sh
17 source "$CURDIR/util_event_generator.sh"
18
19 function test_kernel_userspace_probe_notification
20 {
21 kernel_event_generator_run_once_per_transition userspace_probe_testapp "$TESTAPP_STATE_PATH" 10 &
22 APP_PID=$!
23
24 "$CURDIR/notification" 6 LTTNG_DOMAIN_KERNEL \
25 $APP_PID "$TESTAPP_STATE_PATH" \
26 "$USERSPACE_PROBE_ELF_TESTAPP_BIN" "test_function"
27
28 kill -SIGUSR2 $APP_PID
29 wait $APP_PID 2> /dev/null
30 }
31
32 if [ "$(id -u)" == "0" ]; then
33 validate_lttng_modules_present
34
35 start_lttng_sessiond_notap
36
37 test_kernel_userspace_probe_notification
38
39 stop_lttng_sessiond_notap
40 else
41 # Kernel tests are skipped.
42 plan_tests $NUM_TESTS
43 skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
44 fi
45
46 rm -f "$TESTAPP_STATE_PATH"
This page took 0.029678 seconds and 3 git commands to generate.