perf: fix when running with TEST_OUTPUT_DIRECTORY
When the TEST_OUTPUT_DIRECTORY is defined, then all test data will be written in that directory instead of the default directory located in "t/". While this works as expected for our normal tests, performance tests fail to locate and aggregate performance data because they don't know to handle TEST_OUTPUT_DIRECTORY correctly and always look at the default location. Fix the issue by adding a `--results-dir` parameter to "aggregate.perl" which identifies the directory where results are and by making the "run" script awake of the TEST_OUTPUT_DIRECTORY variable. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
670b81a890
commit
3663e5904d
@ -45,7 +45,7 @@ export TEST_DIRECTORY TRASH_DIRECTORY GIT_BUILD_DIR GIT_TEST_CMP
|
||||
MODERN_GIT=$GIT_BUILD_DIR/bin-wrappers/git
|
||||
export MODERN_GIT
|
||||
|
||||
perf_results_dir=$TEST_OUTPUT_DIRECTORY/test-results
|
||||
perf_results_dir=$TEST_RESULTS_DIR
|
||||
test -n "$GIT_PERF_SUBSECTION" && perf_results_dir="$perf_results_dir/$GIT_PERF_SUBSECTION"
|
||||
mkdir -p "$perf_results_dir"
|
||||
rm -f "$perf_results_dir"/$(basename "$0" .sh).subtests
|
||||
@ -253,7 +253,10 @@ test_size () {
|
||||
# and does it after running everything)
|
||||
test_at_end_hook_ () {
|
||||
if test -z "$GIT_PERF_AGGREGATING_LATER"; then
|
||||
( cd "$TEST_DIRECTORY"/perf && ./aggregate.perl $(basename "$0") )
|
||||
(
|
||||
cd "$TEST_DIRECTORY"/perf &&
|
||||
./aggregate.perl --results-dir="$TEST_RESULTS_DIR" $(basename "$0")
|
||||
)
|
||||
fi
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user