Filter: Implement rshift, lshift, bit not operators
[lttng-tools.git] / tests / regression / tools / filtering / test_valid_filter
index a425a297259efc612acd3a47f97040dadada2237..722a6f6ad94e6bcc7a6eb3e73d24dac86032d3d5 100755 (executable)
@@ -24,8 +24,8 @@ STATS_BIN="$TESTDIR/utils/babelstats.pl"
 SESSION_NAME="valid_filter"
 NR_ITER=100
 NUM_GLOBAL_TESTS=2
-NUM_UST_TESTS=906
-NUM_KERNEL_TESTS=840
+NUM_UST_TESTS=1074
+NUM_KERNEL_TESTS=1008
 NUM_TESTS=$(($NUM_UST_TESTS+$NUM_KERNEL_TESTS+$NUM_GLOBAL_TESTS))
 
 source $TESTDIR/utils/utils.sh
@@ -643,6 +643,96 @@ UST_FILTERS=(
        intfield
        $issue_356_filter
 
+       true_statement
+       "1&1"
+
+       true_statement
+       "0|1"
+
+       true_statement
+       "0^1"
+
+       true_statement
+       "seqfield4[1]==2"
+
+       true_statement
+       "arrfield1[1]==2"
+
+       true_statement
+       "arrfield1[1]==2"
+
+       true_statement
+       "arrfield3[1]==2"
+
+       true_statement
+       "seqfield3[1]==2"
+
+       true_statement
+       "1 | (1 | (1 | 1))"
+
+       true_statement
+       "1 >= (1 >= (1 >= 1))"
+
+       true_statement
+       "0x101 & 0x100 == 0x100"
+
+       true_statement
+       "0x101 | 0x10100 == 0x10101"
+
+       true_statement
+       "0xF00F0F ^ 0xFF0F00 == 0x0F000F"
+
+       true_statement
+       "(1 << 1) == 2"
+
+       true_statement
+       "(4 >> 1) == 2"
+
+       true_statement
+       "(1 << 8) == 256"
+
+       true_statement
+       "(262144 >> 16) == 4"
+
+       true_statement
+       "(~0 & 0xffff) == 0xffff"
+
+       true_statement
+       "(~0 & 0xffffffff) == 0xffffffff"
+
+       true_statement
+       "(~0 & 0xffffffffffffffff) == 0xffffffffffffffff"
+
+       true_statement
+       "-1==~0"
+
+       true_statement
+       "1<<1==2"       # C99 operator priority: comparator before bitwise
+
+       has_no_event
+       "!(1<<1==2)"    # C99 operator priority: comparator before bitwise
+
+       true_statement
+       "(1 << 32) == 4294967296"
+
+       true_statement
+       "(1 << 63) == 9223372036854775808"
+
+       true_statement
+       "arrfield1[2] & 1 == 1"
+
+       true_statement
+       "arrfield1[2] | 0x111000 == 0x111003"
+
+       true_statement
+       "(arrfield1[0] | arrfield1[1] | arrfield1[2]) == 0x3"
+
+       true_statement
+       "seqfield4[2] & 1 == 1"
+
+       true_statement
+       "seqfield4[2] | 0x111000 == 0x111003"
+
        true_statement
        "intfield < 0xDEADBEEF"
 
@@ -736,12 +826,6 @@ UST_FILTERS=(
        has_no_event
        "0 == \$ctx.vtid.blah"
 
-       has_no_event
-       "\$ctx.44 == 0"
-
-       has_no_event
-       "0 == \$ctx.44"
-
        END
 )
 
@@ -1020,6 +1104,96 @@ KERNEL_FILTERS=(
        intfield
        $issue_356_filter
 
+       true_statement
+       "1&1"
+
+       true_statement
+       "0|1"
+
+       true_statement
+       "0^1"
+
+       true_statement
+       "seqfield4[1]==2"
+
+       true_statement
+       "arrfield1[1]==2"
+
+       true_statement
+       "arrfield1[1]==2"
+
+       true_statement
+       "arrfield3[1]==2"
+
+       true_statement
+       "seqfield3[1]==2"
+
+       true_statement
+       "1 | (1 | (1 | 1))"
+
+       true_statement
+       "1 >= (1 >= (1 >= 1))"
+
+       true_statement
+       "0x101 & 0x100 == 0x100"
+
+       true_statement
+       "0x101 | 0x10100 == 0x10101"
+
+       true_statement
+       "0xF00F0F ^ 0xFF0F00 == 0x0F000F"
+
+       true_statement
+       "(1 << 1) == 2"
+
+       true_statement
+       "(4 >> 1) == 2"
+
+       true_statement
+       "(1 << 8) == 256"
+
+       true_statement
+       "(262144 >> 16) == 4"
+
+       true_statement
+       "(~0 & 0xffff) == 0xffff"
+
+       true_statement
+       "(~0 & 0xffffffff) == 0xffffffff"
+
+       true_statement
+       "(~0 & 0xffffffffffffffff) == 0xffffffffffffffff"
+
+       true_statement
+       "-1==~0"
+
+       true_statement
+       "1<<1==2"       # C99 operator priority: comparator before bitwise
+
+       has_no_event
+       "!(1<<1==2)"    # C99 operator priority: comparator before bitwise
+
+       true_statement
+       "(1 << 32) == 4294967296"
+
+       true_statement
+       "(1 << 63) == 9223372036854775808"
+
+       true_statement
+       "arrfield1[2] & 1 == 1"
+
+       true_statement
+       "arrfield1[2] | 0x111000 == 0x111003"
+
+       true_statement
+       "(arrfield1[0] | arrfield1[1] | arrfield1[2]) == 0x3"
+
+       true_statement
+       "seqfield4[2] & 1 == 1"
+
+       true_statement
+       "seqfield4[2] | 0x111000 == 0x111003"
+
        true_statement
        "intfield < 0xDEADBEEF"
 
@@ -1113,12 +1287,6 @@ KERNEL_FILTERS=(
        has_no_event
        "0 == \$ctx.vtid.blah"
 
-       has_no_event
-       "\$ctx.44 == 0"
-
-       has_no_event
-       "0 == \$ctx.44"
-
        stringfield_has_events
        'stringfield == "test"'
 
This page took 0.025086 seconds and 4 git commands to generate.