summaryrefslogtreecommitdiff
path: root/test-path-utils.c
diff options
context:
space:
mode:
authorJiang Xin <worldhello.net@gmail.com>2013-06-25 23:53:57 +0800
committerJunio C Hamano <gitster@pobox.com>2013-06-26 11:25:12 -0700
commitabd4284bc62127a2db69c8c81501a56bb29284c8 (patch)
tree1c21a7699b9267454c944f1c6fedca0c25d4a0d8 /test-path-utils.c
parentdb627fd568410499c47d764937c3d7a10bbadffa (diff)
downloadgit-abd4284bc62127a2db69c8c81501a56bb29284c8.tar.gz
test: run testcases with POSIX absolute paths on Windows
Some test cases are skipped on Windows by marking with POSIX prereq. This is because arguments look like absolute paths (such as /a/b) for regular Windows programs (*.exe executables, no bash scripts) are changed to Windows paths (like C:/msysgit/a/b). There is no cygpath nor equivalent on msysGit, but it is easy to write one. New subcommand "mingw_path" is added in test-path-utils, so that we can get the expected absolute paths on Windows. E.g. COMMAND LINE Linux output Windows output ================================== ============ =============== test-path-utils mingw_path / / C:/msysgit test-path-utils mingw_path /a/b/ /a/b/ C:/msysgit/a/b/ With this utility, most skipped test cases in t0060 can be turned on to be tested correctly on Windows. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'test-path-utils.c')
-rw-r--r--test-path-utils.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/test-path-utils.c b/test-path-utils.c
index 1bf4730619..bb975e4d3e 100644
--- a/test-path-utils.c
+++ b/test-path-utils.c
@@ -116,6 +116,11 @@ int main(int argc, char **argv)
return 0;
}
+ if (argc == 3 && !strcmp(argv[1], "mingw_path")) {
+ puts(argv[2]);
+ return 0;
+ }
+
if (argc == 4 && !strcmp(argv[1], "relative_path")) {
struct strbuf sb = STRBUF_INIT;
const char *in, *prefix, *rel;