summaryrefslogtreecommitdiffstats
path: root/t/helper/test-subprocess.c
diff options
context:
space:
mode:
Diffstat (limited to 't/helper/test-subprocess.c')
-rw-r--r--t/helper/test-subprocess.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/t/helper/test-subprocess.c b/t/helper/test-subprocess.c
new file mode 100644
index 0000000..ff22f2f
--- /dev/null
+++ b/t/helper/test-subprocess.c
@@ -0,0 +1,20 @@
+#include "test-tool.h"
+#include "cache.h"
+#include "run-command.h"
+
+int cmd__subprocess(int argc, const char **argv)
+{
+ struct child_process cp = CHILD_PROCESS_INIT;
+ int nogit = 0;
+
+ setup_git_directory_gently(&nogit);
+ if (nogit)
+ die("No git repo found");
+ if (argc > 1 && !strcmp(argv[1], "--setup-work-tree")) {
+ setup_work_tree();
+ argv++;
+ }
+ cp.git_cmd = 1;
+ strvec_pushv(&cp.args, (const char **)argv + 1);
+ return run_command(&cp);
+}