X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Ffiltering%2Ftest_valid_filter;h=79a9d85f237c393317e9df6da9ae369aeb3a29d0;hb=HEAD;hp=6503cba2435a789e79ea313b9001a71d0c5bcaf6;hpb=831b702b8e8914a3ca3b4905a55aed93c7d30bbf;p=lttng-tools.git diff --git a/tests/regression/tools/filtering/test_valid_filter b/tests/regression/tools/filtering/test_valid_filter index 6503cba24..79a9d85f2 100755 --- a/tests/regression/tools/filtering/test_valid_filter +++ b/tests/regression/tools/filtering/test_valid_filter @@ -1,31 +1,21 @@ #!/bin/bash # -# Copyright (C) - 2012 Christian Babeux +# Copyright (C) 2012 Christian Babeux # -# 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" CURDIR=$(dirname $0)/ TESTDIR=$CURDIR/../../.. -LTTNG_BIN="lttng" -STATS_BIN="$TESTDIR/utils/babelstats.pl" +BT2_PLUGINS_DIR="${TESTDIR}/utils/bt2_plugins" + 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 @@ -105,11 +95,10 @@ function test_valid_filter 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 @@ -122,16 +111,12 @@ function test_valid_filter 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` - - rm -rf $trace_path + stats=$("${BABELTRACE_BIN}" --plugin-path "${BT2_PLUGINS_DIR}" "${trace_path}" -c filter.lttngtest.event_name -p "names=[\"${event_name}\"]" -c sink.lttngtest.field_stats) $validator "$stats" - ok $? "Validate trace filter output" - rm -rf $trace_path } @@ -413,6 +398,8 @@ plan_tests $NUM_TESTS 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 && " @@ -844,6 +831,16 @@ UST_FILTERS=( 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 ) @@ -1437,6 +1434,16 @@ KERNEL_FILTERS=( 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 @@ -1444,13 +1451,7 @@ KERNEL_FILTERS=( 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" @@ -1476,7 +1477,7 @@ skip $isroot "Root access is needed. Skipping all kernel valid filter tests." $N i=$(( i + 2 )) done - rmmod lttng-test + modprobe --remove lttng-test } stop_lttng_sessiond