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=92144ebb740129ab3a8a7c3e7c8ccb5801009d30;hb=a4c305246c4b8021fa1681076326731349a1cd17;hpb=d7ee608c00feacea3cfd5a740df64e5215347cb9 diff --git a/tests/regression/tools/tracefile-limits/test_tracefile_size b/tests/regression/tools/tracefile-limits/test_tracefile_size index 92144ebb7..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=42 +NUM_TESTS=66 source $TESTDIR/utils/utils.sh @@ -46,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" @@ -100,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 @@ -108,13 +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 - stop_lttng_tracing $session_name + stop_lttng_tracing_ok $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 @@ -128,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