| 1 | #!/bin/bash |
| 2 | # |
| 3 | # Copyright (C) 2023 Kienan Stewart <kstewart@efficios.com> |
| 4 | # |
| 5 | # SPDX-License-Identifier: LGPL-2.1-only |
| 6 | # |
| 7 | |
| 8 | TEST_DESC="lttng-sessiond should not crash when activating rules that different by loglevel only" |
| 9 | |
| 10 | CURDIR=$(dirname "$0") |
| 11 | TESTDIR=$(realpath "${CURDIR}/../../../") |
| 12 | |
| 13 | # Test app for ust event |
| 14 | TESTAPP_PATH="${TESTDIR}/utils/testapp" |
| 15 | TESTAPP_NAME="gen-ust-events" |
| 16 | TESTAPP_BIN="${TESTAPP_PATH}/${TESTAPP_NAME}/${TESTAPP_NAME}" |
| 17 | NR_USEC_WAIT=1 |
| 18 | NR_ITER=100000 |
| 19 | |
| 20 | SESSION_NAME="test_session" |
| 21 | CHANNEL_NAME="test_channel" |
| 22 | EVENT_NAME="'l*'" |
| 23 | |
| 24 | OUTPUT_DIR=$(mktemp -d -t tmp.test_events_differ_only_by_loglevels.XXXXXX) |
| 25 | |
| 26 | NUM_TESTS=9 |
| 27 | |
| 28 | # shellcheck source-path=SCRIPTDIR/../../../ |
| 29 | source "${TESTDIR}/utils/utils.sh" |
| 30 | |
| 31 | if [ ! -x "${TESTAPP_BIN}" ] ; then |
| 32 | BAIL_OUT "No UST events binary detected" |
| 33 | fi |
| 34 | |
| 35 | plan_tests "${NUM_TESTS}" |
| 36 | print_test_banner "${TEST_DESC}" |
| 37 | bail_out_if_no_babeltrace |
| 38 | |
| 39 | # shellcheck disable=SC2119 |
| 40 | start_lttng_sessiond |
| 41 | |
| 42 | "${TESTAPP_BIN}" -i "${NR_ITER}" -w "${NR_USEC_WAIT}" & |
| 43 | TESTAPP_PID="${!}" |
| 44 | |
| 45 | create_lttng_session_ok "${SESSION_NAME}" "${OUTPUT_DIR}" |
| 46 | enable_ust_lttng_channel_ok "${SESSION_NAME}" "${CHANNEL_NAME}" |
| 47 | start_lttng_tracing_ok "${SESSION_NAME}" |
| 48 | enable_ust_lttng_event_loglevel "${SESSION_NAME}" "${EVENT_NAME}" TRACE_DEBUG_LINE "${CHANNEL_NAME}" |
| 49 | enable_ust_lttng_event_loglevel_only "${SESSION_NAME}" "${EVENT_NAME}" TRACE_DEBUG_LINE "${CHANNEL_NAME}" |
| 50 | |
| 51 | sleep 1 |
| 52 | |
| 53 | stop_lttng_tracing_ok "${SESSION_NAME}" |
| 54 | destroy_lttng_session_ok "${SESSION_NAME}" |
| 55 | |
| 56 | # shellcheck disable=SC2119 |
| 57 | stop_lttng_sessiond |
| 58 | |
| 59 | kill "${TESTAPP_PID}" |
| 60 | rm -rf "${OUTPUT_DIR}" |