From: David Goulet Date: Wed, 26 Feb 2014 20:13:46 +0000 (-0500) Subject: Test fix: use temp file sync. of test app X-Git-Tag: v2.4.0~8 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=0062bdcc85b99afbe39927229c5fb8e22f5a2ff1;p=lttng-tools.git Test fix: use temp file sync. of test app Fixes #736 Signed-off-by: David Goulet --- diff --git a/tests/regression/tools/snapshots/test_ust_streaming b/tests/regression/tools/snapshots/test_ust_streaming index e64b10cdc..632a563e0 100755 --- a/tests/regression/tools/snapshots/test_ust_streaming +++ b/tests/regression/tools/snapshots/test_ust_streaming @@ -54,6 +54,24 @@ function snapshot_add_output () ok $? "Added snapshot output $trace_path" } +# Start trace application and return once one event has been hit. +function start_trace_app() +{ + local tmp_file="/tmp/lttng_test_ust.42.file" + + # Start application with a temporary file. + $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT $tmp_file & + ok $? "Start application to trace" + + # Wait for the application file to appear indicating that at least one + # tracepoint has been fired. + while [ ! -f "$tmp_file" ]; do + sleep 0.5 + done + diag "Removing test app temporary file $tmp_file" + rm -f $tmp_file +} + # Test a snapshot using a default name for the output destination. function test_ust_default_name_with_del() { @@ -62,8 +80,9 @@ function test_ust_default_name_with_del() enable_lttng_mmap_overwrite_ust_channel $SESSION_NAME $CHANNEL_NAME enable_ust_lttng_event $SESSION_NAME $EVENT_NAME $CHANNEL_NAME start_lttng_tracing $SESSION_NAME - $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT & - ok $? "Start application to trace" + + start_trace_app + snapshot_add_output $SESSION_NAME "net://localhost" lttng_snapshot_record $SESSION_NAME @@ -102,8 +121,9 @@ function test_ust_default_name() enable_lttng_mmap_overwrite_ust_channel $SESSION_NAME $CHANNEL_NAME enable_ust_lttng_event $SESSION_NAME $EVENT_NAME $CHANNEL_NAME start_lttng_tracing $SESSION_NAME - $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT & - ok $? "Start application to trace" + + start_trace_app + snapshot_add_output $SESSION_NAME "net://localhost" lttng_snapshot_record $SESSION_NAME stop_lttng_tracing $SESSION_NAME @@ -126,8 +146,9 @@ function test_ust_default_name_custom_uri() enable_lttng_mmap_overwrite_ust_channel $SESSION_NAME $CHANNEL_NAME enable_ust_lttng_event $SESSION_NAME $EVENT_NAME $CHANNEL_NAME start_lttng_tracing $SESSION_NAME - $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT & - ok $? "Start application to trace" + + start_trace_app + snapshot_add_output $SESSION_NAME "-C tcp://localhost:5342 -D tcp://localhost:5343" lttng_snapshot_record $SESSION_NAME stop_lttng_tracing $SESSION_NAME @@ -154,8 +175,9 @@ function test_ust_custom_name() enable_lttng_mmap_overwrite_ust_channel $SESSION_NAME $CHANNEL_NAME enable_ust_lttng_event $SESSION_NAME $EVENT_NAME $CHANNEL_NAME start_lttng_tracing $SESSION_NAME - $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT & - ok $? "Start application to trace" + + start_trace_app + snapshot_add_output $SESSION_NAME "net://localhost" $name lttng_snapshot_record $SESSION_NAME stop_lttng_tracing $SESSION_NAME diff --git a/tests/regression/ust/periodical-metadata-flush/test_periodical_metadata_flush b/tests/regression/ust/periodical-metadata-flush/test_periodical_metadata_flush index ad9d33d52..e83695643 100755 --- a/tests/regression/ust/periodical-metadata-flush/test_periodical_metadata_flush +++ b/tests/regression/ust/periodical-metadata-flush/test_periodical_metadata_flush @@ -27,6 +27,7 @@ SESSION_NAME="periodical-flush" EVENT_NAME="tp:tptest" BIN_NAME="gen-nevents" NUM_TESTS=38 +APP_TMP_FILE="/tmp/lttng_test_ust.42.file" source $TESTDIR/utils/utils.sh @@ -98,6 +99,30 @@ function validate_trace() return $out } +function check_app_tmp_file() +{ + # Wait for the application file to appear indicating that at least one + # tracepoint has been fired. + while [ ! -f "$APP_TMP_FILE" ]; do + sleep 0.5 + done + diag "Removing test app temporary file $APP_TMP_FILE" + rm -f $APP_TMP_FILE +} + +function start_trace_app() +{ + # Start application with a temporary file. + $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT $APP_TMP_FILE & + ok $? "Start application to trace" +} + +function start_check_trace_app() +{ + start_trace_app + check_app_tmp_file +} + test_after_app_pid() { local out @@ -110,11 +135,8 @@ test_after_app_pid() { start_lttng_tracing $SESSION_NAME # Start application after tracing - $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT & - ok $? "Start application to trace" - - # At least hit one event - sleep 2 + start_check_trace_app + # After this point we are sure that at least one event has been hit. # Make sure the application does not generate any more data, # thus ensuring that we are not flushing a packet concurrently @@ -138,11 +160,11 @@ test_after_app_pid() { test_before_app_pid() { local out + local tmp_file="/tmp/lttng_test_ust.42.file" diag "Start application BEFORE tracing is started" - $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT & - ok $? "Start application to trace" + start_trace_app # Start application before tracing create_lttng_session $SESSION_NAME $TRACE_PATH @@ -151,7 +173,8 @@ test_before_app_pid() { enable_ust_lttng_event $SESSION_NAME $EVENT_NAME "channel0" start_lttng_tracing $SESSION_NAME - # At least hit one event + check_app_tmp_file + # Let the application at least perform a flush! sleep 2 # Make sure the application does not generate any more data, @@ -186,11 +209,8 @@ test_after_app_uid() { start_lttng_tracing $SESSION_NAME # Start application after tracing - $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT & - ok $? "Start application to trace" - - # At least hit one event - sleep 2 + start_check_trace_app + # After this point we are sure that at least one event has been hit. # Make sure the application does not generate any more data, # thus ensuring that we are not flushing a packet concurrently @@ -218,8 +238,7 @@ test_before_app_uid() { diag "Start application BEFORE tracing is started" # Start application before tracing - $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT & - ok $? "Start application to trace" + start_trace_app create_lttng_session $SESSION_NAME $TRACE_PATH enable_metadata_per_uid $SESSION_NAME @@ -227,7 +246,8 @@ test_before_app_uid() { enable_ust_lttng_event $SESSION_NAME $EVENT_NAME "channel0" start_lttng_tracing $SESSION_NAME - # At least hit one event + check_app_tmp_file + # Let the application at least perform a flush! sleep 2 # Make sure the application does not generate any more data,