X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Frotation%2Frotate_utils.sh;h=146f7e25cc529fa0023b6ecfbac5f485418f3fcb;hb=cdcf8972424da5cba4c0210d7fdfa2e7123aa748;hp=0454b7ce3e8d421d97cf2e4c7c3271a1b24c1dd7;hpb=6f7eb8e1cb829926bcbce2aeb885b0db63fc7af0;p=lttng-tools.git diff --git a/tests/regression/tools/rotation/rotate_utils.sh b/tests/regression/tools/rotation/rotate_utils.sh index 0454b7ce3..146f7e25c 100644 --- a/tests/regression/tools/rotation/rotate_utils.sh +++ b/tests/regression/tools/rotation/rotate_utils.sh @@ -144,3 +144,28 @@ function rotate_timer_test () fi shopt -u extglob } + +function trace_until_n_archives () +{ + local produce_events=$1 + local trace_path=$2 + local target_archive_count=$3 + local trace_size_cutoff=$4 + local archive_count=0 + local trace_size=0 + + diag "Waiting for $target_archive_count size-based rotations to occur" + while [[ archive_count -lt $target_archive_count && $trace_size -lt $trace_size_cutoff ]] + do + archive_count=$(find "$trace_path" -mindepth 2 -maxdepth 2 -type d -path "*archives*" | wc -l) + trace_size=$(du -b "$trace_path" | tail -n1 | cut -f1) + $produce_events 2000 + done + + if [[ $trace_size -ge $trace_size_cutoff ]]; then + diag "Exceeded size cutoff of $trace_size_cutoff bytes while waiting for $target_archive_count rotations" + fi + + [[ $archive_count -eq $target_archive_count ]] + ok $? "Found $target_archive_count trace archives resulting from trace archive rotations" +}