From: Rubén Justo Date: Tue, 09 Jan 2024 15:29:57 GMT Subject: [PATCH 2/3] t/test-tool: handle -c = arguments Message-ID: <6a4d6a56-ab6f-4557-a5a3-1713f57cbfc9@gmail.com> In-Reply-To: <7c68392c-af2f-4999-ae64-63221bf7833a@gmail.com> Soon we're going to need to pass configuration values to a command in test-tool. Let's teach test-tool to take config values via command line arguments. Signed-off-by: Rubén Justo --- t/helper/test-tool.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/t/helper/test-tool.c b/t/helper/test-tool.c index d9f57c20db..7eba4ec9ab 100644 --- a/t/helper/test-tool.c +++ b/t/helper/test-tool.c @@ -3,9 +3,10 @@ #include "test-tool-utils.h" #include "trace2.h" #include "parse-options.h" +#include "config.h" static const char * const test_tool_usage[] = { - "test-tool [-C ] [...]]", + "test-tool [-C ] [-c =] [...]", NULL }; @@ -106,6 +107,13 @@ static NORETURN void die_usage(void) exit(128); } +static int parse_config_option(const struct option *opt, const char *arg, + int unset) +{ + git_config_push_parameter(arg); + return 0; +} + int cmd_main(int argc, const char **argv) { int i; @@ -113,6 +121,9 @@ int cmd_main(int argc, const char **argv) struct option options[] = { OPT_STRING('C', NULL, &working_directory, "directory", "change the working directory"), + OPT_CALLBACK('c', NULL, NULL, "=", + "pass a configuration parameter to the command", + parse_config_option), OPT_END() }; -- 2.42.0