]> git.ipfire.org Git - thirdparty/git.git/commit
t/perf/perf-lib.sh: remove test_times.* at the end test_perf_()
authorJeff Hostetler <jeffhost@microsoft.com>
Mon, 4 Oct 2021 22:29:03 +0000 (22:29 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 5 Oct 2021 05:01:08 +0000 (22:01 -0700)
commitb9e4d84878b5c14fd4bd6e94e4e7d9ed0fc95c69
tree9f60ce0f85d1e5c858b88287a9d001ac6e6995b1
parent0785eb769886ae81e346df10e88bc49ffc0ac64e
t/perf/perf-lib.sh: remove test_times.* at the end test_perf_()

Teach test_perf_() to remove the temporary test_times.* files
at the end of each test.

test_perf_() runs a particular GIT_PERF_REPEAT_COUNT times and creates
./test_times.[123...].  It then uses a perl script to find the minimum
over "./test_times.*" (note the wildcard) and writes that time to
"test-results/<testname>.<testnumber>.result".

If the repeat count is changed during the pXXXX test script, stale
test_times.* files (from previous steps) may be included in the min()
computation.  For example:

...
GIT_PERF_REPEAT_COUNT=3 \
test_perf "status" "
git status
"

GIT_PERF_REPEAT_COUNT=1 \
test_perf "checkout other" "
git checkout other
"
...

The time reported in the summary for "XXXX.2 checkout other" would
be "min( checkout[1], status[2], status[3] )".

We prevent that error by removing the test_times.* files at the end of
each test.

Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/perf/perf-lib.sh