X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Ftracefile-limits%2Ftest_tracefile_size;h=de263bbfb7d7f12a8842a1ce3e77ff6ca7bdda9f;hp=ed58e70a2f0c4169bb4d392d895bffd8b6abd1a5;hb=a4c305246c4b8021fa1681076326731349a1cd17;hpb=c1b8e6f8d047446047c7bbf56a81b9496faa6288 diff --git a/tests/regression/tools/tracefile-limits/test_tracefile_size b/tests/regression/tools/tracefile-limits/test_tracefile_size index ed58e70a2..de263bbfb 100755 --- a/tests/regression/tools/tracefile-limits/test_tracefile_size +++ b/tests/regression/tools/tracefile-limits/test_tracefile_size @@ -22,11 +22,13 @@ TESTDIR=$CURDIR/../../.. NR_ITER=1000 +PAGE_SIZE=$(getconf PAGE_SIZE) + TESTAPP_PATH="$TESTDIR/utils/testapp" TESTAPP_NAME="gen-ust-events" TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" -NUM_TESTS=47 +NUM_TESTS=66 source $TESTDIR/utils/utils.sh @@ -34,14 +36,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_size_limit () { sess_name="$1" @@ -54,6 +48,7 @@ function enable_lttng_channel_size_limit () $TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-channel \ -u $channel_name -s $sess_name --buffers-pid \ + --subbuf-size=$PAGE_SIZE \ -C $tracefile_size_limit >/dev/null 2>&1 ok $? "$test_name" @@ -108,7 +103,7 @@ function test_tracefile_size_limit () diag "Test tracefile size limit : $size_limit bytes" - create_lttng_session $session_name $trace_path + create_lttng_session_ok $session_name $trace_path enable_lttng_channel_size_limit \ $session_name $channel_name $size_limit @@ -116,15 +111,13 @@ function test_tracefile_size_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 $NR_ITER >/dev/null 2>&1 & + $TESTAPP_BIN -i $NR_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 file size, each one shall be no larger than the # specified size limit @@ -138,17 +131,67 @@ function test_tracefile_size_limit () rm -rf $trace_path } +function test_tracefile_size_limit_pagesize () +{ + # Set a size limit lower than the page_size + size_limit="$(($PAGE_SIZE-2))" + trace_path=$(mktemp -d) + session_name=$(randstring 16 0) + channel_name="channel" + event_name="tp:tptest" + + diag "Test tracefile size limit lower than PAGE_SIZE : $size_limit bytes" + + create_lttng_session_ok $session_name $trace_path + + enable_lttng_channel_size_limit \ + $session_name $channel_name $size_limit + + enable_ust_lttng_event_per_channel \ + $session_name $event_name $channel_name + + start_lttng_tracing_ok $session_name + + $TESTAPP_BIN -i $NR_ITER >/dev/null 2>&1 + + stop_lttng_tracing_ok $session_name + + destroy_lttng_session_ok $session_name + + # Validate file size, expect file size to be equal to the page size + + check_file_size $trace_path "${channel_name}_*" $PAGE_SIZE + + # Validate tracing data, we should at least have some events + + validate_trace $event_name $trace_path + + rm -rf $trace_path +} + plan_tests $NUM_TESTS print_test_banner "$TEST_DESC" start_lttng_sessiond -LIMITS=("4096" "8192" "16384" "32768" "65536") +# Test with multiples of PAGE_SIZE +LIMITS=("$(($PAGE_SIZE))" + "$(($PAGE_SIZE*2))" + "$(($PAGE_SIZE*4))" + "$(($PAGE_SIZE*8))" + "$(($PAGE_SIZE*16))" + "$(($PAGE_SIZE*32))") for limit in ${LIMITS[@]}; do test_tracefile_size_limit $limit done +# Test with a value that is not a multiple of PAGE_SIZE +test_tracefile_size_limit "$(($PAGE_SIZE+1024))" + +# Test that a value lower than the PAGE_SIZE is rounded to it +test_tracefile_size_limit_pagesize + stop_lttng_sessiond