Tests: fix tracefile count when page_size is > 4k
[lttng-tools.git] / tests / regression / tools / tracefile-limits / test_tracefile_count
index 41b89f005df2e673faf4640c3fbee1da44742df3..6ada8580f0c575f29927ea4219733201bdca5fa0 100755 (executable)
@@ -25,7 +25,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 +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_count_limit ()
 {
        sess_name="$1"
@@ -53,7 +48,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 +87,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 +104,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 +117,17 @@ function test_tracefile_count_limit ()
        enable_ust_lttng_event_per_channel \
            $session_name $event_name $channel_name
 
-       start_lttng_tracing $session_name
-
-       $TESTAPP_BIN $num_iter >/dev/null 2>&1 &
+       start_lttng_tracing_ok $session_name
 
-       wait_apps
+       $TESTAPP_BIN $num_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 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 +149,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
This page took 0.024639 seconds and 4 git commands to generate.