# [PATCH] perf-lib: fix missing test titles in output

3 messages from 2022-06-16 to 2022-06-16. Participants: Jeff King, Derrick Stolee, Neeraj Singh (WINDOWS-SFS).
Thread: https://gitlist.dev/t/58020

## Jeff King, 2022-06-16 07:09

Subject: [PATCH] perf-lib: fix missing test titles in output
Message-ID: <YqrXLO5oMYeOr2PB@coredump.intra.peff.net>
URL: https://gitlist.dev/e/YqrXLO5oMYeOr2PB%40coredump.intra.peff.net

```
Commit 5dccd9155f (t/perf: add iteration setup mechanism to perf-lib,
2022-04-04) modified the parameter parsing of test_wrapper() such that
the test title was no longer in $1, and is instead in $test_title_.

We correctly pass the new variable to the code which outputs the title
to the log, but missed the spot in test_wrapper() where the title is
written to the ".descr" file which is used to produce the final output
table. As a result, all of the titles are missing from that table (or
worse, using whatever was left in $1):

  $ ./p0000-perf-lib-sanity.sh
  [...]
  Test           this tree
  ------------------------------
  0000.1:        0.01(0.01+0.00)
  0000.2:        0.01(0.00+0.01)
  0000.4:        0.00(0.00+0.00)
  0000.5: true   0.00(0.00+0.00)
  0000.7:        0.00(0.00+0.00)
  0000.8:        0.00(0.00+0.00)

After this patch, we get the pre-5dccd9155f output:

  Test                                                       this tree
  --------------------------------------------------------------------------
  0000.1: test_perf_default_repo works                       0.00(0.00+0.00)
  0000.2: test_checkout_worktree works                       0.01(0.00+0.01)
  0000.4: export a weird var                                 0.00(0.00+0.00)
  0000.5: éḿíẗ ńöń-ÁŚĆÍÍ ćḧáŕáćẗéŕś                          0.00(0.00+0.00)
  0000.7: important variables available in subshells         0.00(0.00+0.00)
  0000.8: test-lib-functions correctly loaded in subshells   0.00(0.00+0.00)

Signed-off-by: Jeff King <peff@peff.net>
---
 t/perf/perf-lib.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/perf/perf-lib.sh b/t/perf/perf-lib.sh
index ab3687c28d..27c2801792 100644
--- a/t/perf/perf-lib.sh
+++ b/t/perf/perf-lib.sh
@@ -219,7 +219,7 @@ test_wrapper_ () {
 	then
 		base=$(basename "$0" .sh)
 		echo "$test_count" >>"$perf_results_dir"/$base.subtests
-		echo "$1" >"$perf_results_dir"/$base.$test_count.descr
+		echo "$test_title_" >"$perf_results_dir"/$base.$test_count.descr
 		base="$perf_results_dir"/"$PERF_RESULTS_PREFIX$(basename "$0" .sh)"."$test_count"
 		"$test_wrapper_func_" "$test_title_" "$@"
 	fi
-- 
2.37.0.rc0.352.g10876ef154

```

## Derrick Stolee, 2022-06-16 13:03

Subject: Re: [PATCH] perf-lib: fix missing test titles in output
Message-ID: <6671fd2c-ffcb-6278-494f-2d3cfe4c36d1@github.com>
URL: https://gitlist.dev/e/6671fd2c-ffcb-6278-494f-2d3cfe4c36d1%40github.com
In-Reply-To: <YqrXLO5oMYeOr2PB@coredump.intra.peff.net>

```
On 6/16/2022 3:09 AM, Jeff King wrote:
> Commit 5dccd9155f (t/perf: add iteration setup mechanism to perf-lib,
> 2022-04-04) modified the parameter parsing of test_wrapper() such that
> the test title was no longer in $1, and is instead in $test_title_.
> 
> We correctly pass the new variable to the code which outputs the title
> to the log, but missed the spot in test_wrapper() where the title is
> written to the ".descr" file which is used to produce the final output
> table. As a result, all of the titles are missing from that table (or
> worse, using whatever was left in $1):
> 
>   $ ./p0000-perf-lib-sanity.sh
>   [...]
>   Test           this tree
>   ------------------------------
>   0000.1:        0.01(0.01+0.00)
>   0000.2:        0.01(0.00+0.01)
>   0000.4:        0.00(0.00+0.00)
>   0000.5: true   0.00(0.00+0.00)
>   0000.7:        0.00(0.00+0.00)
>   0000.8:        0.00(0.00+0.00)

Yikes!
 
> After this patch, we get the pre-5dccd9155f output:
> 
>   Test                                                       this tree
>   --------------------------------------------------------------------------
>   0000.1: test_perf_default_repo works                       0.00(0.00+0.00)
>   0000.2: test_checkout_worktree works                       0.01(0.00+0.01)
>   0000.4: export a weird var                                 0.00(0.00+0.00)
>   0000.5: éḿíẗ ńöń-ÁŚĆÍÍ ćḧáŕáćẗéŕś                          0.00(0.00+0.00)
>   0000.7: important variables available in subshells         0.00(0.00+0.00)
>   0000.8: test-lib-functions correctly loaded in subshells   0.00(0.00+0.00)

Good catch. LGTM.

-Stolee

```

## Neeraj Singh (WINDOWS-SFS), 2022-06-16 19:51

Subject: RE: [PATCH] perf-lib: fix missing test titles in output
Message-ID: <DM5PR21MB154239CE797E7D50D0435213CCAC9@DM5PR21MB1542.namprd21.prod.outlook.com>
URL: https://gitlist.dev/e/DM5PR21MB154239CE797E7D50D0435213CCAC9%40DM5PR21MB1542.namprd21.prod.outlook.com
In-Reply-To: <6671fd2c-ffcb-6278-494f-2d3cfe4c36d1@github.com>

```
Apologies for the breakage and thanks for the fix.
It looks good to me!

-Neeraj

```
