X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fregression%2Ftools%2Ffiltering%2Ftest_unsupported_op;h=985f14e14d106299b894d4faa37f19b75b53d5e4;hb=f6788fc449c6001c57476ee37c3387d299e08109;hp=9fac9dec82408e7ab3b5b3f8e02c086ac3d4d001;hpb=ef8343605f92072ca2ed7174b0cc2594ee33dfab;p=lttng-tools.git diff --git a/tests/regression/tools/filtering/test_unsupported_op b/tests/regression/tools/filtering/test_unsupported_op index 9fac9dec8..985f14e14 100755 --- a/tests/regression/tools/filtering/test_unsupported_op +++ b/tests/regression/tools/filtering/test_unsupported_op @@ -24,41 +24,43 @@ SESSION_NAME="filter-unsupported-ops" EVENT_NAME="bogus" ENABLE_EVENT_STDERR="/tmp/unsupported-ops-enable" TRACE_PATH=$(mktemp -d) +NUM_GLOBAL_TESTS=2 +NUM_UST_TESTS=44 +NUM_KERNEL_TESTS=44 +NUM_TESTS=$(($NUM_UST_TESTS+$NUM_KERNEL_TESTS+$NUM_GLOBAL_TESTS)) source $TESTDIR/utils/utils.sh -print_test_banner "$TEST_DESC" - -function enable_ust_lttng_event_filter_unsupported +function enable_lttng_event_filter_unsupported { - sess_name=$1 - event_name=$2 - filter=$3 + domain="$1" + sess_name="$2" + event_name="$3" + filter="$4" - echo -n "Enabling lttng event with filtering and unsupported operator " enable_cmd="$TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-event" - $enable_cmd $event_name -s $sess_name -u --filter "$filter" 2> $ENABLE_EVENT_STDERR 1> /dev/null + $enable_cmd $event_name -s $sess_name $domain --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 unsupported operator" return 1 else - print_ok + pass "Enable lttng event with filtering and unsupported operator" return 0 fi } function test_unsupported_op { - test_op_str=$1 - test_op_tkn=$2 + domain="$1" + test_op_str="$2" + test_op_tkn="$3" - echo "" - echo -e "=== Testing filter expression with unsupported operator $test_op_str ($test_op_tkn)" + diag "Test filter expression with unsupported operator $test_op_str ($test_op_tkn)" # Create session - create_lttng_session $SESSION_NAME $TRACE_PATH + create_lttng_session_ok $SESSION_NAME $TRACE_PATH # Create filter if [ "$test_op_str" == "UNARY_BIN_NOT" ]; then @@ -68,24 +70,28 @@ function test_unsupported_op fi # Apply filter - enable_ust_lttng_event_filter_unsupported $SESSION_NAME $EVENT_NAME "$TEST_FILTER" + enable_lttng_event_filter_unsupported $domain $SESSION_NAME $EVENT_NAME "$TEST_FILTER" # Test stderr for unsupported operator - echo -n "Unsupported operator test $test_op_str ($test_op_tkn) " + grep -i -q "not[[:space:]]\+supported" $ENABLE_EVENT_STDERR if [ $? -eq 1 ]; then - print_fail + fail "Unsupported operator test $test_op_str ($test_op_tkn)" return 1 else - print_ok + pass "Unsupported operator test $test_op_str ($test_op_tkn)" fi # Destroy session - destroy_lttng_session $SESSION_NAME + destroy_lttng_session_ok $SESSION_NAME return 0 } +plan_tests $NUM_TESTS + +print_test_banner "$TEST_DESC" + # Unsupported operators OP_STR=("MUL" "DIV" "MOD" "PLUS" "MINUS" "LSHIFT" "RSHIFT" "BIN_AND" "BIN_OR" "BIN_XOR" "UNARY_BIN_NOT") @@ -93,12 +99,14 @@ OP_STR=("MUL" "DIV" "MOD" "PLUS" "MINUS" "LSHIFT" "RSHIFT" OP_TKN=("*" "/" "%" "+" "-" "<<" ">>" "&" "|" "^" "~") OP_COUNT=${#OP_STR[@]} -i=0 start_lttng_sessiond +diag "Test UST unsupported filter operations" + +i=0 while [ "$i" -lt "$OP_COUNT" ]; do - test_unsupported_op "${OP_STR[$i]}" "${OP_TKN[$i]}" + test_unsupported_op -u "${OP_STR[$i]}" "${OP_TKN[$i]}" if [ $? -eq 1 ]; then exit 1 @@ -107,6 +115,28 @@ while [ "$i" -lt "$OP_COUNT" ]; do let "i++" done +if [ "$(id -u)" == "0" ]; then + isroot=1 +else + isroot=0 +fi + +skip $isroot "Root access is needed. Skipping all kernel unsupported filter operations tests." $NUM_KERNEL_TESTS || +{ + diag "Test kernel unsupported filter operations" + + i=0 + while [ "$i" -lt "$OP_COUNT" ]; do + test_unsupported_op -k "${OP_STR[$i]}" "${OP_TKN[$i]}" + + if [ $? -eq 1 ]; then + exit 1 + fi + + let "i++" + done +} + stop_lttng_sessiond # Cleanup