Fix: add missing synchronization point for before app test case
[lttng-tools.git] / tests / regression / ust / java-log4j / test_java_log4j
index 11845a0bbf049324e18ca9b27e96c406171440b5..a0b7cdc0f9592bb6a5d567ed71e1183fead22f23 100755 (executable)
@@ -39,6 +39,7 @@ function run_app
        local debug_tp=$1
        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
 }
 
@@ -90,6 +91,9 @@ function enable_log4j_filter_loglevel_only()
 
 function test_log4j_before_start ()
 {
+       local file_sync_after_first=$(mktemp -u)
+       local file_sync_before_last=$(mktemp -u)
+
        diag "Test LOG4J application BEFORE tracing starts"
        create_lttng_session $SESSION_NAME $TRACE_PATH
        enable_log4j_lttng_event $SESSION_NAME $EVENT_NAME
@@ -97,16 +101,19 @@ function test_log4j_before_start ()
        # Run 5 times with a 1 second delay
        run_app_background
 
-       #FIXME: racy missing synchronization
-
        start_lttng_tracing $SESSION_NAME
 
+       touch ${file_sync_before_last}
+
        # Wait for the applications started in background
        wait
 
        stop_lttng_tracing $SESSION_NAME
        destroy_lttng_session $SESSION_NAME
 
+       rm -f ${file_sync_after_first}
+       rm -f ${file_sync_before_last}
+
        # Validate test. Expecting all events.
        trace_match_only $EVENT_NAME $NR_ITER $TRACE_PATH
        if [ $? -ne 0 ]; then
This page took 0.023474 seconds and 4 git commands to generate.