3 # Copyright (C) 2012 Christian Babeux <christian.babeux@efficios.com>
5 # SPDX-License-Identifier: GPL-2.0-only
8 TEST_DESC
="Filtering - Unsupported operators"
11 TESTDIR
=$CURDIR/..
/..
/..
12 SESSION_NAME
="filter-unsupported-ops"
14 ENABLE_EVENT_STDERR
="/tmp/unsupported-ops-enable"
15 TRACE_PATH
=$
(mktemp
--tmpdir -d tmp.test_filtering_unsupported_ops_trace_path.XXXXXX
)
19 NUM_TESTS
=$
(($NUM_UST_TESTS+$NUM_KERNEL_TESTS+$NUM_GLOBAL_TESTS))
21 source $TESTDIR/utils
/utils.sh
23 function enable_lttng_event_filter_unsupported
30 enable_cmd
="$TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-event"
31 $enable_cmd $event_name -s $sess_name $domain --filter "$filter" 2> $ENABLE_EVENT_STDERR 1> /dev
/null
35 fail
"Enable lttng event with filtering and unsupported operator"
38 pass
"Enable lttng event with filtering and unsupported operator"
43 function test_unsupported_op
49 diag
"Test filter expression with unsupported operator $test_op_str ($test_op_tkn)"
52 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
55 if [ "$test_op_str" == "UNARY_BIN_NOT" ]; then
56 TEST_FILTER
="${test_op_tkn}1"
58 TEST_FILTER
="intfield $test_op_tkn 1"
62 enable_lttng_event_filter_unsupported
$domain $SESSION_NAME $EVENT_NAME "$TEST_FILTER"
64 # Test stderr for unsupported operator
66 grep -i -q "not[[:space:]]\+supported" $ENABLE_EVENT_STDERR
69 fail
"Unsupported operator test $test_op_str ($test_op_tkn)"
72 pass
"Unsupported operator test $test_op_str ($test_op_tkn)"
76 destroy_lttng_session_ok
$SESSION_NAME
82 print_test_banner
"$TEST_DESC"
84 # Unsupported operators
85 OP_STR
=("MUL" "DIV" "MOD" "PLUS" "MINUS")
87 OP_TKN
=("*" "/" "%" "+" "-")
89 OP_COUNT
=${#OP_STR[@]}
93 diag
"Test UST unsupported filter operations"
96 while [ "$i" -lt "$OP_COUNT" ]; do
97 test_unsupported_op
-u "${OP_STR[$i]}" "${OP_TKN[$i]}"
106 if [ "$(id -u)" == "0" ]; then
112 skip
$isroot "Root access is needed. Skipping all kernel unsupported filter operations tests." $NUM_KERNEL_TESTS ||
114 diag
"Test kernel unsupported filter operations"
117 while [ "$i" -lt "$OP_COUNT" ]; do
118 test_unsupported_op
-k "${OP_STR[$i]}" "${OP_TKN[$i]}"
120 if [ $?
-eq 1 ]; then
131 rm -f $ENABLE_EVENT_STDERR