[PATCH v1 09/14] perf test: Fix subtest status alignment for multi-digit indexes
From: Ian Rogers
Date: Wed May 13 2026 - 19:05:32 EST
When running perf test, the status column (: Ok) became misaligned when
subtest indexes reached 2 or 3 digits (e.g. 9.100 vs 9.9 vs 10.1). This
occurred because the subtest description field width (subw) was statically
fixed to width - 2, assuming all subtest index prefixes were exactly 7
characters wide.
Dynamically calculate subw based on the exact character length of the test
suite and subtest index prefix. This ensures the status column is perfectly
aligned vertically across all test outputs regardless of subtest index digit
count.
Assisted-by: Gemini-CLI:Google Gemini 3
Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
---
tools/perf/tests/builtin-test.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
index 193a7dec6d5f..765724817776 100644
--- a/tools/perf/tests/builtin-test.c
+++ b/tools/perf/tests/builtin-test.c
@@ -370,10 +370,11 @@ static int print_test_result(struct test_suite *t, int curr_suite, int curr_test
int result, int width, int running)
{
if (test_suite__num_test_cases(t) > 1) {
- int subw = width > 2 ? width - 2 : width;
+ char prefix[32];
+ int len = snprintf(prefix, sizeof(prefix), "%3d.%1d:", curr_suite + 1, curr_test_case + 1);
+ int subw = len >= 4 ? width + 4 - len : width;
- pr_info("%3d.%1d: %-*s:", curr_suite + 1, curr_test_case + 1, subw,
- test_description(t, curr_test_case));
+ pr_info("%s %-*s:", prefix, subw, test_description(t, curr_test_case));
} else
pr_info("%3d: %-*s:", curr_suite + 1, width, test_description(t, curr_test_case));
--
2.54.0.563.g4f69b47b94-goog