X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Ftracefile-limits%2Ftest_tracefile_count;h=b44de63c003b7d74e14184154e740dc931555318;hb=c1dcb8bb058481eb59317fb442fb9b3cc01a7e35;hp=41b89f005df2e673faf4640c3fbee1da44742df3;hpb=d946d662cade27143f8068d25a712270bcbd1240;p=lttng-tools.git diff --git a/tests/regression/tools/tracefile-limits/test_tracefile_count b/tests/regression/tools/tracefile-limits/test_tracefile_count index 41b89f005..b44de63c0 100755 --- a/tests/regression/tools/tracefile-limits/test_tracefile_count +++ b/tests/regression/tools/tracefile-limits/test_tracefile_count @@ -1,19 +1,8 @@ #!/bin/bash # -# Copyright (C) - 2013 Christian Babeux +# Copyright (C) 2013 Christian Babeux # -# This library is free software; you can redistribute it and/or modify it under -# the terms of the GNU Lesser General Public License as published by the Free -# Software Foundation; version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -# details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this library; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# SPDX-License-Identifier: LGPL-2.1-only TEST_DESC="Tracefile count limits" @@ -25,7 +14,10 @@ TESTAPP_NAME="gen-ust-events" TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" STATS_BIN="$TESTDIR/utils/babelstats.pl" -NUM_TESTS=146 +NUM_TESTS=74 + +NUM_CPUS=`nproc` +PAGE_SIZE=$(getconf PAGE_SIZE) source $TESTDIR/utils/utils.sh @@ -33,14 +25,6 @@ if [ ! -x "$TESTAPP_BIN" ]; then BAIL_OUT "No UST events binary detected." fi -function wait_apps -{ - while [ -n "$(pidof $TESTAPP_NAME)" ]; do - sleep 0.5 - done - pass "Wait for applications to end" -} - function enable_lttng_channel_count_limit () { sess_name="$1" @@ -53,7 +37,7 @@ function enable_lttng_channel_count_limit () $TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-channel \ -u $channel_name -s $sess_name \ - -C 4096 -W $tracefile_count_limit \ + -C $(($PAGE_SIZE*3)) -W $tracefile_count_limit \ --overwrite >/dev/null 2>&1 ok $? "$test_name" @@ -92,7 +76,7 @@ function validate_file_count file_pattern="$2" expected_max_count="$3" - count=`find $path -name "$file_pattern" -type f | wc -l` + count=`find $path -name "$file_pattern" -type f \( ! -iname "*.idx" \) | wc -l` if [ "$count" -gt "$expected_max_count" ]; then fail "Validate file count: $file_pattern" @@ -109,12 +93,12 @@ function test_tracefile_count_limit () session_name=$(randstring 16 0) channel_name="channel" event_name="tp:tptest" - num_iter=1000 + num_iter=100000 expected_max=$(($num_iter - 1)) diag "Test tracefile count limit : $count_limit tracefiles" - create_lttng_session $session_name $trace_path + create_lttng_session_ok $session_name $trace_path enable_lttng_channel_count_limit \ $session_name $channel_name $count_limit @@ -122,21 +106,17 @@ function test_tracefile_count_limit () enable_ust_lttng_event_per_channel \ $session_name $event_name $channel_name - start_lttng_tracing $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 - wait_apps + stop_lttng_tracing_ok $session_name - stop_lttng_tracing $session_name - - destroy_lttng_session $session_name + destroy_lttng_session_ok $session_name # Validate tracing dir - num_cpu=`nproc` - - for cpuno in $(seq 0 $(($num_cpu - 1))) + for cpuno in $(seq 0 $(($NUM_CPUS - 1))) do validate_file_count \ $trace_path "${channel_name}_${cpuno}_*" $count_limit @@ -158,14 +138,17 @@ function test_tracefile_count_limit () rm -rf $trace_path } -plan_tests $NUM_TESTS +LIMITS=("1" "2" "4" "8" "10" "16" "32" "64") + +# The file count validation depends on the number of streams (1 per cpu) +TOTAL_TESTS=$(($NUM_TESTS + (${#LIMITS[@]} * $NUM_CPUS))) + +plan_tests $TOTAL_TESTS print_test_banner "$TEST_DESC" start_lttng_sessiond -LIMITS=("1" "2" "4" "8" "10" "16" "32" "64") - for limit in ${LIMITS[@]}; do test_tracefile_count_limit $limit