X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Ftracefile-limits%2Ftest_tracefile_count;h=5f114af044e25b696907b832b5aa427f65d5ce17;hb=206e6505316df1b86196d6582ef1e632e47d43a5;hp=eb5d1a5f13c146aa78771414112d139f2c141bc9;hpb=1f3d1fcc56f93f12f6ea7eb8ed4637ed1c5fb03b;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 eb5d1a5f1..5f114af04 100755 --- a/tests/regression/tools/tracefile-limits/test_tracefile_count +++ b/tests/regression/tools/tracefile-limits/test_tracefile_count @@ -17,16 +17,37 @@ TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" STATS_BIN="$TESTDIR/utils/babelstats.pl" NUM_TESTS=74 -NUM_CPUS=$(nproc) PAGE_SIZE=$(getconf PAGE_SIZE) TRACEFILE_SIZE=$PAGE_SIZE source "$TESTDIR"/utils/utils.sh +NUM_CPUS=$(conf_proc_count) + if [ ! -x "$TESTAPP_BIN" ]; then BAIL_OUT "No UST events binary detected." fi +function pick_random_cpuid () +{ + local cpuid=0 + + # On Linux pick a random available cpuid from sysfs + if [ -d "/sys/devices/system/cpu" ]; then + local cpuids=() + + for i in /sys/devices/system/cpu/cpu[0-9]*; do + cpuids+=("${i#/sys/devices/system/cpu/cpu}") + done + + cpuid=${cpuids[ $RANDOM % ${#cpuids[@]} ]} + else + cpuid=$((RANDOM % NUM_CPUS)) + fi + + echo $cpuid +} + function enable_lttng_channel_count_limit () { sess_name="$1" @@ -82,7 +103,7 @@ function test_tracefile_count_limit () local count_limit="$1" local channel_name="channel" - local cpuno=$((RANDOM % NUM_CPUS)) + local cpuno=$(pick_random_cpuid) local event_name="tp:tptest" local expected_size=$((count_limit * TRACEFILE_SIZE)) local num_iter=100000 @@ -90,10 +111,9 @@ function test_tracefile_count_limit () local session_name local stream_pattern=".*${channel_name}_${cpuno}_[0-9]*" local stream_size=0 - local trace_path + local trace_path=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX") session_name=$(randstring 16 0) - trace_path=$(mktemp -d) diag "Test tracefile count limit : CPU $cpuno, $count_limit tracefiles, expecting a maximum of $expected_size bytes per CPU" @@ -135,7 +155,7 @@ function test_tracefile_count_limit () [ "$(get_stream_file_count "$trace_path" "$stream_pattern")" -eq "$count_limit" ] ok $? "Stream meets the trace file limit of $count_limit" - stats=`babeltrace $trace_path | $STATS_BIN --tracepoint $event_name` + stats=`"$BABELTRACE_BIN" $trace_path | $STATS_BIN --tracepoint $event_name` validate_min_max "$stats" "intfield" "[0-9]+" "$expected_max" ok $? "Trace validation - intfield" @@ -155,6 +175,8 @@ plan_tests $NUM_TESTS print_test_banner "$TEST_DESC" +bail_out_if_no_babeltrace + start_lttng_sessiond for limit in "${LIMITS[@]}";