Let's make it possible to set in a config file the URL of
a codespeed server. And then let's make the `run` script
send the perf test results to this URL at the end of the
tests.

This should make is possible to easily automate the process
of running perf tests and having their results available in
Codespeed.

Signed-off-by: Christian Couder <chrisc...@tuxfamily.org>
---
 t/perf/run | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/t/perf/run b/t/perf/run
index 4e62d6bb3f..ef56396546 100755
--- a/t/perf/run
+++ b/t/perf/run
@@ -148,10 +148,20 @@ run_subsection () {
        test "$GIT_PERF_CODESPEED_OUTPUT" = "true" && 
codespeed_opt="--codespeed"
 
        run_dirs "$@"
-       ./aggregate.perl $codespeed_opt "$@"
+
+       if test -z "$GIT_PERF_SEND_TO_CODESPEED"
+       then
+               ./aggregate.perl $codespeed_opt "$@"
+       else
+               json_res_file="test-results/$GIT_PERF_SUBSECTION/aggregate.json"
+               ./aggregate.perl --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
 }
 
 get_var_from_env_or_config "GIT_PERF_CODESPEED_OUTPUT" "perf" 
"codespeedOutput" "--bool"
+get_var_from_env_or_config "GIT_PERF_SEND_TO_CODESPEED" "perf" 
"sendToCodespeed"
 
 cd "$(dirname $0)"
 . ../../GIT-BUILD-OPTIONS
-- 
2.15.1.361.g8b07d831d0

Reply via email to