010ff855ac141e33eaf8bb18cbc49ec096db0f8a
[lttng-tools.git] / tests / regression / tools / live / test_lttng_kernel
1 #!/bin/bash
2 #
3 # Copyright (C) 2013 Julien Desfossez <julien.desfossez@efficios.com>
4 # Copyright (C) 2013 David Goulet <dgoulet@efficios.com>
5 #
6 # SPDX-License-Identifier: LGPL-2.1-only
7
8 TEST_DESC="Live - Kernel space tracing"
9
10 CURDIR=$(dirname $0)/
11 TESTDIR=$CURDIR/../../../
12 DELAY_USEC=2000000
13
14 SESSION_NAME="live"
15 EVENT_NAME="lttng_test_filter_event"
16
17 TRACE_PATH=$(mktemp -d)
18
19 DIR=$(readlink -f $TESTDIR)
20
21 NUM_TESTS=11
22
23 source $TESTDIR/utils/utils.sh
24
25 # MUST set TESTDIR before calling those functions
26 plan_tests $NUM_TESTS
27
28 print_test_banner "$TEST_DESC"
29
30 function setup_live_tracing()
31 {
32 # Create session with default path
33 $TESTDIR/../src/bin/lttng/$LTTNG_BIN create $SESSION_NAME --live $DELAY_USEC \
34 -U net://localhost >/dev/null 2>&1
35 ok $? "Create session in live mode with delay $DELAY_USEC"
36
37 lttng_enable_kernel_event $SESSION_NAME $EVENT_NAME
38 start_lttng_tracing_ok $SESSION_NAME
39 }
40
41 function clean_live_tracing()
42 {
43 stop_lttng_tracing_ok $SESSION_NAME
44 destroy_lttng_session_ok $SESSION_NAME
45 }
46
47 # Need root access for kernel tracing.
48 if [ "$(id -u)" == "0" ]; then
49 isroot=1
50 else
51 isroot=0
52 fi
53
54 skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
55 {
56 modprobe lttng-test
57
58 start_lttng_sessiond
59 start_lttng_relayd "-o $TRACE_PATH"
60
61 setup_live_tracing
62
63 echo -n "1" > /proc/lttng-test-filter-event
64
65 clean_live_tracing
66
67 validate_trace_path_kernel_network "$TRACE_PATH" "$SESSION_NAME"
68 validate_trace $EVENT_NAME $TRACE_PATH
69 rm -rf $TRACE_PATH
70
71 stop_lttng_relayd
72 stop_lttng_sessiond
73
74 modprobe --remove lttng-test
75 }
This page took 0.037346 seconds and 4 git commands to generate.