[PATCH v4 10/15] perf test: Fix subtest status alignment for multi-digit indexes
From: Ian Rogers
Date: Sun May 31 2026 - 04:23:50 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 | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
index 336d24105c9f..4c0caa8d0b27 100644
--- a/tools/perf/tests/builtin-test.c
+++ b/tools/perf/tests/builtin-test.c
@@ -373,10 +373,12 @@ 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.823.g6e5bcc1fc9-goog