Gen-ust-events: use options instead of arguments
authorJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Thu, 14 Feb 2019 02:37:56 +0000 (21:37 -0500)
committerJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Wed, 10 Apr 2019 20:20:10 +0000 (16:20 -0400)
Remove argument dependency and ease usage of feature individually.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
31 files changed:
src/bin/lttng-sessiond/main.c
tests/destructive/metadata-regeneration
tests/perf/test_perf_raw.in
tests/regression/tools/crash/test_crash
tests/regression/tools/exclusion/test_exclusion
tests/regression/tools/live/test_lttng_ust
tests/regression/tools/live/test_ust
tests/regression/tools/live/test_ust_tracefile_count
tests/regression/tools/mi/test_mi
tests/regression/tools/notification/test_notification_multi_app
tests/regression/tools/notification/test_notification_ust
tests/regression/tools/regen-metadata/test_ust
tests/regression/tools/regen-statedump/test_ust
tests/regression/tools/snapshots/test_ust_streaming
tests/regression/tools/snapshots/ust_test
tests/regression/tools/streaming/test_high_throughput_limits
tests/regression/tools/streaming/test_ust
tests/regression/tools/tracefile-limits/test_tracefile_count
tests/regression/tools/tracefile-limits/test_tracefile_size
tests/regression/tools/wildcard/test_event_wildcard
tests/regression/ust/before-after/test_before_after
tests/regression/ust/blocking/test_blocking
tests/regression/ust/buffers-pid/test_buffers_pid
tests/regression/ust/clock-override/test_clock_override
tests/regression/ust/getcpu-override/test_getcpu_override
tests/regression/ust/nprocesses/test_nprocesses
tests/regression/ust/periodical-metadata-flush/test_periodical_metadata_flush
tests/regression/ust/rotation-destroy-flush/test_rotation_destroy_flush
tests/regression/ust/test_event_perf
tests/stress/launch_ust_app
tests/utils/testapp/gen-ust-events/gen-ust-events.c

index fa6fa4830e468efc0180a88e1888434f67955a25..670ebc747c74249ced48f060433365b767329942 100644 (file)
@@ -77,6 +77,7 @@
 #include "agent.h"
 #include "ht-cleanup.h"
 #include "sessiond-config.h"
 #include "agent.h"
 #include "ht-cleanup.h"
 #include "sessiond-config.h"
+#include "clear.h"
 
 static const char *help_msg =
 #ifdef LTTNG_EMBED_HELP
 
 static const char *help_msg =
 #ifdef LTTNG_EMBED_HELP
@@ -2929,6 +2930,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx, int sock,
        case LTTNG_REGENERATE_STATEDUMP:
        case LTTNG_REGISTER_TRIGGER:
        case LTTNG_UNREGISTER_TRIGGER:
        case LTTNG_REGENERATE_STATEDUMP:
        case LTTNG_REGISTER_TRIGGER:
        case LTTNG_UNREGISTER_TRIGGER:
+       case LTTNG_CLEAR_SESSION:
                need_domain = 0;
                break;
        default:
                need_domain = 0;
                break;
        default:
@@ -4059,6 +4061,14 @@ error_add_context:
                                notification_thread_handle);
                break;
        }
                                notification_thread_handle);
                break;
        }
+       case LTTNG_CLEAR_SESSION:
+       {
+               ret = cmd_clear_session(cmd_ctx->session);
+               if (ret != LTTNG_OK) {
+                       goto error;
+               }
+               break;
+       }
        default:
                ret = LTTNG_ERR_UND;
                break;
        default:
                ret = LTTNG_ERR_UND;
                break;
index d4e632a1198d70894b47b7126acaf81535456e2e..9dedca1e0330838d6a82c3648b4b02b44c125055 100755 (executable)
@@ -134,7 +134,9 @@ function test_ust_local ()
        create_lttng_session_ok $SESSION_NAME $TRACE_PATH
        enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME
 
        create_lttng_session_ok $SESSION_NAME $TRACE_PATH
        enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} /dev/null 2>&1 &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
+               --sync-after-first-event ${file_sync_after_first} \
+               --sync-before-last-event ${file_sync_before_last} /dev/null 2>&1 &
 
        start_lttng_tracing_ok $SESSION_NAME
 
 
        start_lttng_tracing_ok $SESSION_NAME
 
@@ -170,7 +172,9 @@ function test_ust_streaming ()
        lttng_create_session_uri
        enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME
 
        lttng_create_session_uri
        enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} /dev/null 2>&1 &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
+               --sync-after-first-event ${file_sync_after_first} \
+               --sync-before-last-event ${file_sync_before_last} /dev/null 2>&1 &
 
        start_lttng_tracing_ok $SESSION_NAME
 
 
        start_lttng_tracing_ok $SESSION_NAME
 
index 9fab2cd796f97393444b41be720015ccff26d5e6..671dcc423e4645c25d42dab79642f749959d68e6 100644 (file)
@@ -69,7 +69,7 @@ function test_ust_raw()
 
        start_lttng_tracing_ok
 
 
        start_lttng_tracing_ok
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT >/dev/null 2>&1
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT >/dev/null 2>&1
 
        stop_lttng_tracing_ok
 
 
        stop_lttng_tracing_ok
 
index 8c62c513ddb95585270d3ddf03c47fa669abdd6f..97b94a8a9e06f32c401f9a5880d564870a7be3e8 100755 (executable)
@@ -48,7 +48,7 @@ function start_test_app()
        local tmp_file=$(mktemp -u)
 
        # Start application with a temporary file.
        local tmp_file=$(mktemp -u)
 
        # Start application with a temporary file.
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT $tmp_file &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT --sync-after-first-event $tmp_file &
        ret=$?
        APPS_PID="${APPS_PID} ${!}"
        ok $ret "Start application to trace"
        ret=$?
        APPS_PID="${APPS_PID} ${!}"
        ok $ret "Start application to trace"
@@ -232,7 +232,7 @@ function test_lttng_crash()
        start_lttng_tracing_ok $session_name
 
        # Generate 10 events
        start_lttng_tracing_ok $session_name
 
        # Generate 10 events
-       $TESTAPP_BIN 10 0
+       $TESTAPP_BIN -i 10 -w 0
        stop_lttng_tracing
 
        crash_recup_count=$($LTTNG_CRASH $shm_path | wc -l)
        stop_lttng_tracing
 
        crash_recup_count=$($LTTNG_CRASH $shm_path | wc -l)
@@ -270,7 +270,7 @@ function test_lttng_crash_extraction()
 
        start_lttng_tracing_ok $session_name
        # Generate 10 events
 
        start_lttng_tracing_ok $session_name
        # Generate 10 events
-       $TESTAPP_BIN 10 0
+       $TESTAPP_BIN -i 10 -w 0
        stop_lttng_tracing
 
        $LTTNG_CRASH -x $extraction_path $shm_path
        stop_lttng_tracing
 
        $LTTNG_CRASH -x $extraction_path $shm_path
@@ -366,7 +366,7 @@ function test_lttng_crash_extraction_sigkill()
        start_lttng_tracing_ok $session_name
 
        # Generate 10 events
        start_lttng_tracing_ok $session_name
 
        # Generate 10 events
-       $TESTAPP_BIN 10 0
+       $TESTAPP_BIN -i 10 -w 0
 
        sigstop_lttng_sessiond
        sigstop_lttng_consumerd
 
        sigstop_lttng_sessiond
        sigstop_lttng_consumerd
index 949cd41df1459db3f3898ed1aeca49f6d2d2c178..fae072ca8bb871c6f0798d37c23c79ba806b1bc2 100755 (executable)
@@ -40,7 +40,7 @@ function enable_ust_lttng_all_event_exclusion()
 
 function run_apps
 {
 
 function run_apps
 {
-        $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT
+        $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT >/dev/null 2>&1
 }
 
 function test_exclusion
 }
 
 function test_exclusion
index 06017d01d43e4ec17c1b5c546fe37c32ceac4101..9fadeeecf43d2d1fc441356c7c24c25364cd35ea 100755 (executable)
@@ -74,7 +74,7 @@ start_lttng_relayd "-o $TRACE_PATH"
 setup_live_tracing
 
 # Run app in background
 setup_live_tracing
 
 # Run app in background
-$TESTAPP_BIN $NR_ITER $NR_USEC_WAIT >/dev/null 2>&1
+$TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT >/dev/null 2>&1
 
 clean_live_tracing
 
 
 clean_live_tracing
 
index 0384a706f32b4bc8a6aaf4ee078c9b6bd97cff29..2c35665b1170671a5c4b126a5a7fa92c51ea4769 100755 (executable)
@@ -63,7 +63,7 @@ start_lttng_relayd_notap "-o $TRACE_PATH"
 setup_live_tracing
 
 # Run app in background
 setup_live_tracing
 
 # Run app in background
-$TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} >/dev/null 2>&1
+$TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT --sync-after-first-event ${file_sync_after_first} >/dev/null 2>&1
 
 while [ ! -f "${file_sync_after_first}" ]; do
        sleep 0.5
 
 while [ ! -f "${file_sync_after_first}" ]; do
        sleep 0.5
index 6da368fc6cc786052b64ed678071b842bdc09f3c..77a925c610817b374142295367513a18fa1541db 100755 (executable)
@@ -64,7 +64,7 @@ start_lttng_relayd_notap "-o $TRACE_PATH"
 setup_live_tracing
 
 # Run app in background
 setup_live_tracing
 
 # Run app in background
-$TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} >/dev/null 2>&1
+$TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT --sync-after-first-event ${file_sync_after_first} >/dev/null 2>&1
 
 while [ ! -f "${file_sync_after_first}" ]; do
        sleep 0.5
 
 while [ ! -f "${file_sync_after_first}" ]; do
        sleep 0.5
index 48dda7da6a5f735224721b2b7dbbf5028a74f9b1..f6bc9b36f4524a3beb8aa932b29d659808b55161 100755 (executable)
@@ -544,7 +544,9 @@ function test_list_ust_event ()
        OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE
 
        #Begin testing
        OUTPUT_DEST=$OUTPUT_DIR/$OUTPUT_FILE
 
        #Begin testing
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} & 2>/dev/null
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
+               --sync-after-first-event ${file_sync_after_first} \
+               --sync-before-last-event ${file_sync_before_last} & 2>/dev/null
 
        while [ ! -f "${file_sync_after_first}" ]; do
                sleep 0.5
 
        while [ ! -f "${file_sync_after_first}" ]; do
                sleep 0.5
index 0a05ea6a0a8e3114fd758a8d0cb7e6e18f160e8b..ff3c82d6dc827b496321ead9ff74caf398274e54 100755 (executable)
@@ -97,7 +97,7 @@ function ust_event_generator
                        if [[ -f $state_file ]]; then
                                rm $state_file 2> /dev/null
                        fi
                        if [[ -f $state_file ]]; then
                                rm $state_file 2> /dev/null
                        fi
-                       taskset  -c 0 $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT > /dev/null 2>&1
+                       taskset  -c 0 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT > /dev/null 2>&1
                fi
        done
 }
                fi
        done
 }
index 8941e476d50b9e5730fc90633da412acc703ca28..fd6fd43cafaa46df78c0d72378380acfe72cbbec 100755 (executable)
@@ -65,7 +65,7 @@ function ust_event_generator
                        if [[ -f $state_file ]]; then
                                rm -rf $state_file 2> /dev/null
                        fi
                        if [[ -f $state_file ]]; then
                                rm -rf $state_file 2> /dev/null
                        fi
-                       taskset  -c 0 $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT > /dev/null 2>&1
+                       taskset  -c 0 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT > /dev/null 2>&1
                fi
        done
 }
                fi
        done
 }
index b7f1af1d8fd265f9666a7becf28e10c4c4f1367a..1057a5fe75445e20d570c55fb5aade994b441a87 100755 (executable)
@@ -71,7 +71,9 @@ function test_ust_streaming ()
        lttng_create_session_uri
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
 
        lttng_create_session_uri
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} /dev/null 2>&1 &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
+               --sync-after-first-event ${file_sync_after_first} \
+               --sync-before-last-event ${file_sync_before_last} >/dev/null 2>&1 &
 
        start_lttng_tracing_ok $SESSION_NAME
 
 
        start_lttng_tracing_ok $SESSION_NAME
 
@@ -102,7 +104,9 @@ function test_ust_local ()
        create_lttng_session_ok $SESSION_NAME $TRACE_PATH
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
 
        create_lttng_session_ok $SESSION_NAME $TRACE_PATH
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} /dev/null 2>&1 &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
+               --sync-after-first-event ${file_sync_after_first} \
+               --sync-before-last-event ${file_sync_before_last} > /dev/null 2>&1 &
 
        start_lttng_tracing_ok $SESSION_NAME
 
 
        start_lttng_tracing_ok $SESSION_NAME
 
@@ -134,7 +138,9 @@ function test_ust_pid ()
        enable_channel_per_pid $SESSION_NAME "channel0"
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0"
 
        enable_channel_per_pid $SESSION_NAME "channel0"
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0"
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} /dev/null 2>&1 &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
+               --sync-after-first-event ${file_sync_after_first} \
+               --sync-before-last-event ${file_sync_before_last} >/dev/null 2>&1 &
 
        start_lttng_tracing_ok $SESSION_NAME
 
 
        start_lttng_tracing_ok $SESSION_NAME
 
@@ -165,7 +171,9 @@ function test_ust_live ()
        lttng_create_session_uri_live $SESSION_NAME $TRACE_PATH
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
 
        lttng_create_session_uri_live $SESSION_NAME $TRACE_PATH
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} /dev/null 2>&1 &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
+               --sync-after-first-event ${file_sync_after_first} \
+               --sync-before-last-event ${file_sync_before_last} >/dev/null 2>&1 &
 
        start_lttng_tracing_ok $SESSION_NAME
 
 
        start_lttng_tracing_ok $SESSION_NAME
 
index 486b9a560e7406e0143236d919c12e1c33967eef..a63620d57d7f48b988abfed76a9464088a5be894 100755 (executable)
@@ -46,7 +46,9 @@ function test_ust_local ()
        create_lttng_session_ok $SESSION_NAME $TRACE_PATH
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
 
        create_lttng_session_ok $SESSION_NAME $TRACE_PATH
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} /dev/null 2>&1 &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
+               --sync-after-first-event ${file_sync_after_first} \
+               --sync-before-last-event ${file_sync_before_last} >/dev/null 2>&1 &
 
        start_lttng_tracing_ok $SESSION_NAME
 
 
        start_lttng_tracing_ok $SESSION_NAME
 
index 93b0957f3e8d28650c0e0f576d973ba416bb6447..b986a9fde37b03a171b669a89a2961d45bd4792d 100755 (executable)
@@ -61,7 +61,7 @@ function start_test_app()
        local tmp_file=$(mktemp -u)
 
        # Start application with a temporary file.
        local tmp_file=$(mktemp -u)
 
        # Start application with a temporary file.
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT $tmp_file &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT --sync-after-first-event $tmp_file &
        ret=$?
        APPS_PID="${APPS_PID} ${!}"
        ok $ret "Start application to trace"
        ret=$?
        APPS_PID="${APPS_PID} ${!}"
        ok $ret "Start application to trace"
index 755cef9e02670f02e21f58815fbe95513b032a35..54b7d8691c92e499d452166176f69351f1e63143 100755 (executable)
@@ -50,7 +50,7 @@ function start_test_app()
        local tmp_file=$(mktemp -u)
 
        # Start application with a temporary file.
        local tmp_file=$(mktemp -u)
 
        # Start application with a temporary file.
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT $tmp_file &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT --sync-after-first-event $tmp_file &
        ret=$?
        APPS_PID="${APPS_PID} ${!}"
        ok $ret "Start application to trace"
        ret=$?
        APPS_PID="${APPS_PID} ${!}"
        ok $ret "Start application to trace"
index 32c3f1f2b939abc060b0e256bc87b37eb56d3269..276e1a96c55d148716f4733b740b101e09783c3f 100755 (executable)
@@ -91,7 +91,7 @@ function run_apps
                # due to very slow communication between the consumer and relayd making
                # the status reply from the consumer quite slow thus delaying the
                # registration done message.
                # due to very slow communication between the consumer and relayd making
                # the status reply from the consumer quite slow thus delaying the
                # registration done message.
-               LTTNG_UST_REGISTER_TIMEOUT=-1 $TESTAPP_BIN $NR_ITER & >/dev/null 2>&1
+               LTTNG_UST_REGISTER_TIMEOUT=-1 $TESTAPP_BIN -i $NR_ITER & >/dev/null 2>&1
        done
 }
 
        done
 }
 
index a5d5b5e9215191c7dab80b86b7741014cb63df1b..bda8ffafb57772686e5fa7281c4008485a7a6f2c 100755 (executable)
@@ -49,7 +49,6 @@ function lttng_create_session_uri
 
 function test_ust_before_start ()
 {
 
 function test_ust_before_start ()
 {
-       local file_sync_after_first=$(mktemp -u)
        local file_sync_before_last=$(mktemp -u)
 
        diag "Test UST streaming BEFORE tracing starts"
        local file_sync_before_last=$(mktemp -u)
 
        diag "Test UST streaming BEFORE tracing starts"
@@ -57,7 +56,7 @@ function test_ust_before_start ()
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
 
        # Run 5 times with a 1 second delay
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
 
        # Run 5 times with a 1 second delay
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} /dev/null 2>&1 &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT --sync-before-last-event ${file_sync_before_last} > /dev/null 2>&1 &
 
        start_lttng_tracing_ok $SESSION_NAME
 
 
        start_lttng_tracing_ok $SESSION_NAME
 
@@ -68,7 +67,6 @@ function test_ust_before_start ()
 
        stop_lttng_tracing_ok $SESSION_NAME
        destroy_lttng_session_ok $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}
 }
 
        rm -f ${file_sync_before_last}
 }
 
@@ -82,7 +80,8 @@ function test_ust_after_start ()
        start_lttng_tracing_ok $SESSION_NAME
 
        # Run 5 times with a 1 second delay
        start_lttng_tracing_ok $SESSION_NAME
 
        # Run 5 times with a 1 second delay
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} >/dev/null 2>&1
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
+               --sync-after-first-event ${file_sync_after_first} >/dev/null 2>&1
 
        while [ ! -f "${file_sync_after_first}" ]; do
                sleep 0.5
 
        while [ ! -f "${file_sync_after_first}" ]; do
                sleep 0.5
index 6ada8580f0c575f29927ea4219733201bdca5fa0..e446d3f3ef3ed4076a718e8abfec5739c8ee8dc0 100755 (executable)
@@ -119,7 +119,7 @@ function test_tracefile_count_limit ()
 
        start_lttng_tracing_ok $session_name
 
 
        start_lttng_tracing_ok $session_name
 
-       $TESTAPP_BIN $num_iter >/dev/null 2>&1
+       $TESTAPP_BIN -i $num_iter >/dev/null 2>&1
 
        stop_lttng_tracing_ok $session_name
 
 
        stop_lttng_tracing_ok $session_name
 
index 3dddbe6131eb385f4784d21b42a6f81398829297..de263bbfb7d7f12a8842a1ce3e77ff6ca7bdda9f 100755 (executable)
@@ -113,7 +113,7 @@ function test_tracefile_size_limit ()
 
        start_lttng_tracing_ok $session_name
 
 
        start_lttng_tracing_ok $session_name
 
-       $TESTAPP_BIN $NR_ITER >/dev/null 2>&1
+       $TESTAPP_BIN -i $NR_ITER >/dev/null 2>&1
 
        stop_lttng_tracing_ok $session_name
 
 
        stop_lttng_tracing_ok $session_name
 
@@ -152,7 +152,7 @@ function test_tracefile_size_limit_pagesize ()
 
        start_lttng_tracing_ok $session_name
 
 
        start_lttng_tracing_ok $session_name
 
-       $TESTAPP_BIN $NR_ITER >/dev/null 2>&1
+       $TESTAPP_BIN -i $NR_ITER >/dev/null 2>&1
 
        stop_lttng_tracing_ok $session_name
 
 
        stop_lttng_tracing_ok $session_name
 
index 61ea67a72b3eb8b27ff600d773cd554e188c6fb2..d0116722e386ff4cea53918da7f5aeed7532c5fd 100755 (executable)
@@ -34,7 +34,7 @@ source $TESTDIR/utils/utils.sh
 
 function run_ust
 {
 
 function run_ust
 {
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
 }
 
 function run_kernel
 }
 
 function run_kernel
index 45ef48fc366c82fc9934f7a8e5834020db00bdc9..237e21b916bb5567c489faa2dcb36fc874738a3f 100755 (executable)
@@ -42,7 +42,7 @@ function test_before_apps()
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
        start_lttng_tracing_ok $SESSION_NAME
 
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
        start_lttng_tracing_ok $SESSION_NAME
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT &
        wait
        ok $? "Traced application stopped."
 
        wait
        ok $? "Traced application stopped."
 
@@ -63,7 +63,9 @@ function test_after_apps()
        create_lttng_session_ok $SESSION_NAME $TRACE_PATH
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
 
        create_lttng_session_ok $SESSION_NAME $TRACE_PATH
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
+               --sync-after-first-event ${file_sync_after_first} \
+               --sync-before-last-event ${file_sync_before_last} &
        ok $? "Application started in background."
 
        start_lttng_tracing_ok $SESSION_NAME
        ok $? "Application started in background."
 
        start_lttng_tracing_ok $SESSION_NAME
index b1c3f2d09d86a9449db2f5a011a61c1f781dd76d..a19de08d868c5eee809fba43e98f2692c36337f2 100755 (executable)
@@ -35,7 +35,7 @@ source $TESTDIR/utils/utils.sh
 # Run app on CPU 0 to ensure we only write in a single ring buffer.
 function run_app()
 {
 # Run app on CPU 0 to ensure we only write in a single ring buffer.
 function run_app()
 {
-       taskset 0x00000001 $TESTAPP_BIN $NUM_EVENT
+       taskset 0x00000001 $TESTAPP_BIN -i $NUM_EVENT
        ok $? "Application done"
 }
 
        ok $? "Application done"
 }
 
index 94e6fe45f3a85b94f60202aea4e660b8be025d18..2ca4a02979adbd0ceea0dfb48b670b0c870d8c00 100755 (executable)
@@ -58,7 +58,7 @@ test_after_multiple_apps() {
        start_lttng_tracing_ok $SESSION_NAME
 
        for i in `seq 1 5`; do
        start_lttng_tracing_ok $SESSION_NAME
 
        for i in `seq 1 5`; do
-               $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT >/dev/null 2>&1 &
+               $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT >/dev/null 2>&1 &
                ok $? "Start application $i for tracing"
        done
        wait
                ok $? "Start application $i for tracing"
        done
        wait
@@ -80,7 +80,9 @@ test_before_multiple_apps() {
        diag "Start multiple applications BEFORE tracing is started"
 
        for i in `seq 1 5`; do
        diag "Start multiple applications BEFORE tracing is started"
 
        for i in `seq 1 5`; do
-               $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first}_${i} ${file_sync_before_last}_${i} >/dev/null 2>&1 &
+               $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
+                       --sync-after-first-event ${file_sync_after_first}_${i} \
+                       --sync-before-last-event ${file_sync_before_last}_${i} >/dev/null 2>&1 &
                ok $? "Start application $i for tracing"
        done
 
                ok $? "Start application $i for tracing"
        done
 
@@ -131,7 +133,7 @@ test_after_app() {
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0"
        start_lttng_tracing_ok $SESSION_NAME
 
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0"
        start_lttng_tracing_ok $SESSION_NAME
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT &
        ok $? "Start application to trace"
        wait
 
        ok $? "Start application to trace"
        wait
 
@@ -156,7 +158,9 @@ test_before_app() {
        enable_channel_per_pid $SESSION_NAME "channel0"
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0"
 
        enable_channel_per_pid $SESSION_NAME "channel0"
        enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0"
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
+               --sync-after-first-event ${file_sync_after_first} \
+               --sync-before-last-event ${file_sync_before_last} &
        ok $? "Start application to trace"
 
        start_lttng_tracing_ok $SESSION_NAME
        ok $? "Start application to trace"
 
        start_lttng_tracing_ok $SESSION_NAME
@@ -210,7 +214,7 @@ test_multiple_channels() {
        ok $? "Enable event $EVENT_NAME for session $SESSION_NAME in channel4"
        start_lttng_tracing_ok $SESSION_NAME
 
        ok $? "Enable event $EVENT_NAME for session $SESSION_NAME in channel4"
        start_lttng_tracing_ok $SESSION_NAME
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT &
        ok $? "Start application to trace"
        wait
 
        ok $? "Start application to trace"
        wait
 
index d63ec8bcb573d1695fb0f3faaec3bd264133b4a6..ce5d9687a0a259fc1a40db201df0b08aa43d9fb9 100755 (executable)
@@ -52,7 +52,7 @@ source $TESTDIR/utils/utils.sh
 # MUST set TESTDIR before calling those functions
 function run_app()
 {
 # MUST set TESTDIR before calling those functions
 function run_app()
 {
-       $TESTAPP_BIN $NUM_EVENT
+       $TESTAPP_BIN -i $NUM_EVENT
        ok $? "Application done"
 }
 
        ok $? "Application done"
 }
 
index 4ca385aeb0c5e19f58136af4c979498eb8a86963..75a3d6d4daf0335418a6d0e64373ec9abbc30a99 100755 (executable)
@@ -55,14 +55,14 @@ num_cpus=$(conf_proc_count)
 run_app()
 {
        diag "Launching app without getcpu-plugin wrapper"
 run_app()
 {
        diag "Launching app without getcpu-plugin wrapper"
-       $TESTAPP_BIN $NUM_EVENT $EVENT_WAIT_USEC
+       $TESTAPP_BIN -i $NUM_EVENT -w $EVENT_WAIT_USEC
        ok $? "Application without wrapper done"
 }
 
 run_getcpu_plugin_app()
 {
        diag "Launching app with getcpu-plugin wrapper"
        ok $? "Application without wrapper done"
 }
 
 run_getcpu_plugin_app()
 {
        diag "Launching app with getcpu-plugin wrapper"
-       $CURDIR/$TESTAPP_WRAPPER $TESTAPP_BIN $NUM_EVENT $EVENT_WAIT_USEC
+       $CURDIR/$TESTAPP_WRAPPER $TESTAPP_BIN -i $NUM_EVENT -w $EVENT_WAIT_USEC
        ok $? "Application with wrapper done"
 }
 
        ok $? "Application with wrapper done"
 }
 
index 7677cc6ccdff724094fe2b0145ae1e41bd7659e1..8b64e621a7365bca7fe6def99cec704a697b3fe5 100755 (executable)
@@ -52,7 +52,9 @@ file_sync_before_last=$(mktemp -u)
 diag "Starting $NUM_PROCESS test applications"
 for i in `seq 1 $NUM_PROCESS`
 do
 diag "Starting $NUM_PROCESS test applications"
 for i in `seq 1 $NUM_PROCESS`
 do
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} >/dev/null 2>&1 &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
+               --sync-after-first-event ${file_sync_after_first} \
+               --sync-before-last-event ${file_sync_before_last} >/dev/null 2>&1 &
        APPS_PID="${APPS_PID} ${!}"
 done
 
        APPS_PID="${APPS_PID} ${!}"
 done
 
index ea6b93838cc8da145746d32203efaffeaf821f28..bfc3b2091de8bb158914e5a8c596f4753dc7dfe3 100755 (executable)
@@ -106,7 +106,7 @@ function check_app_tmp_file()
 function start_trace_app()
 {
        # Start application with a temporary file.
 function start_trace_app()
 {
        # Start application with a temporary file.
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT $APP_TMP_FILE &
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT --sync-after-first-event $APP_TMP_FILE &
        ret=$?
        APPS_PID="${APPS_PID} ${!}"
        ok $ret "Start application to trace"
        ret=$?
        APPS_PID="${APPS_PID} ${!}"
        ok $ret "Start application to trace"
index a7a93771a1bfca3744abd1a77f62d963fe4824f6..275e65ec47a0acc21e5c0eadebe08d48e276ddee 100755 (executable)
@@ -41,7 +41,7 @@ source $TESTDIR/utils/utils.sh
 # MUST set TESTDIR before calling those functions
 function run_app()
 {
 # MUST set TESTDIR before calling those functions
 function run_app()
 {
-       $TESTAPP_BIN $NUM_EVENT
+       $TESTAPP_BIN -i $NUM_EVENT
        ok $? "Application done"
 }
 
        ok $? "Application done"
 }
 
index 4e665e65e5eb3b8359c1c0213aeb84554ca73903..7dda8e6f95ab253ec8aeecc72629f3433ceabf75 100755 (executable)
@@ -86,7 +86,7 @@ function test_event_basic()
 
        start_lttng_tracing_ok
 
 
        start_lttng_tracing_ok
 
-       $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT >/dev/null 2>&1
+       $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT >/dev/null 2>&1
 
        stop_lttng_tracing_ok
 
 
        stop_lttng_tracing_ok
 
index 2bb8e4f66f783134136d994658810df631b110fd..9442ee22ccb18554f048387a7e6b565b6cbb37d7 100755 (executable)
@@ -52,7 +52,7 @@ fi
 # Infinite loop. Spawns NR_APP apps for NR_USEC_WAIT doing NR_APP_LOOP.
 while :; do
        for j in `seq 1 $NR_APP`; do
 # Infinite loop. Spawns NR_APP apps for NR_USEC_WAIT doing NR_APP_LOOP.
 while :; do
        for j in `seq 1 $NR_APP`; do
-               $TESTAPP_BIN $NR_APP_LOOP $NR_USEC_WAIT >/dev/null 2>&1 &
+               $TESTAPP_BIN -i $NR_APP_LOOP -w $NR_USEC_WAIT >/dev/null 2>&1 &
        done
        # Wait before the next round of applications.
        sleep 3
        done
        # Wait before the next round of applications.
        sleep 3
index c5dd31a355e1294229529a4ff20c3a3026bf8347..2000a01ff20b054310ad76b2940d00d1f14bfe4a 100644 (file)
@@ -16,6 +16,7 @@
  */
 
 #define _LGPL_SOURCE
  */
 
 #define _LGPL_SOURCE
+#include <getopt.h>
 #include <assert.h>
 #include <arpa/inet.h>
 #include <fcntl.h>
 #include <assert.h>
 #include <arpa/inet.h>
 #include <fcntl.h>
 #define TRACEPOINT_DEFINE
 #include "tp.h"
 
 #define TRACEPOINT_DEFINE
 #include "tp.h"
 
-void create_file(const char *path)
+static
+int create_file(const char *path)
 {
 {
-       static bool file_created = false;
        int ret;
 
        int ret;
 
-       if (!path || file_created) {
-               return;
+       if (!path) {
+               return -1;
        }
 
        ret = creat(path, S_IRWXU);
        if (ret < 0) {
        }
 
        ret = creat(path, S_IRWXU);
        if (ret < 0) {
-               fprintf(stderr, "Failed to create file %s\n", path);
-               return;
+               perror("creat");
+               return -1;
+       }
+
+       ret = close(ret);
+       if (ret < 0) {
+               perror("close");
+               return -1;
        }
 
        }
 
-       (void) close(ret);
-       file_created = true;
+       return 0;
 }
 
 static
 }
 
 static
-void wait_on_file(const char *path)
+int wait_on_file(const char *path)
 {
 {
+       int ret;
+       struct stat buf;
+
        if (!path) {
        if (!path) {
-               return;
+               return -1;
        }
        }
-       for (;;) {
-               int ret;
-               struct stat buf;
 
 
+       for (;;) {
                ret = stat(path, &buf);
                if (ret == -1 && errno == ENOENT) {
                ret = stat(path, &buf);
                if (ret == -1 && errno == ENOENT) {
-                       (void) poll(NULL, 0, 10);       /* 10 ms delay */
+                       ret = poll(NULL, 0, 10);        /* 10 ms delay */
+                       /* Should return 0 everytime */
+                       if (ret) {
+                               if (ret < 0) {
+                                       perror("perror");
+                               } else {
+                                       fprintf(stderr,
+                                               "poll return value is larger than zero\n");
+                               }
+                               return -1;
+                       }
                        continue;                       /* retry */
                }
                if (ret) {
                        perror("stat");
                        continue;                       /* retry */
                }
                if (ret) {
                        perror("stat");
-                       exit(EXIT_FAILURE);
+                       return -1;
                }
                break;  /* found */
        }
                }
                break;  /* found */
        }
+
+       return 0;
 }
 
 }
 
+static struct option long_options[] =
+{
+       /* These options set a flag. */
+       {"iter", required_argument, 0, 'i'},
+       {"wait", required_argument, 0, 'w'},
+       {"sync-after-first-event", required_argument, 0, 'a'},
+       {"sync-before-last-event", required_argument, 0, 'b'},
+       {0, 0, 0, 0}
+};
+
 int main(int argc, char **argv)
 {
        unsigned int i, netint;
 int main(int argc, char **argv)
 {
        unsigned int i, netint;
+       int option_index;
+       char option_char;
        long values[] = { 1, 2, 3 };
        char text[10] = "test";
        double dbl = 2.0;
        float flt = 2222.0;
        long values[] = { 1, 2, 3 };
        char text[10] = "test";
        double dbl = 2.0;
        float flt = 2222.0;
-       int nr_iter = 100, ret = 0;
+       int nr_iter = 100, ret = 0, first_event_file_created = 0;
        useconds_t nr_usec = 0;
        char *after_first_event_file_path = NULL;
        char *before_last_event_file_path = NULL;
 
        useconds_t nr_usec = 0;
        char *after_first_event_file_path = NULL;
        char *before_last_event_file_path = NULL;
 
-       if (set_signal_handler()) {
-               ret = -1;
-               goto end;
-       }
-
-       if (argc >= 2) {
-               /*
-                * If nr_iter is negative, do an infinite tracing loop.
-                */
-               nr_iter = atoi(argv[1]);
+       while((option_char = getopt_long(argc, argv, "i:w:a:b:c:d:", long_options, &option_index)) != -1) {
+               switch (option_char) {
+               case 'a':
+                       after_first_event_file_path = strdup(optarg);
+                       break;
+               case 'b':
+                       before_last_event_file_path = strdup(optarg);
+                       break;
+               case 'i':
+                       nr_iter = atoi(optarg);
+                       break;
+               case 'w':
+                       nr_usec = atoi(optarg);
+                       break;
+               case '?':
+                       /* getopt_long already printed an error message. */
+                       break;
+               default:
+                       ret = -1;
+                       goto end;
+               }
        }
 
        }
 
-       if (argc >= 3) {
-               /* By default, don't wait unless user specifies. */
-               nr_usec = atoi(argv[2]);
+       if (optind != argc) {
+               fprintf(stderr, "Error: takes long options only.");
+               ret = -1;
+               goto end;
        }
 
        }
 
-       if (argc >= 4) {
-               after_first_event_file_path = argv[3];
-       }
 
 
-       if (argc >= 5) {
-               before_last_event_file_path = argv[4];
+       if (set_signal_handler()) {
+               ret = -1;
+               goto end;
        }
 
        for (i = 0; nr_iter < 0 || i < nr_iter; i++) {
        }
 
        for (i = 0; nr_iter < 0 || i < nr_iter; i++) {
@@ -122,7 +163,12 @@ int main(int argc, char **argv)
                         * Wait on synchronization before writing last
                         * event.
                         */
                         * Wait on synchronization before writing last
                         * event.
                         */
-                       wait_on_file(before_last_event_file_path);
+                       if (before_last_event_file_path) {
+                               ret = wait_on_file(before_last_event_file_path);
+                               if (ret != 0) {
+                                       goto end;
+                               }
+                       }
                }
                netint = htonl(i);
                tracepoint(tp, tptest, i, netint, values, text,
                }
                netint = htonl(i);
                tracepoint(tp, tptest, i, netint, values, text,
@@ -132,7 +178,16 @@ int main(int argc, char **argv)
                 * First loop we create the file if asked to indicate
                 * that at least one tracepoint has been hit.
                 */
                 * First loop we create the file if asked to indicate
                 * that at least one tracepoint has been hit.
                 */
-               create_file(after_first_event_file_path);
+               if (after_first_event_file_path && first_event_file_created == 0) {
+                       ret = create_file(after_first_event_file_path);
+
+                       if (ret != 0) {
+                               goto end;
+                       } else {
+                               first_event_file_created = 1;
+                       }
+               }
+
                if (nr_usec) {
                        if (usleep_safe(nr_usec)) {
                                ret = -1;
                if (nr_usec) {
                        if (usleep_safe(nr_usec)) {
                                ret = -1;
@@ -145,5 +200,7 @@ int main(int argc, char **argv)
        }
 
 end:
        }
 
 end:
+       free(after_first_event_file_path);
+       free(before_last_event_file_path);
        exit(!ret ? EXIT_SUCCESS : EXIT_FAILURE);
 }
        exit(!ret ? EXIT_SUCCESS : EXIT_FAILURE);
 }
This page took 0.045817 seconds and 5 git commands to generate.