Turn `git serve` into a test helper
[git/git.git] / t / helper / test-serve-v2.c
1 #include "test-tool.h"
2 #include "cache.h"
3 #include "parse-options.h"
4 #include "serve.h"
5
6 static char const * const serve_usage[] = {
7 N_("test-tool serve-v2 [<options>]"),
8 NULL
9 };
10
11 int cmd__serve_v2(int argc, const char **argv)
12 {
13 struct serve_options opts = SERVE_OPTIONS_INIT;
14
15 struct option options[] = {
16 OPT_BOOL(0, "stateless-rpc", &opts.stateless_rpc,
17 N_("quit after a single request/response exchange")),
18 OPT_BOOL(0, "advertise-capabilities", &opts.advertise_capabilities,
19 N_("exit immediately after advertising capabilities")),
20 OPT_END()
21 };
22 const char *prefix = setup_git_directory();
23
24 /* ignore all unknown cmdline switches for now */
25 argc = parse_options(argc, argv, prefix, options, serve_usage,
26 PARSE_OPT_KEEP_DASHDASH |
27 PARSE_OPT_KEEP_UNKNOWN);
28 serve(&opts);
29
30 return 0;
31 }