From 3ae7d2b0cd819f2b01e70c0015d6971a47e24c8a Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Fri, 5 Jan 2018 10:12:23 +0100 Subject: [PATCH] perf/run: add conf_opts argument to get_var_from_env_or_config() Let's make it possible to use `git config` type specifiers like `--int` or `--bool`, so that config values are converted to the canonical form and easier to use. This additional argument is now the fourth argument of get_var_from_env_or_config() instead of the fifth because we want the default value argument to be unset if it is not passed, and this is simpler if it is the last argument. Signed-off-by: Christian Couder Signed-off-by: Junio C Hamano --- t/perf/run | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/t/perf/run b/t/perf/run index 43e4de49ef..214d658172 100755 --- a/t/perf/run +++ b/t/perf/run @@ -105,7 +105,8 @@ get_var_from_env_or_config () { env_var="$1" conf_sec="$2" conf_var="$3" - # $4 can be set to a default value + conf_opts="$4" # optional + # $5 can be set to a default value # Do nothing if the env variable is already set eval "test -z \"\${$env_var+x}\"" || return @@ -116,18 +117,18 @@ get_var_from_env_or_config () { if test -n "$GIT_PERF_SUBSECTION" then var="$conf_sec.$GIT_PERF_SUBSECTION.$conf_var" - conf_value=$(git config -f "$GIT_PERF_CONFIG_FILE" "$var") && + conf_value=$(git config $conf_opts -f "$GIT_PERF_CONFIG_FILE" "$var") && eval "$env_var=\"$conf_value\"" && return fi var="$conf_sec.$conf_var" - conf_value=$(git config -f "$GIT_PERF_CONFIG_FILE" "$var") && + conf_value=$(git config $conf_opts -f "$GIT_PERF_CONFIG_FILE" "$var") && eval "$env_var=\"$conf_value\"" && return - test -n "${4+x}" && eval "$env_var=\"$4\"" + test -n "${5+x}" && eval "$env_var=\"$5\"" } run_subsection () { - get_var_from_env_or_config "GIT_PERF_REPEAT_COUNT" "perf" "repeatCount" 3 + get_var_from_env_or_config "GIT_PERF_REPEAT_COUNT" "perf" "repeatCount" "--int" 3 export GIT_PERF_REPEAT_COUNT get_var_from_env_or_config "GIT_PERF_DIRS_OR_REVS" "perf" "dirsOrRevs" -- 2.11.4.GIT