Refactor: test: wrapper for start_lttng_tracing
[lttng-tools.git] / tests / regression / tools / filtering / test_valid_filter
index 09ac8689e706a24807a0d7aef2a5a3cb3b02c2f9..9a9e31c83aaea4b64f6e8e9ad18e660a1f40e1d4 100755 (executable)
@@ -21,16 +21,14 @@ CURDIR=$(dirname $0)/
 TESTDIR=$CURDIR/../../..
 LTTNG_BIN="lttng"
 BIN_NAME="gen-ust-events"
-STATS_BIN="babelstats.pl"
+STATS_BIN="$TESTDIR/utils/babelstats.pl"
 SESSION_NAME="valid_filter"
 EVENT_NAME="tp:tptest"
 NR_ITER=100
-NUM_TESTS=198
+NUM_TESTS=290
 
 source $TESTDIR/utils/utils.sh
 
-print_test_banner "$TEST_DESC"
-
 if [ ! -x "$CURDIR/$BIN_NAME" ]; then
        BAIL_OUT "No UST nevents binary detected."
 fi
@@ -48,15 +46,7 @@ function enable_ust_lttng_event_filter()
 
 function run_apps
 {
-       ./$CURDIR/$BIN_NAME $NR_ITER & >/dev/null 2>&1
-}
-
-function wait_apps
-{
-       while [ -n "$(pidof $BIN_NAME)" ]; do
-               sleep 1
-       done
-       pass "Wait for application end"
+       ./$CURDIR/$BIN_NAME $NR_ITER >/dev/null 2>&1
 }
 
 function test_valid_filter
@@ -69,21 +59,20 @@ function test_valid_filter
        trace_path=$(mktemp -d)
 
        # Create session
-       create_lttng_session $SESSION_NAME $trace_path
+       create_lttng_session_ok $SESSION_NAME $trace_path
 
        # Enable filter
        enable_ust_lttng_event_filter $SESSION_NAME $EVENT_NAME $filter
 
        # Trace apps
-       start_lttng_tracing $SESSION_NAME
+       start_lttng_tracing_ok $SESSION_NAME
        run_apps
-       wait_apps
        stop_lttng_tracing $SESSION_NAME
 
        # Destroy session
        destroy_lttng_session $SESSION_NAME
 
-       stats=`babeltrace $trace_path | $CURDIR/$STATS_BIN --tracepoint $EVENT_NAME`
+       stats=`babeltrace $trace_path | $STATS_BIN --tracepoint $EVENT_NAME`
 
        rm -rf $trace_path
 
@@ -146,6 +135,32 @@ function validator_intfield_gt
        return $status
 }
 
+function validator_has_no_event
+{
+       stats="$1"
+       status=0
+
+       validate_min_max "$stats" "intfield" "0" "99"
+       status=$(($status|$?))
+
+       if [ $status -eq 0 ]; then
+               return 1
+       else
+               return 0
+       fi
+}
+
+function validator_has_events
+{
+       stats="$1"
+       status=0
+
+       validate_min_max "$stats" "intfield" "0" "99"
+       status=$(($status|$?))
+
+       return $status
+}
+
 function validator_intfield_ge
 {
        stats="$1"
@@ -313,6 +328,8 @@ function validator_true_statement
 
 plan_tests $NUM_TESTS
 
+print_test_banner "$TEST_DESC"
+
 IFS=$'\n'
 
 issue_356_filter="intfield > 0 && intfield > 1 && "
@@ -351,6 +368,26 @@ FILTERS=("intfield"                                                     #1
         "stringfield2 == \"\\\*\""                                     #26
         "1.0 || intfield || 1.0"                                       #27
         "1 < intfield"                                                 #28
+        "\$ctx.vtid == 0"                                              #29
+        "\$ctx.vtid != 0"                                              #30
+        "0 == \$ctx.vtid"                                              #31
+        "0 != \$ctx.vtid"                                              #32
+        "\$ctx.vpid == 0"                                              #33
+        "\$ctx.vpid != 0"                                              #34
+        "0 == \$ctx.vpid"                                              #35
+        "0 != \$ctx.vpid"                                              #36
+        "\$ctx.procname != \"$BIN_NAME\""                              #37
+        "\$ctx.procname == \"$BIN_NAME\""                              #38
+        "\"$BIN_NAME\" != \$ctx.procname"                              #39
+        "\"$BIN_NAME\" == \$ctx.procname"                              #40
+        "\$ctx.procname != \"$BIN_NAME*\""                             #41
+        "\$ctx.procname == \"$BIN_NAME*\""                             #42
+        "\"$BIN_NAME*\" != \$ctx.procname"                             #43
+        "\"$BIN_NAME*\" == \$ctx.procname"                             #44
+        "\$ctx.procname != \"*\""                                      #45
+        "\$ctx.procname == \"*\""                                      #46
+        "\"*\" != \$ctx.procname"                                      #47
+        "\"*\" == \$ctx.procname"                                      #48
 )
 
 VALIDATOR=("validator_intfield"                     #1
@@ -381,6 +418,26 @@ VALIDATOR=("validator_intfield"                     #1
           "validator_true_statement"               #26
           "validator_true_statement"               #27
           "validator_intfield_gt"                  #28
+          "validator_has_no_event"                 #29
+          "validator_has_events"                   #30
+          "validator_has_no_event"                 #31
+          "validator_has_events"                   #32
+          "validator_has_no_event"                 #33
+          "validator_has_events"                   #34
+          "validator_has_no_event"                 #35
+          "validator_has_events"                   #36
+          "validator_has_no_event"                 #36
+          "validator_has_events"                   #37
+          "validator_has_no_event"                 #38
+          "validator_has_events"                   #39
+          "validator_has_no_event"                 #41
+          "validator_has_events"                   #42
+          "validator_has_no_event"                 #43
+          "validator_has_events"                   #44
+          "validator_has_no_event"                 #45
+          "validator_has_events"                   #46
+          "validator_has_no_event"                 #47
+          "validator_has_events"                   #48
 )
 
 FILTER_COUNT=${#FILTERS[@]}
This page took 0.02715 seconds and 5 git commands to generate.