#!/bin/bash
#
-# Copyright (C) - 2012 Christian Babeux <christian.babeux@efficios.com>
+# Copyright (C) 2012 Christian Babeux <christian.babeux@efficios.com>
#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License, version 2 only, as
-# published by the Free Software Foundation.
+# SPDX-License-Identifier: GPL-2.0-only
#
-# This program 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 General Public License for
-# more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
TEST_DESC="Filtering - Valid filters"
SESSION_NAME="valid_filter"
NR_ITER=100
NUM_GLOBAL_TESTS=2
-NUM_UST_TESTS=1110
-NUM_KERNEL_TESTS=1044
+NUM_UST_TESTS=1122
+NUM_KERNEL_TESTS=1056
NUM_TESTS=$(($NUM_UST_TESTS+$NUM_KERNEL_TESTS+$NUM_GLOBAL_TESTS))
source $TESTDIR/utils/utils.sh
event_name="$3"
filter="$4"
validator="$5"
+ local trace_path=$(mktemp -d -t tmp.test_filtering_valid_filters_trace_path.XXXXXX)
diag "Test valid $domain_name filter: $filter"
- trace_path=$(mktemp -d)
-
# Create session
create_lttng_session_ok $SESSION_NAME $trace_path
stop_lttng_tracing_ok $SESSION_NAME
# Destroy session
- destroy_lttng_session_ok $SESSION_NAME
+ destroy_lttng_session_ok $SESSION_NAME --no-wait
- stats=`babeltrace $trace_path | $STATS_BIN --tracepoint $event_name`
+ stats=`"$BABELTRACE_BIN" $trace_path | $STATS_BIN --tracepoint $event_name`
rm -rf $trace_path
print_test_banner "$TEST_DESC"
+bail_out_if_no_babeltrace
+
issue_356_filter="intfield > 0 && intfield > 1 && "
issue_356_filter+="intfield > 2 && intfield > 3 && "
issue_356_filter+="intfield > 4 && intfield > 5 && "
has_no_event
"0 == \$ctx.vtid.blah"
+ # check that bytecode linker refuses to link against a
+ # non-string array.
+ has_no_event
+ 'arrfield1 != "dontmatch"'
+
+ # check that bytecode linker refuses to link against a
+ # non-string sequence.
+ has_no_event
+ 'seqfield1 != "dontmatch"'
+
END
)
has_no_event
'stringfield == "test\*"'
+ # check that bytecode linker refuses to link against a
+ # non-string array.
+ has_no_event
+ 'arrfield1 != "dontmatch"'
+
+ # check that bytecode linker refuses to link against a
+ # non-string sequence.
+ has_no_event
+ 'seqfield1 != "dontmatch"'
+
${KIRK_KRAUSS_TESTS[@]}
END
IFS=$OLDIFS
-if [ "$(id -u)" == "0" ]; then
- isroot=1
-else
- isroot=0
-fi
-
-skip $isroot "Root access is needed. Skipping all kernel valid filter tests." $NUM_KERNEL_TESTS ||
+check_skip_kernel_test "$NUM_KERNEL_TESTS" "Skipping kernel valid filter tests." ||
{
diag "Test kernel valid filters"
i=$(( i + 2 ))
done
- rmmod lttng-test
+ modprobe --remove lttng-test
}
stop_lttng_sessiond