Git fork

t/perf: use configured PERL_PATH

Our benchmarks use a couple of Perl scripts to compute results. These
Perl scripts get executed directly, and as the shebang is hardcoded to
"/usr/bin/perl" this will fail on any system where the Perl interpreter
is located in a different path.

Our build infrastructure already lets users configure the location of
Perl, which ultimately gets written into the GIT-BUILD-OPTIONS file.
This file is being sourced by "test-lib.sh", and consequently we already
have the "PERL_PATH" variable available that contains its configured
location.

Use "PERL_PATH" to execute Perl scripts, which makes them work on more
esoteric systems like NixOS. Furthermore, adapt the shebang to use
env(1) to execute Perl so that users who have Perl in PATH, but in a
non-standard location can execute the script directly.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

authored by

Patrick Steinhardt and committed by
Junio C Hamano
d84b9908 5a6b9c81

+5 -5
+1 -1
t/perf/aggregate.perl
··· 1 - #!/usr/bin/perl 1 + #!/usr/bin/env perl 2 2 3 3 use lib '../../perl/build/lib'; 4 4 use strict;
+2 -2
t/perf/perf-lib.sh
··· 276 276 else 277 277 test_ok_ "$1" 278 278 fi 279 - "$TEST_DIRECTORY"/perf/min_time.perl test_time.* >"$base".result 279 + "$PERL_PATH" "$TEST_DIRECTORY"/perf/min_time.perl test_time.* >"$base".result 280 280 rm test_time.* 281 281 } 282 282 ··· 324 324 if test -z "$GIT_PERF_AGGREGATING_LATER"; then 325 325 ( 326 326 cd "$TEST_DIRECTORY"/perf && 327 - ./aggregate.perl --results-dir="$TEST_RESULTS_DIR" $(basename "$0") 327 + "$PERL_PATH" ./aggregate.perl --results-dir="$TEST_RESULTS_DIR" $(basename "$0") 328 328 ) 329 329 fi 330 330 }
+2 -2
t/perf/run
··· 192 192 193 193 if test -z "$GIT_PERF_SEND_TO_CODESPEED" 194 194 then 195 - ./aggregate.perl --results-dir="$TEST_RESULTS_DIR" $codespeed_opt "$@" 195 + "$PERL_PATH" ./aggregate.perl --results-dir="$TEST_RESULTS_DIR" $codespeed_opt "$@" 196 196 else 197 197 json_res_file=""$TEST_RESULTS_DIR"/$GIT_PERF_SUBSECTION/aggregate.json" 198 - ./aggregate.perl --results-dir="$TEST_RESULTS_DIR" --codespeed "$@" | tee "$json_res_file" 198 + "$PERL_PATH" ./aggregate.perl --results-dir="$TEST_RESULTS_DIR" --codespeed "$@" | tee "$json_res_file" 199 199 send_data_url="$GIT_PERF_SEND_TO_CODESPEED/result/add/json/" 200 200 curl -v --request POST --data-urlencode "json=$(cat "$json_res_file")" "$send_data_url" 201 201 fi