changeset 32216:98bb992bef19

test-extdiff: enable a previously failing test on Windows
author Matt Harbison <matt_harbison@yahoo.com>
date Sat, 06 May 2017 22:48:06 -0400
parents f41cc3dd73d6
children affd753ddaf1
files tests/test-extdiff.t
diffstat 1 files changed, 14 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-extdiff.t	Sat May 06 19:11:59 2017 -0400
+++ b/tests/test-extdiff.t	Sat May 06 22:48:06 2017 -0400
@@ -331,11 +331,19 @@
 #if execbit
   $ chmod +x dir/tool.sh
 #endif
-  $ tool=`pwd`/dir/tool.sh
 
-TODO: Fix this on Windows.  It currently tries to run 'tl a.* a', instead of
-falling back to tool.sh
-#if no-windows
+Windows can't run *.sh directly, so create a shim executable that can be.
+Without something executable, the next hg command will try to run `tl` instead
+of $tool (and fail).
+#if windows
+  $ cat > dir/tool.bat <<EOF
+  > @sh -c "`pwd`/dir/tool.sh %1 %2"
+  > EOF
+  $ tool=`pwd`/dir/tool.bat
+#else
+  $ tool=`pwd`/dir/tool.sh
+#endif
+
   $ hg --debug tl --config extdiff.tl= --config merge-tools.tl.executable=$tool
   making snapshot of 2 files from rev * (glob)
     a
@@ -343,11 +351,11 @@
   making snapshot of 2 files from working directory
     a
     b
-  running '$TESTTMP/a/dir/tool.sh a.* a' in */extdiff.* (glob)
+  running '$TESTTMP/a/dir/tool.bat a.* a' in */extdiff.* (glob) (windows !)
+  running '$TESTTMP/a/dir/tool.sh a.* a' in */extdiff.* (glob) (no-windows !)
   ** custom diff **
   cleaning up temp directory
   [1]
-#endif
 
   $ cd ..