#!/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)/
source $TESTDIR/utils/utils.sh
-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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ stop_lttng_tracing_ok $SESSION_NAME
trace_match_all_demo_events
return $?
fail "Enable event $event_name with filtering for session $sess_name twice failure NOT detected"
fi
- start_lttng_tracing $SESSION_NAME
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ 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
+ start_lttng_tracing_ok $SESSION_NAME
run_demo_app
- stop_lttng_tracing $SESSION_NAME
+ stop_lttng_tracing_ok $SESSION_NAME
# Expect only "ust_tests_demo" events.
trace_matches "$DEMO_EVENT1" $NUM_DEMO1_EVENT $TRACE_PATH
print_test_banner "$TEST_DESC"
+bail_out_if_no_babeltrace
+
+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"
while [ "$i" -lt "$TEST_COUNT" ]; do
- TRACE_PATH=$(mktemp -d)
+ TRACE_PATH=$(mktemp -d -t tmp.test_overlap.XXXXXX)
- create_lttng_session $SESSION_NAME $TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME $TRACE_PATH
# Execute test
${TESTS[$i]}
- destroy_lttng_session $SESSION_NAME
+ destroy_lttng_session_ok $SESSION_NAME
rm -rf $TRACE_PATH