[PATCH v8 11/18] perf test: Fix subtest status alignment for multi-digit indexes
From: Ian Rogers
Date: Tue Jun 02 2026 - 13:51:01 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 8883d4744057..4773000f3199 100644
--- a/tools/perf/tests/builtin-test.c
+++ b/tools/perf/tests/builtin-test.c
@@ -376,10 +376,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.1013.g208068f2d8-goog