Commit | Line | Data |
---|---|---|
00eb21af DG |
1 | #!/bin/bash |
2 | # | |
9d16b343 | 3 | # Copyright (C) 2012 David Goulet <dgoulet@efficios.com> |
00eb21af | 4 | # |
9d16b343 MJ |
5 | # SPDX-License-Identifier: LGPL-2.1-only |
6 | ||
c38b5107 | 7 | TEST_DESC="UST tracer - Multi-session" |
00eb21af | 8 | |
741ecffb | 9 | CURDIR=$(dirname "$0")/ |
9ac429ef | 10 | TESTDIR=$CURDIR/../../.. |
00eb21af DG |
11 | NR_ITER=100 |
12 | SESSION_NAME="multi-session" | |
13 | EVENT_NAME="ust_gen_nevents:tptest" | |
c1f5d7d5 | 14 | NUM_TESTS=28 |
00eb21af | 15 | |
741ecffb | 16 | # shellcheck source=../../../utils/utils.sh |
9ac429ef | 17 | source $TESTDIR/utils/utils.sh |
00eb21af | 18 | |
00eb21af | 19 | if [ ! -x "$CURDIR/gen-nevents" ]; then |
c1f5d7d5 | 20 | BAIL_OUT "No UST nevents binary detected." |
00eb21af DG |
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 | |
741ecffb | 29 | for i in $(seq 0 3); do |
bf6ae429 | 30 | create_lttng_session_ok "$SESSION_NAME-$i" "$TRACE_PATH/$i" |
c4926bb5 | 31 | enable_ust_lttng_event_ok "$SESSION_NAME-$i" "$EVENT_NAME$i" |
e563bbdb | 32 | start_lttng_tracing_ok "$SESSION_NAME-$i" |
00eb21af DG |
33 | done |
34 | ||
741ecffb | 35 | "./$CURDIR/gen-nevents" $NR_ITER & |
c1f5d7d5 | 36 | ok $? "Start application to generate $NR_ITER events" |
00eb21af | 37 | |
c7613334 | 38 | wait |
c1f5d7d5 | 39 | pass "Wait for events to record" |
00eb21af | 40 | |
741ecffb | 41 | for i in $(seq 0 3); do |
96340a01 | 42 | stop_lttng_tracing_ok "$SESSION_NAME-$i" |
67b4c664 | 43 | destroy_lttng_session_ok "$SESSION_NAME-$i" |
741ecffb JR |
44 | out=$($BABELTRACE_BIN "$TRACE_PATH/$i" | grep -c "$EVENT_NAME$i") |
45 | if [ "$out" -ne $NR_ITER ]; then | |
c1f5d7d5 CB |
46 | fail "Trace validation of $SESSION_NAME-$i" |
47 | diag "No events found." | |
00eb21af | 48 | out=1 |
c1f5d7d5 | 49 | break |
00eb21af | 50 | else |
c1f5d7d5 CB |
51 | pass "Trace validation of $SESSION_NAME-$i" |
52 | diag "Found $out event(s) for $SESSION_NAME-$i." | |
00eb21af DG |
53 | out=0 |
54 | fi | |
55 | done | |
56 | ||
57 | return $out | |
58 | } | |
59 | ||
60 | # MUST set TESTDIR before calling those functions | |
61 | ||
c1f5d7d5 CB |
62 | plan_tests $NUM_TESTS |
63 | ||
e3bef725 CB |
64 | print_test_banner "$TEST_DESC" |
65 | ||
fb3268e3 | 66 | start_lttng_sessiond |
00eb21af | 67 | |
33e55711 | 68 | TRACE_PATH=$(mktemp --tmpdir -d tmp.test_multi_session_ust.XXXXXX) |
00eb21af DG |
69 | |
70 | test_multi_session | |
71 | out=$? | |
72 | if [ $out -ne 0 ]; then | |
fb3268e3 | 73 | stop_lttng_sessiond |
00eb21af DG |
74 | exit $out |
75 | fi | |
76 | ||
fb3268e3 | 77 | stop_lttng_sessiond |
00eb21af DG |
78 | |
79 | rm -rf "$TRACE_PATH" |