Mercurial > hg > mercurial-source
changeset 35719: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 +++ b/tests/test-arbitraryfilectx.t @@ -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