Gen-ust-events: use options instead of arguments
[lttng-tools.git] / tests / regression / ust / java-log4j / test_java_log4j
index 6abc12fe301e4325caa908c87fc902ba91af99d9..a47060559cffcfbace207ab37a0c0b671a25c5e7 100755 (executable)
@@ -27,10 +27,10 @@ TESTAPP_PATH="$CURDIR/$TESTAPP_NAME"
 SESSION_NAME="log4j"
 EVENT_NAME="log4j-event"
 EVENT_NAME2="log4j-event-2"
-JAVA_CP="$CURDIR:/usr/local/share/java/liblttng-ust-agent.jar:/usr/share/java/*"
+JAVA_CP="$CURDIR:$CLASSPATH"
 OUTPUT_DEST="/dev/null"
 
-NUM_TESTS=155
+NUM_TESTS=195
 
 source $TESTDIR/utils/utils.sh
 
@@ -40,7 +40,7 @@ function run_app
        local fire_second_tp=$2
 
        # FIXME: test app should have synchro.
-       java -cp $JAVA_CP -Djava.library.path="/usr/local/lib:/usr/lib" $TESTAPP_NAME $NR_ITER $NR_MSEC_WAIT $debug_tp $fire_second_tp >/dev/null 2>&1
+       java -cp $JAVA_CP -Djava.library.path="$LD_LIBRARY_PATH:/usr/local/lib:/usr/lib" $TESTAPP_NAME $NR_ITER $NR_MSEC_WAIT $debug_tp $fire_second_tp >/dev/null 2>&1
 }
 
 function run_app_background
@@ -108,8 +108,8 @@ function test_log4j_before_start ()
        # Wait for the applications started in background
        wait
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -f ${file_sync_after_first}
        rm -f ${file_sync_before_last}
@@ -132,8 +132,8 @@ function test_log4j_after_start ()
        # Run 5 times with a 1 second delay
        run_app
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting all events.
        trace_match_only $EVENT_NAME $NR_ITER $TRACE_PATH
@@ -153,8 +153,8 @@ function test_log4j_loglevel ()
        # Run 5 times with a 1 second delay
        run_app
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting all events.
        trace_match_only $EVENT_NAME $NR_ITER $TRACE_PATH
@@ -171,8 +171,8 @@ function test_log4j_loglevel ()
        # Run 5 times with a 1 second delay
        run_app
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting 0 events.
        trace_match_only $EVENT_NAME 0 $TRACE_PATH
@@ -189,8 +189,8 @@ function test_log4j_loglevel ()
        # Run 5 times with a 1 second delay
        run_app
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting all events.
        trace_match_only $EVENT_NAME $NR_ITER $TRACE_PATH
@@ -209,8 +209,8 @@ function test_log4j_loglevel_multiple ()
        # Run 5 times with a 1 second delay and fire two TP.
        run_app 1
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting all events times two.
        trace_match_only $EVENT_NAME $(($NR_ITER * 2)) $TRACE_PATH
@@ -226,8 +226,8 @@ function test_log4j_loglevel_multiple ()
        # Run 5 times with a 1 second delay and fire two TP.
        run_app 1
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting all events times two.
        trace_match_only $EVENT_NAME $(($NR_ITER * 2)) $TRACE_PATH
@@ -251,10 +251,10 @@ function test_log4j_multi_session_loglevel()
        # Run 5 times with a 1 second delay and fire second TP.
        run_app 1 1
 
-       stop_lttng_tracing $SESSION_NAME-1
-       stop_lttng_tracing $SESSION_NAME-2
-       destroy_lttng_session $SESSION_NAME-1
-       destroy_lttng_session $SESSION_NAME-2
+       stop_lttng_tracing_ok $SESSION_NAME-1
+       stop_lttng_tracing_ok $SESSION_NAME-2
+       destroy_lttng_session_ok $SESSION_NAME-1
+       destroy_lttng_session_ok $SESSION_NAME-2
 
        # Expecting 6 events being the main event plus the second tp.
        trace_match_only $EVENT_NAME $(($NR_ITER + 1)) $TRACE_PATH/$SESSION_NAME-1
@@ -286,10 +286,10 @@ function test_log4j_multi_session_disable()
        # Run 5 times with a 1 second delay and fire second TP.
        run_app 0 1
 
-       stop_lttng_tracing $SESSION_NAME-1
-       stop_lttng_tracing $SESSION_NAME-2
-       destroy_lttng_session $SESSION_NAME-1
-       destroy_lttng_session $SESSION_NAME-2
+       stop_lttng_tracing_ok $SESSION_NAME-1
+       stop_lttng_tracing_ok $SESSION_NAME-2
+       destroy_lttng_session_ok $SESSION_NAME-1
+       destroy_lttng_session_ok $SESSION_NAME-2
 
        # Validate test. Expecting one event of the second TP.
        trace_match_only $EVENT_NAME2 1 $TRACE_PATH/$SESSION_NAME-1
@@ -321,10 +321,10 @@ function test_log4j_multi_session_disable_wildcard()
 
        run_app
 
-       stop_lttng_tracing $SESSION_NAME-1
-       stop_lttng_tracing $SESSION_NAME-2
-       destroy_lttng_session $SESSION_NAME-1
-       destroy_lttng_session $SESSION_NAME-2
+       stop_lttng_tracing_ok $SESSION_NAME-1
+       stop_lttng_tracing_ok $SESSION_NAME-2
+       destroy_lttng_session_ok $SESSION_NAME-1
+       destroy_lttng_session_ok $SESSION_NAME-2
 
        # Validate test. Expecting NO event of the first TP.
        trace_match_only $EVENT_NAME 0 $TRACE_PATH/$SESSION_NAME-1
@@ -339,6 +339,119 @@ function test_log4j_multi_session_disable_wildcard()
        fi
 }
 
+function test_log4j_multi_session_disable_wildcard_begin()
+{
+       ev_name='*-event'
+       diag "Test LOG4J with multiple session with disabled wildcard (at the beginning) event"
+
+       create_lttng_session_ok $SESSION_NAME-1 $TRACE_PATH/$SESSION_NAME-1
+       enable_log4j_lttng_event $SESSION_NAME-1 "$ev_name"
+
+       create_lttng_session_ok $SESSION_NAME-2 $TRACE_PATH/$SESSION_NAME-2
+       enable_log4j_lttng_event $SESSION_NAME-2 "$ev_name"
+
+       disable_log4j_lttng_event $SESSION_NAME-1 "$ev_name"
+
+       start_lttng_tracing_ok $SESSION_NAME-1
+       start_lttng_tracing_ok $SESSION_NAME-2
+
+       run_app 0 1
+
+       stop_lttng_tracing_ok $SESSION_NAME-1
+       stop_lttng_tracing_ok $SESSION_NAME-2
+       destroy_lttng_session_ok $SESSION_NAME-1
+       destroy_lttng_session_ok $SESSION_NAME-2
+
+       # Validate test. Expecting NO event of the first TP.
+       trace_match_only $EVENT_NAME 0 $TRACE_PATH/$SESSION_NAME-1
+       if [ $? -ne 0 ]; then
+               return $?
+       fi
+
+       # Validate test. Expecting all events of the first TP.
+       trace_match_only $EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME-2
+       if [ $? -ne 0 ]; then
+               return $?
+       fi
+}
+
+function test_log4j_multi_session_disable_wildcard_middle()
+{
+       ev_name='log*nt'
+       diag "Test LOG4J with multiple session with disabled wildcard (at the middle) event"
+
+       create_lttng_session_ok $SESSION_NAME-1 $TRACE_PATH/$SESSION_NAME-1
+       enable_log4j_lttng_event $SESSION_NAME-1 "$ev_name"
+
+       create_lttng_session_ok $SESSION_NAME-2 $TRACE_PATH/$SESSION_NAME-2
+       enable_log4j_lttng_event $SESSION_NAME-2 "$ev_name"
+
+       disable_log4j_lttng_event $SESSION_NAME-1 "$ev_name"
+
+       start_lttng_tracing_ok $SESSION_NAME-1
+       start_lttng_tracing_ok $SESSION_NAME-2
+
+       run_app 0 1
+
+       stop_lttng_tracing_ok $SESSION_NAME-1
+       stop_lttng_tracing_ok $SESSION_NAME-2
+       destroy_lttng_session_ok $SESSION_NAME-1
+       destroy_lttng_session_ok $SESSION_NAME-2
+
+       # Validate test. Expecting NO event of the first TP.
+       trace_match_only $EVENT_NAME 0 $TRACE_PATH/$SESSION_NAME-1
+       if [ $? -ne 0 ]; then
+               return $?
+       fi
+
+       # Validate test. Expecting all events of the first TP.
+       trace_match_only $EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME-2
+       if [ $? -ne 0 ]; then
+               return $?
+       fi
+}
+
+function test_log4j_multi_session_disable_wildcard_end()
+{
+       ev_name='log4j-ev*'
+       diag "Test LOG4J with multiple session with disabled wildcard (at the end) event"
+
+       create_lttng_session_ok $SESSION_NAME-1 $TRACE_PATH/$SESSION_NAME-1
+       enable_log4j_lttng_event $SESSION_NAME-1 "$ev_name"
+
+       create_lttng_session_ok $SESSION_NAME-2 $TRACE_PATH/$SESSION_NAME-2
+       enable_log4j_lttng_event $SESSION_NAME-2 "$ev_name"
+
+       disable_log4j_lttng_event $SESSION_NAME-1 "$ev_name"
+
+       start_lttng_tracing_ok $SESSION_NAME-1
+       start_lttng_tracing_ok $SESSION_NAME-2
+
+       run_app 0 1
+
+       stop_lttng_tracing_ok $SESSION_NAME-1
+       stop_lttng_tracing_ok $SESSION_NAME-2
+       destroy_lttng_session_ok $SESSION_NAME-1
+       destroy_lttng_session_ok $SESSION_NAME-2
+
+       # Validate test. Expecting NO event of the first TP.
+       trace_match_only $EVENT_NAME 0 $TRACE_PATH/$SESSION_NAME-1
+       if [ $? -ne 0 ]; then
+               return $?
+       fi
+
+       # Validate test. Expecting all events of the first TP.
+       trace_matches $EVENT_NAME $(( $NR_ITER + 1 )) $TRACE_PATH/$SESSION_NAME-2
+       if [ $? -ne 0 ]; then
+               return $?
+       fi
+
+       trace_matches $EVENT_NAME2 1 $TRACE_PATH/$SESSION_NAME-2
+       if [ $? -ne 0 ]; then
+               return $?
+       fi
+}
+
 function test_log4j_disable_all()
 {
        diag "Test LOG4J with multiple session with disabled all event"
@@ -348,14 +461,14 @@ function test_log4j_disable_all()
        enable_log4j_lttng_event $SESSION_NAME $EVENT_NAME
        enable_log4j_lttng_event $SESSION_NAME $EVENT_NAME2
 
-       disable_log4j_lttng_event $SESSION_NAME '*'
+       disable_log4j_lttng_event $SESSION_NAME -a
 
        start_lttng_tracing_ok $SESSION_NAME
 
        run_app 0 1
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting NO event of the first TP and second TP.
        trace_match_only $EVENT_NAME 0 $TRACE_PATH/$SESSION_NAME
@@ -380,10 +493,10 @@ function test_log4j_multi_session()
        # Run 5 times with a 1 second delay and fire second TP.
        run_app 0 1
 
-       stop_lttng_tracing $SESSION_NAME-1
-       stop_lttng_tracing $SESSION_NAME-2
-       destroy_lttng_session $SESSION_NAME-1
-       destroy_lttng_session $SESSION_NAME-2
+       stop_lttng_tracing_ok $SESSION_NAME-1
+       stop_lttng_tracing_ok $SESSION_NAME-2
+       destroy_lttng_session_ok $SESSION_NAME-1
+       destroy_lttng_session_ok $SESSION_NAME-2
 
        # Validate test. Expecting all events of first TP
        trace_match_only $EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME-1
@@ -411,8 +524,8 @@ function test_log4j_destroy_session()
        # Wait for the applications started in background
        wait
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting at least one event num 1
        validate_trace $EVENT_NAME $TRACE_PATH/first-sess
@@ -429,8 +542,8 @@ function test_log4j_destroy_session()
        # Wait for the applications started in background
        wait
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting only one event num 2
        trace_match_only $EVENT_NAME2 1 $TRACE_PATH/second-sess
@@ -451,8 +564,8 @@ function test_log4j_filtering()
        # Run 5 times with a 1 second delay and fire second TP.
        run_app 0 1
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting one event of the second TP only.
        trace_match_only $EVENT_NAME2 1 $TRACE_PATH/$SESSION_NAME
@@ -469,8 +582,8 @@ function test_log4j_filtering()
        # Run 5 times with a 1 second delay, fire debug and second TP.
        run_app 1 1
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting NR_ITER event of the main INFO tp.
        trace_match_only $EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME
@@ -493,8 +606,8 @@ function test_log4j_disable()
        # Run 5 times with a 1 second delay and fire second TP.
        run_app 0 1
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting one event of the second TP only.
        trace_match_only $EVENT_NAME2 1 $TRACE_PATH/$SESSION_NAME
@@ -517,8 +630,8 @@ function test_log4j_disable_enable()
        # Run 5 times with a 1 second delay and fire second TP.
        run_app 0 1
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting NR_ITER event of the main INFO tp.
        trace_match_only $EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME
@@ -545,8 +658,8 @@ function test_log4j_filter_loglevel()
        # Run 5 times with a 1 second delay and fire second TP.
        run_app 0 1
 
-       stop_lttng_tracing $SESSION_NAME
-       destroy_lttng_session $SESSION_NAME
+       stop_lttng_tracing_ok $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        # Validate test. Expecting no events.
        trace_match_only $ALL_EVENTS 0 $TRACE_PATH/$SESSION_NAME
@@ -571,6 +684,9 @@ skip $withapp "LOG4J support is needed. Skipping all tests." $NUM_TESTS ||
 
        tests=(
                test_log4j_multi_session_disable_wildcard
+               test_log4j_multi_session_disable_wildcard_begin
+               test_log4j_multi_session_disable_wildcard_middle
+               test_log4j_multi_session_disable_wildcard_end
                test_log4j_multi_session_disable
                test_log4j_disable
                test_log4j_disable_enable
This page took 0.032179 seconds and 5 git commands to generate.