91f064daea1500df297172fdfbd7323f9ffaf9c4
[lttng-tools.git] / tests / regression / ust / multi-session / test_multi_session
1 #!/bin/bash
2 #
3 # Copyright (C) 2012 David Goulet <dgoulet@efficios.com>
4 #
5 # SPDX-License-Identifier: LGPL-2.1-only
6
7 TEST_DESC="UST tracer - Multi-session"
8
9 CURDIR=$(dirname "$0")/
10 TESTDIR=$CURDIR/../../..
11 NR_ITER=100
12 SESSION_NAME="multi-session"
13 EVENT_NAME="ust_gen_nevents:tptest"
14 NUM_TESTS=28
15
16 # shellcheck source=../../../utils/utils.sh
17 source $TESTDIR/utils/utils.sh
18
19 if [ ! -x "$CURDIR/gen-nevents" ]; then
20 BAIL_OUT "No UST nevents binary detected."
21 fi
22
23 # MUST set TESTDIR before calling those functions
24
25 test_multi_session() {
26 local out
27
28 # BEFORE application is spawned
29 for i in $(seq 0 3); do
30 create_lttng_session_ok "$SESSION_NAME-$i" "$TRACE_PATH/$i"
31 enable_ust_lttng_event_ok "$SESSION_NAME-$i" "$EVENT_NAME$i"
32 start_lttng_tracing_ok "$SESSION_NAME-$i"
33 done
34
35 "./$CURDIR/gen-nevents" $NR_ITER &
36 ok $? "Start application to generate $NR_ITER events"
37
38 wait
39 pass "Wait for events to record"
40
41 for i in $(seq 0 3); do
42 stop_lttng_tracing_ok "$SESSION_NAME-$i"
43 destroy_lttng_session_ok "$SESSION_NAME-$i"
44 out=$($BABELTRACE_BIN "$TRACE_PATH/$i" | grep -c "$EVENT_NAME$i")
45 if [ "$out" -ne $NR_ITER ]; then
46 fail "Trace validation of $SESSION_NAME-$i"
47 diag "No events found."
48 out=1
49 break
50 else
51 pass "Trace validation of $SESSION_NAME-$i"
52 diag "Found $out event(s) for $SESSION_NAME-$i."
53 out=0
54 fi
55 done
56
57 return $out
58 }
59
60 # MUST set TESTDIR before calling those functions
61
62 plan_tests $NUM_TESTS
63
64 print_test_banner "$TEST_DESC"
65
66 start_lttng_sessiond
67
68 TRACE_PATH=$(mktemp --tmpdir -d tmp.test_multi_session_ust.XXXXXX)
69
70 test_multi_session
71 out=$?
72 if [ $out -ne 0 ]; then
73 stop_lttng_sessiond
74 exit $out
75 fi
76
77 stop_lttng_sessiond
78
79 rm -rf "$TRACE_PATH"
This page took 0.031612 seconds and 4 git commands to generate.