port: add support for BSD mktemp
[lttng-tools.git] / tests / regression / tools / notification / test_notification_kernel_capture
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_PATH="$TESTDIR/utils/testapp"
11 TESTAPP_STATE_PATH=$(mktemp -u -t "tmp.test_notif_kernel_capture_application_state.XXXXXXXXXX")
12
13 NUM_TESTS=104
14
15 # shellcheck source=../../../utils/utils.sh
16 source "$TESTDIR/utils/utils.sh"
17 # shellcheck source=./util_event_generator.sh
18 source "$CURDIR/util_event_generator.sh"
19
20 function test_basic_error_path
21 {
22 kernel_event_generator_run_once_per_transition generate_filter_events \
23 "$TESTAPP_STATE_PATH" 10 &
24 APP_PID=$!
25
26 "$CURDIR/notification" 7 LTTNG_DOMAIN_KERNEL $APP_PID \
27 "$TESTAPP_STATE_PATH"
28
29 kill -SIGUSR2 $APP_PID
30 wait $APP_PID 2> /dev/null
31 }
32
33
34 if [ "$(id -u)" == "0" ]; then
35 validate_lttng_modules_present
36
37 modprobe lttng-test
38
39 start_lttng_sessiond_notap
40
41 test_basic_error_path
42
43 stop_lttng_sessiond_notap
44 rmmod lttng-test
45
46 else
47 # Kernel tests are skipped.
48 plan_tests $NUM_TESTS
49 skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
50 fi
51
52 rm -f "$TESTAPP_STATE_PATH"
This page took 0.032013 seconds and 5 git commands to generate.