1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
#!/bin/bash
#
# SPDX-FileCopyrightText: 2021 Francis Deslauriers <francis.deslauriers@efficios.com>
#
# SPDX-License-Identifier: GPL-2.0-only
TEST_DESC="LTTng - Channel tests"
CURDIR=$(dirname $0)/
TESTDIR=$CURDIR/../../..
TESTAPP_PATH="$TESTDIR/utils/testapp"
TESTAPP_NAME="gen-ust-events"
TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
NR_ITER=100
NR_USEC_WAIT=1
NUM_TESTS=14
source $TESTDIR/utils/utils.sh
function test_channel_disable_stopped_session()
{
local TRACE_PATH=$(mktemp -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
local SESSION_NAME="test_channel"
local CHAN_NAME="channel0"
local EVENT_NAME="tp:tptest"
diag "Test channel disable on stop session"
create_lttng_session_ok "$SESSION_NAME" "$TRACE_PATH"
enable_ust_lttng_channel_ok "$SESSION_NAME" "$CHAN_NAME"
enable_ust_lttng_event_ok "$SESSION_NAME" "$EVENT_NAME" "$CHAN_NAME"
start_lttng_tracing_ok "$SESSION_NAME"
"$TESTAPP_BIN" -i "$NR_ITER" -w "$NR_USEC_WAIT"
stop_lttng_tracing_ok "$SESSION_NAME"
trace_match_only "$EVENT_NAME" "$NR_ITER" "$TRACE_PATH"
lttng_clear_session_ok "$SESSION_NAME"
disable_ust_lttng_channel "$SESSION_NAME" "$CHAN_NAME"
start_lttng_tracing_ok "$SESSION_NAME"
# The channel is disabled so no events should be emited by this app.
"$TESTAPP_BIN" -i "$NR_ITER" -w "$NR_USEC_WAIT"
stop_lttng_tracing_ok "$SESSION_NAME"
trace_match_only "$EVENT_NAME" 0 "$TRACE_PATH"
destroy_lttng_session_ok $SESSION_NAME
rm -rf $TRACE_PATH
}
# MUST set TESTDIR before calling those functions
plan_tests $NUM_TESTS
print_test_banner "$TEST_DESC"
bail_out_if_no_babeltrace
start_lttng_sessiond
if [ ! -x "$TESTAPP_BIN" ]; then
BAIL_OUT "No UST nevents binary detected."
fi
test_channel_disable_stopped_session
stop_lttng_sessiond
|