[PATCH 2/5] t/perf: use configured PERL_PATH
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Mar 31, 2025, 06:16 UTC
- Message-ID
- <20250331-pks-meson-benchmarks-v1-2-b2ace85616a3@pks.im>
- In-Reply-To
- <20250331-pks-meson-benchmarks-v1-0-b2ace85616a3@pks.im>
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.
Signed-off-by: Patrick Steinhardt <ps@pks.im> --- t/perf/perf-lib.sh | 4 ++-- t/perf/run | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/t/perf/perf-lib.sh b/t/perf/perf-lib.sh index 1a9a51ca3cc..4173eee4def 100644 --- a/t/perf/perf-lib.sh +++ b/t/perf/perf-lib.sh @@ -276,7 +276,7 @@ test_perf_ () { else test_ok_ "$1" fi - "$TEST_DIRECTORY"/perf/min_time.perl test_time.* >"$base".result + "$PERL_PATH" "$TEST_DIRECTORY"/perf/min_time.perl test_time.* >"$base".result rm test_time.* } @@ -324,7 +324,7 @@ test_at_end_hook_ () { if test -z "$GIT_PERF_AGGREGATING_LATER"; then ( cd "$TEST_DIRECTORY"/perf && - ./aggregate.perl --results-dir="$TEST_RESULTS_DIR" $(basename "$0") + "$PERL_PATH" ./aggregate.perl --results-dir="$TEST_RESULTS_DIR" $(basename "$0") ) fi } diff --git a/t/perf/run b/t/perf/run index 486ead21980..073bcb2afff 100755 --- a/t/perf/run +++ b/t/perf/run @@ -192,10 +192,10 @@ run_subsection () { if test -z "$GIT_PERF_SEND_TO_CODESPEED" then - ./aggregate.perl --results-dir="$TEST_RESULTS_DIR" $codespeed_opt "$@" + "$PERL_PATH" ./aggregate.perl --results-dir="$TEST_RESULTS_DIR" $codespeed_opt "$@" else json_res_file=""$TEST_RESULTS_DIR"/$GIT_PERF_SUBSECTION/aggregate.json" - ./aggregate.perl --results-dir="$TEST_RESULTS_DIR" --codespeed "$@" | tee "$json_res_file" + "$PERL_PATH" ./aggregate.perl --results-dir="$TEST_RESULTS_DIR" --codespeed "$@" | tee "$json_res_file" send_data_url="$GIT_PERF_SEND_TO_CODESPEED/result/add/json/" curl -v --request POST --data-urlencode "json=$(cat "$json_res_file")" "$send_data_url" fi
-- 2.49.0.604.gff1f9ca942.dirty