#!/bin/bash
#
-# Copyright (C) - 2012 David Goulet <dgoulet@efficios.com>
+# Copyright (C) 2012 David Goulet <dgoulet@efficios.com>
#
-# This library is free software; you can redistribute it and/or modify it under
-# the terms of the GNU Lesser General Public License as published by the Free
-# Software Foundation; version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
-# details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with this library; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+# SPDX-License-Identifier: LGPL-2.1-only
+
TEST_DESC="UST - Wildcard overlap"
CURDIR=$(dirname $0)/
NUM_DEMO2_EVENT=5
NUM_DEMO3_EVENT=1
-NUM_TESTS=260
+NUM_TESTS=259
source $TESTDIR/utils/utils.sh
-print_test_banner "$TEST_DESC"
-
-if [ ! -x "$CURDIR/demo/demo" ]; then
- BAIL_OUT "No UST nevents binary detected."
-fi
-
# MUST set TESTDIR before calling those functions
run_demo_app()
cd $CURDIR/demo
# Start test
+ diag "Running application"
./demo-trace >/dev/null 2>&1
- ok $? "Start application"
+ ok $? "Application done"
cd -
}
diag "Simple wildcard overlap"
- enable_ust_lttng_event $SESSION_NAME "$event_wild1"
- enable_ust_lttng_event $SESSION_NAME "$event_wild2"
+ enable_ust_lttng_event_ok $SESSION_NAME "$event_wild1"
+ enable_ust_lttng_event_ok $SESSION_NAME "$event_wild2"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1"
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==0"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==0"
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1"
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==0"
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==0"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_no_demo_events
return $?
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1"
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==0"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==0"
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_matches $DEMO_EVENT1 $NUM_DEMO1_EVENT $TRACE_PATH
trace_matches $DEMO_EVENT1_2 0 $TRACE_PATH
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1"
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==0"
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==0"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_no_demo_events
return $?
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1&&1==1"
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1"
- # Enabling the same events with same filters should fail
+ # Enabling the same events with same filters should fail. This one is expected to fail.
$TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-event "$event_wild2" -s $SESSION_NAME -u --filter "1==1" >/dev/null 2>&1
-
- if [ $? -eq 1 ]; then
+ if [ $? -ne 0 ]; then
pass "Enable event $event_name with filtering for session $sess_name twice failure detected"
else
- fail "Enable event $event_name with filtering for session $sess_name twice failure detected"
+ fail "Enable event $event_name with filtering for session $sess_name twice failure NOT detected"
fi
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1"
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==0"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==0&&1==0"
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==0"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_no_demo_events
return $?
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1&&1==1"
enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1"
- disable_ust_lttng_event $SESSION_NAME "ust*"
-
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_matches $DEMO_EVENT1 $NUM_DEMO1_EVENT $TRACE_PATH
trace_matches $DEMO_EVENT1_2 0 $TRACE_PATH
disable_ust_lttng_event $SESSION_NAME "ust*"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_no_demo_events
return $?
diag "Enable bad wildcard"
- enable_ust_lttng_event $SESSION_NAME "$event_wild1"
- enable_ust_lttng_event $SESSION_NAME "$event_wild2"
- enable_ust_lttng_event $SESSION_NAME "$event_wild3"
+ enable_ust_lttng_event_ok $SESSION_NAME "$event_wild1"
+ enable_ust_lttng_event_ok $SESSION_NAME "$event_wild2"
+ enable_ust_lttng_event_ok $SESSION_NAME "$event_wild3"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_no_demo_events
return $?
diag "Simple wildcard 2"
- enable_ust_lttng_event $SESSION_NAME "$event_wild1"
- enable_ust_lttng_event $SESSION_NAME "$event_wild2"
+ enable_ust_lttng_event_ok $SESSION_NAME "$event_wild1"
+ enable_ust_lttng_event_ok $SESSION_NAME "$event_wild2"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild1" "TRACE_WARNING"
enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild2" "TRACE_CRIT"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild1" "TRACE_WARNING"
enable_ust_lttng_event_loglevel_only $SESSION_NAME "$event_wild2" "TRACE_CRIT"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild1" "TRACE_WARNING"
enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild2" "TRACE_CRIT"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild1" "TRACE_CRIT"
enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild2" "TRACE_WARNING"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild1" "TRACE_CRIT"
enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild2" "TRACE_WARNING"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
trace_matches $DEMO_EVENT1 $NUM_DEMO1_EVENT $TRACE_PATH
trace_matches $DEMO_EVENT1_2 0 $TRACE_PATH
diag "Disable simple wildcard"
- enable_ust_lttng_event $SESSION_NAME "$event_wild1"
- enable_ust_lttng_event $SESSION_NAME "$event_wild2"
+ enable_ust_lttng_event_ok $SESSION_NAME "$event_wild1"
+ enable_ust_lttng_event_ok $SESSION_NAME "$event_wild2"
disable_ust_lttng_event $SESSION_NAME "$event_wild1"
disable_ust_lttng_event $SESSION_NAME "$event_wild2"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
# No events are expected.
trace_match_no_demo_events
diag "Disable wildcard overlap"
- enable_ust_lttng_event $SESSION_NAME "$event_wild1"
- enable_ust_lttng_event $SESSION_NAME "$event_wild2"
+ enable_ust_lttng_event_ok $SESSION_NAME "$event_wild1"
+ enable_ust_lttng_event_ok $SESSION_NAME "$event_wild2"
disable_ust_lttng_event $SESSION_NAME "$event_wild1"
- start_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1
+ stop_lttng_tracing_ok $SESSION_NAME
# Expect only "ust_tests_demo" events.
trace_matches "$DEMO_EVENT1" $NUM_DEMO1_EVENT $TRACE_PATH
plan_tests $NUM_TESTS
+print_test_banner "$TEST_DESC"
+
+if [ -x "$CURDIR/demo/demo" ]; then
+ foundbin=1
+else
+ foundbin=0
+fi
+
+skip $foundbin "No UST nevents binary detected. Skipping all tests." $NUM_TESTS && exit 0
+
TESTS=(
"test_enable_wildcard_filter"
"test_enable_wildcard_filter_2"
TRACE_PATH=$(mktemp -d)
- create_lttng_session $SESSION_NAME $TRACE_PATH >/dev/null 2>&1
+ create_lttng_session_ok $SESSION_NAME $TRACE_PATH
# Execute test
${TESTS[$i]}
- if [ $? -ne 0 ]; then
- stop_lttng_sessiond
- exit 1
- fi
- destroy_lttng_session $SESSION_NAME >/dev/null 2>&1
+ destroy_lttng_session_ok $SESSION_NAME
rm -rf $TRACE_PATH