changeset 34936:9645c2a2bc2a stable

test-arbitraryfilectx: stabilize for Windows Previously, the second last test (context.arbitraryfilectx(..)) returned True on Windows. I changed the repo setup sequence to import a patch, so that way the repo would have a proper symlink. That made the last test fail, since it is comparing files in wdir(), one of which is not the expected symlink. Apparently the (feature !) line matching doesn't work well with (no-eol), so I had to conditionalize the test instead of the output.
author Matt Harbison <matt_harbison@yahoo.com>
date Thu, 19 Oct 2017 23:16:48 -0400
parents ffeea2406276
children af924308110a
files tests/test-arbitraryfilectx.t
diffstat 1 files changed, 44 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-arbitraryfilectx.t	Sat Oct 28 12:35:54 2017 -0700
+++ b/tests/test-arbitraryfilectx.t	Thu Oct 19 23:16:48 2017 -0400
@@ -19,6 +19,7 @@
   $ mkdir case1
   $ cd case1
   $ hg init
+#if symlink
   $ printf "A" > real_A
   $ printf "foo" > A
   $ printf "foo" > B
@@ -29,6 +30,44 @@
   adding real_A
   adding sym_A
   $ hg commit -m "base"
+#else
+  $ hg import -q --bypass - <<EOF
+  > # HG changeset patch
+  > # User test
+  > # Date 0 0
+  > base
+  > 
+  > diff --git a/A b/A
+  > new file mode 100644
+  > --- /dev/null
+  > +++ b/A
+  > @@ -0,0 +1,1 @@
+  > +foo
+  > \ No newline at end of file
+  > diff --git a/B b/B
+  > new file mode 100644
+  > --- /dev/null
+  > +++ b/B
+  > @@ -0,0 +1,1 @@
+  > +foo
+  > \ No newline at end of file
+  > diff --git a/real_A b/real_A
+  > new file mode 100644
+  > --- /dev/null
+  > +++ b/real_A
+  > @@ -0,0 +1,1 @@
+  > +A
+  > \ No newline at end of file
+  > diff --git a/sym_A b/sym_A
+  > new file mode 120000
+  > --- /dev/null
+  > +++ b/sym_A
+  > @@ -0,0 +1,1 @@
+  > +A
+  > \ No newline at end of file
+  > EOF
+  $ hg up -q
+#endif
 
 These files are different and should return True (different):
 (Note that filecmp.cmp's return semantics are inverted from ours, so we invert
@@ -53,5 +92,10 @@
 
 A naive use of filecmp on those two would wrongly return True, since it follows
 the symlink to "A", which has different contents.
+#if symlink
   $ hg eval "not filecmp.cmp('real_A', 'sym_A')"
   True (no-eol)
+#else
+  $ hg eval "not filecmp.cmp('real_A', 'sym_A')"
+  False (no-eol)
+#endif