aboutsummaryrefslogtreecommitdiffstats
path: root/t/helper/test-serve-v2.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2019-05-09 00:37:27 +0900
committerJunio C Hamano <gitster@pobox.com>2019-05-09 00:37:27 +0900
commitcaa227ff458f34155ef4e974ba9e57c857c02c01 (patch)
treed5710ac6b84f68bfbbdca6dc0501e96e943fe7e0 /t/helper/test-serve-v2.c
parentf560a4d1598106258f43d0d5cc04cae3e6aa93e2 (diff)
parentb7ce24d09526d4e181920ee029c25438196c2847 (diff)
downloadgit-caa227ff458f34155ef4e974ba9e57c857c02c01.tar.gz
Merge branch 'js/misc-doc-fixes'
"make check-docs", "git help -a", etc. did not account for cases where a particular build may deliberately omit some subcommands, which has been corrected. * js/misc-doc-fixes: Turn `git serve` into a test helper test-tool: handle the `-C <directory>` option just like `git` check-docs: do not bother checking for legacy scripts' documentation docs: exclude documentation for commands that have been excluded check-docs: allow command-list.txt to contain excluded commands help -a: do not list commands that are excluded from the build Makefile: drop the NO_INSTALL variable remote-testgit: move it into the support directory for t5801
Diffstat (limited to 't/helper/test-serve-v2.c')
-rw-r--r--t/helper/test-serve-v2.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/t/helper/test-serve-v2.c b/t/helper/test-serve-v2.c
new file mode 100644
index 0000000000..aee35e5aef
--- /dev/null
+++ b/t/helper/test-serve-v2.c
@@ -0,0 +1,31 @@
+#include "test-tool.h"
+#include "cache.h"
+#include "parse-options.h"
+#include "serve.h"
+
+static char const * const serve_usage[] = {
+ N_("test-tool serve-v2 [<options>]"),
+ NULL
+};
+
+int cmd__serve_v2(int argc, const char **argv)
+{
+ struct serve_options opts = SERVE_OPTIONS_INIT;
+
+ struct option options[] = {
+ OPT_BOOL(0, "stateless-rpc", &opts.stateless_rpc,
+ N_("quit after a single request/response exchange")),
+ OPT_BOOL(0, "advertise-capabilities", &opts.advertise_capabilities,
+ N_("exit immediately after advertising capabilities")),
+ OPT_END()
+ };
+ const char *prefix = setup_git_directory();
+
+ /* ignore all unknown cmdline switches for now */
+ argc = parse_options(argc, argv, prefix, options, serve_usage,
+ PARSE_OPT_KEEP_DASHDASH |
+ PARSE_OPT_KEEP_UNKNOWN);
+ serve(&opts);
+
+ return 0;
+}