From: Jérémie Galarneau Date: Wed, 22 Jun 2022 17:52:43 +0000 (-0400) Subject: Tests: rotation: add a per-pid size-based rotation test X-Git-Url: https://git.liburcu.org/?p=lttng-tools.git;a=commitdiff_plain;h=bf1e8411c30b21bc8dd6184c9890e9885bb7d503 Tests: rotation: add a per-pid size-based rotation test Signed-off-by: Jérémie Galarneau Change-Id: I8f6875567d52dd7d28000ff34fff47f992cdab3f --- diff --git a/tests/regression/tools/rotation/rotate_utils.sh b/tests/regression/tools/rotation/rotate_utils.sh index 0454b7ce3..2803517f2 100644 --- a/tests/regression/tools/rotation/rotate_utils.sh +++ b/tests/regression/tools/rotation/rotate_utils.sh @@ -144,3 +144,20 @@ function rotate_timer_test () fi shopt -u extglob } + +function wait_for_archives () +{ + local trace_path=$1 + local target_archive_count=$2 + local archive_count=0 + + diag "Waiting for $target_archive_count size-based rotations to occur" + while [[ archive_count -lt $target_archive_count ]] + do + archive_count=$(find "$TRACE_PATH" -mindepth 2 -maxdepth 2 -type d -path "*archives*" | wc -l) + $TESTAPP_BIN -i 2000 -w 0 > /dev/null 2>&1 + done + + [[ $archive_count -eq $target_archive_count ]] + ok $? "Found $target_archive_count trace archives resulting from trace archive rotations" +} diff --git a/tests/regression/tools/rotation/test_ust b/tests/regression/tools/rotation/test_ust index ddada1007..7c52f34bc 100755 --- a/tests/regression/tools/rotation/test_ust +++ b/tests/regression/tools/rotation/test_ust @@ -17,7 +17,7 @@ EVENT_NAME="tp:tptest" TRACE_PATH=$(mktemp --tmpdir -d -t tmp.test_ust_rotation_trace_path.XXXXXX) -NUM_TESTS=145 +NUM_TESTS=152 source $TESTDIR/utils/utils.sh source $CURDIR/rotate_utils.sh @@ -267,17 +267,24 @@ function test_ust_local_size_uid () lttng_enable_rotation_size_ok $SESSION_NAME $size_threshold start_lttng_tracing_ok $SESSION_NAME - local archive_count=0 + wait_for_archives "$TRACE_PATH" 5 - diag "Waiting for 4 size-based rotations to occur" - while [[ archive_count -lt 4 ]] - do - archive_count=$(find "$TRACE_PATH" -mindepth 2 -maxdepth 2 -type d -path "*archives*" | wc -l) - $TESTAPP_BIN -i 2000 -w 0 > /dev/null 2>&1 - done + destroy_lttng_session_ok $SESSION_NAME +} + +function test_ust_local_size_pid () +{ + diag "Rotate uid local session every 2MiB" + local size_threshold=$((2 * 1024 * 1024)) + + diag "Test ust local with size-based session rotation per-pid" + create_lttng_session_ok $SESSION_NAME $TRACE_PATH + enable_ust_lttng_channel_ok $SESSION_NAME "channel0" --buffers-pid + enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0" + lttng_enable_rotation_size_ok $SESSION_NAME $size_threshold + start_lttng_tracing_ok $SESSION_NAME - [[ $archive_count -eq 4 ]] - ok $? "Saw four trace archives resulting from trace archive rotations" + wait_for_archives "$TRACE_PATH" 3 destroy_lttng_session_ok $SESSION_NAME } @@ -294,7 +301,8 @@ tests=( test_ust_streaming_uid test_ust_local_uid \ test_ust_streaming_pid test_ust_local_pid \ test_ust_local_timer_uid test_ust_streaming_timer_uid \ test_ust_local_timer_pid test_ust_streaming_timer_pid \ - test_incompatible_sessions test_ust_local_size_uid ) + test_ust_local_size_uid test_ust_local_size_pid \ + test_incompatible_sessions ) for fct_test in ${tests[@]}; do