X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Ffiltering%2Ftest_invalid_filter;h=5e096a5b389382be48cc9f5e3953a1a4fcb483e2;hb=e02b109ba0132f2c715fdb9db55cbdf8f8203749;hp=48db698ddf7b0f135591c67fc58cc2aa9ca02024;hpb=ef8343605f92072ca2ed7174b0cc2594ee33dfab;p=lttng-tools.git diff --git a/tests/regression/tools/filtering/test_invalid_filter b/tests/regression/tools/filtering/test_invalid_filter index 48db698dd..5e096a5b3 100755 --- a/tests/regression/tools/filtering/test_invalid_filter +++ b/tests/regression/tools/filtering/test_invalid_filter @@ -24,26 +24,24 @@ SESSION_NAME="filter-invalid" EVENT_NAME="bogus" ENABLE_EVENT_STDERR="/tmp/invalid-filters-stderr" TRACE_PATH=$(mktemp -d) +NUM_TESTS=143 source $TESTDIR/utils/utils.sh -print_test_banner "$TEST_DESC" - function enable_ust_lttng_event_filter { sess_name="$1" event_name="$2" filter="$3" - echo -n "Enabling lttng event with filtering and invalid filter " $TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-event $event_name -s $sess_name -u --filter "$filter" 2> $ENABLE_EVENT_STDERR 1> /dev/null # Enable must fail if [ $? -eq 0 ]; then - print_fail + fail "Enable lttng event with filtering and invalid filter" return 1 else - print_ok + pass "Enable lttng event with filtering and invalid filter" return 0 fi } @@ -52,9 +50,8 @@ function test_invalid_filter { test_invalid_filter="$1" - echo "" - echo -e "=== Testing filter expression with invalid filter" - echo -e "Filter: $test_invalid_filter" + diag "Test filter expression with invalid filter" + diag "Filter: $test_invalid_filter" # Create session create_lttng_session $SESSION_NAME $TRACE_PATH @@ -72,8 +69,7 @@ function test_bytecode_limit # Generate a huge bytecode with some perl-fu BYTECODE_LIMIT=`perl -e 'print "intfield" . " && 1" x5460'` - echo "" - echo -e "=== Testing filter bytecode limits (64KiB)" + diag "Test filter bytecode limits (64KiB)" # Create session create_lttng_session $SESSION_NAME $TRACE_PATH @@ -85,6 +81,10 @@ function test_bytecode_limit destroy_lttng_session $SESSION_NAME } +plan_tests $NUM_TESTS + +print_test_banner "$TEST_DESC" + IFS=$'\n' INVALID_FILTERS=( # Unsupported ops @@ -118,7 +118,7 @@ INVALID_FILTERS=( "!a.f.d" "asdf.asdfsd.sadf < 4" "asdfasdf->asdfasdf < 2" - # String can't be root node + # String can\'t be root node "\"somestring\"" # Unary op on string not allowed "!\"somestring\"" @@ -133,6 +133,16 @@ INVALID_FILTERS=( # Nesting of binary operator not allowed "1 | (1 | (1 | 1))" "1 > (1 > (1 > 1))" + # Exactly one chaining level under \$ctx allowed + "\$ctx.vtid.blah == 0" + "0 == \$ctx.vtid.blah" + "\$ctx.44 == 0" + "0 == \$ctx.44" + "\$ctx == 0" + "0 == \$ctx" + # Only \$ctx is supported for now + "\$global.value == 0" + "0 == \$global.value" ) start_lttng_sessiond