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 <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Christian Couder committed
Jan 5, 2018 at 10:12 UTC
3ae7d2b0cd819f2b01e70c0015d6971a47e24c8a
1 file changed
+6
-5
t/perf/run
+6
-5
@@ -105,7 +105,8 @@ get_var_from_env_or_config () {
105
env_var="$1"
106
conf_sec="$2"
107
conf_var="$3"
108
- # $4 can be set to a default value
108
+ conf_opts="$4" # optional
109
+ # $5 can be set to a default value
110
111
# Do nothing if the env variable is already set
112
eval "test -z \"\${$env_var+x}\"" || return
@@ -116,18 +117,18 @@ get_var_from_env_or_config () {
117
if test -n "$GIT_PERF_SUBSECTION"
118
then
119
var="$conf_sec.$GIT_PERF_SUBSECTION.$conf_var"
119
- conf_value=$(git config -f "$GIT_PERF_CONFIG_FILE" "$var") &&
120
+ conf_value=$(git config $conf_opts -f "$GIT_PERF_CONFIG_FILE" "$var") &&
121
eval "$env_var=\"$conf_value\"" && return
122
fi
123
var="$conf_sec.$conf_var"
123
- conf_value=$(git config -f "$GIT_PERF_CONFIG_FILE" "$var") &&
124
+ conf_value=$(git config $conf_opts -f "$GIT_PERF_CONFIG_FILE" "$var") &&
125
eval "$env_var=\"$conf_value\"" && return
126
126
- test -n "${4+x}" && eval "$env_var=\"$4\""
127
+ test -n "${5+x}" && eval "$env_var=\"$5\""
128
}
129
130
run_subsection () {
130
- get_var_from_env_or_config "GIT_PERF_REPEAT_COUNT" "perf" "repeatCount" 3
131
+ get_var_from_env_or_config "GIT_PERF_REPEAT_COUNT" "perf" "repeatCount" "--int" 3
132
export GIT_PERF_REPEAT_COUNT
133
134
get_var_from_env_or_config "GIT_PERF_DIRS_OR_REVS" "perf" "dirsOrRevs"