Commit | Line | Data |
---|---|---|
f4e40ab6 DG |
1 | #!/bin/bash |
2 | # | |
9d16b343 | 3 | # Copyright (C) 2012 David Goulet <dgoulet@efficios.com> |
f4e40ab6 | 4 | # |
9d16b343 MJ |
5 | # SPDX-License-Identifier: LGPL-2.1-only |
6 | ||
c38b5107 | 7 | TEST_DESC="Streaming - Kernel tracing" |
f4e40ab6 DG |
8 | |
9 | CURDIR=$(dirname $0)/ | |
9ac429ef | 10 | TESTDIR=$CURDIR/../../.. |
f4e40ab6 | 11 | EVENT_NAME="sched_switch" |
f4e40ab6 DG |
12 | SESSION_NAME="" |
13 | ||
173af62f DG |
14 | TRACE_PATH=$(mktemp -d) |
15 | ||
7972aab2 | 16 | NUM_TESTS=10 |
d346ccad | 17 | |
9ac429ef | 18 | source $TESTDIR/utils/utils.sh |
f4e40ab6 | 19 | |
f4e40ab6 DG |
20 | function test_kernel_before_start () |
21 | { | |
d346ccad | 22 | diag "Test kernel streaming with event enable BEFORE start" |
f0d43d3d | 23 | create_lttng_session_uri $SESSION_NAME net://localhost |
f4e40ab6 | 24 | lttng_enable_kernel_event $SESSION_NAME $EVENT_NAME |
e563bbdb | 25 | start_lttng_tracing_ok $SESSION_NAME |
f4e40ab6 DG |
26 | # Give a second |
27 | sleep 1 | |
96340a01 | 28 | stop_lttng_tracing_ok $SESSION_NAME |
67b4c664 | 29 | destroy_lttng_session_ok $SESSION_NAME |
f4e40ab6 DG |
30 | } |
31 | ||
173af62f DG |
32 | # Deactivated since this feature is not yet available where we can enable |
33 | # an event AFTERE tracing has started. | |
f4e40ab6 DG |
34 | function test_kernel_after_start () |
35 | { | |
d346ccad | 36 | diag "Test kernel streaming with event enable AFTER start" |
f0d43d3d | 37 | create_lttng_session_uri $SESSION_NAME net://localhost |
e563bbdb | 38 | start_lttng_tracing_ok $SESSION_NAME |
f4e40ab6 DG |
39 | lttng_enable_kernel_event $SESSION_NAME $EVENT_NAME |
40 | # Give a second | |
41 | sleep 1 | |
96340a01 | 42 | stop_lttng_tracing_ok $SESSION_NAME |
67b4c664 | 43 | destroy_lttng_session_ok $SESSION_NAME |
f4e40ab6 DG |
44 | } |
45 | ||
d346ccad | 46 | plan_tests $NUM_TESTS |
f4e40ab6 | 47 | |
e3bef725 CB |
48 | print_test_banner "$TEST_DESC" |
49 | ||
d346ccad CB |
50 | if [ "$(id -u)" == "0" ]; then |
51 | isroot=1 | |
52 | else | |
53 | isroot=0 | |
54 | fi | |
f4e40ab6 | 55 | |
d346ccad CB |
56 | skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS || |
57 | { | |
9c8a3964 JR |
58 | validate_lttng_modules_present |
59 | ||
d346ccad | 60 | start_lttng_relayd "-o $TRACE_PATH" |
7972aab2 | 61 | start_lttng_sessiond |
d346ccad CB |
62 | |
63 | tests=( test_kernel_before_start ) | |
64 | ||
65 | for fct_test in ${tests[@]}; | |
66 | do | |
67 | SESSION_NAME=$(randstring 16 0) | |
68 | ${fct_test} | |
69 | ||
70 | # Validate test | |
71 | validate_trace $EVENT_NAME $TRACE_PATH/$HOSTNAME/$SESSION_NAME* | |
72 | if [ $? -eq 0 ]; then | |
73 | # Only delete if successful | |
74 | rm -rf $TRACE_PATH | |
75 | else | |
76 | break | |
77 | fi | |
78 | done | |
f4e40ab6 | 79 | |
d346ccad CB |
80 | stop_lttng_sessiond |
81 | stop_lttng_relayd | |
82 | } |