Patchwork tests: disable remotefilelog on Windows

login
register
mail settings
Submitter Matt Harbison
Date Nov. 25, 2018, 4:17 a.m.
Message ID <99e50fb3ffc6fa3d5e81.1543119446@Envy>
Download mbox | patch
Permalink /patch/36767/
State Accepted
Headers show

Comments

Matt Harbison - Nov. 25, 2018, 4:17 a.m.
# HG changeset patch
# User Matt Harbison <matt_harbison@yahoo.com>
# Date 1543086662 18000
#      Sat Nov 24 14:11:02 2018 -0500
# Node ID 99e50fb3ffc6fa3d5e81427c69e5280c84254ab0
# Parent  1f9de5636e5f7f4bfe2d3fb8c5dde543a1870161
tests: disable remotefilelog on Windows

I've spent a non trivial amount of time trying to eliminate the test errors, but
it's looking like this is pretty dependent on Unix support.  For example, there
are attempts to delete open files, and uses of threads that report I/O attempts
on closed files.  (Maybe this is a race condition?  Don't we usually use
processes as workers on Windows?)

In any event, I don't want real new errors elsewhere to be masked by these known
problems.

For some reason $CACHEDIR is reported as missing in test-remotefilelog-repack.t,
but it actually exists in the hgcloneshallow call inside
shallowutil.mkstickygroupdir().  By the time the process exits, it's gone.  I
don't see it being removed by code that calls 'rmdir' or 'remove' in the
extension itself.
Yuya Nishihara - Nov. 26, 2018, 11:37 a.m.
On Sat, 24 Nov 2018 23:17:26 -0500, Matt Harbison wrote:
> # HG changeset patch
> # User Matt Harbison <matt_harbison@yahoo.com>
> # Date 1543086662 18000
> #      Sat Nov 24 14:11:02 2018 -0500
> # Node ID 99e50fb3ffc6fa3d5e81427c69e5280c84254ab0
> # Parent  1f9de5636e5f7f4bfe2d3fb8c5dde543a1870161
> tests: disable remotefilelog on Windows
> 
> I've spent a non trivial amount of time trying to eliminate the test errors, but
> it's looking like this is pretty dependent on Unix support.  For example, there
> are attempts to delete open files, and uses of threads that report I/O attempts
> on closed files.  (Maybe this is a race condition?  Don't we usually use
> processes as workers on Windows?)
> 
> In any event, I don't want real new errors elsewhere to be masked by these known
> problems.
> 
> For some reason $CACHEDIR is reported as missing in test-remotefilelog-repack.t,
> but it actually exists in the hgcloneshallow call inside
> shallowutil.mkstickygroupdir().  By the time the process exits, it's gone.  I
> don't see it being removed by code that calls 'rmdir' or 'remove' in the
> extension itself.

Queued, thanks.

Should we make remotefilelog.uisetup() abort if enabled on Windows?
Augie Fackler - Nov. 26, 2018, 9:55 p.m.
On Mon, Nov 26, 2018 at 08:37:16PM +0900, Yuya Nishihara wrote:
> On Sat, 24 Nov 2018 23:17:26 -0500, Matt Harbison wrote:
> > # HG changeset patch
> > # User Matt Harbison <matt_harbison@yahoo.com>
> > # Date 1543086662 18000
> > #      Sat Nov 24 14:11:02 2018 -0500
> > # Node ID 99e50fb3ffc6fa3d5e81427c69e5280c84254ab0
> > # Parent  1f9de5636e5f7f4bfe2d3fb8c5dde543a1870161
> > tests: disable remotefilelog on Windows
> >
> > I've spent a non trivial amount of time trying to eliminate the test errors, but
> > it's looking like this is pretty dependent on Unix support.  For example, there
> > are attempts to delete open files, and uses of threads that report I/O attempts
> > on closed files.  (Maybe this is a race condition?  Don't we usually use
> > processes as workers on Windows?)
> >
> > In any event, I don't want real new errors elsewhere to be masked by these known
> > problems.
> >
> > For some reason $CACHEDIR is reported as missing in test-remotefilelog-repack.t,
> > but it actually exists in the hgcloneshallow call inside
> > shallowutil.mkstickygroupdir().  By the time the process exits, it's gone.  I
> > don't see it being removed by code that calls 'rmdir' or 'remove' in the
> > extension itself.
>
> Queued, thanks.
>
> Should we make remotefilelog.uisetup() abort if enabled on Windows?

No: empirically it works, or at least it did. In any case there's a
nonzero chance I'll be pushing this to Windows users Soon, so if it's
broken I'll know...

(I'll also probably try and do some test cleanup at that point.)

> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Patch

diff --git a/tests/test-remotefilelog-bad-configs.t b/tests/test-remotefilelog-bad-configs.t
--- a/tests/test-remotefilelog-bad-configs.t
+++ b/tests/test-remotefilelog-bad-configs.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-bgprefetch.t b/tests/test-remotefilelog-bgprefetch.t
--- a/tests/test-remotefilelog-bgprefetch.t
+++ b/tests/test-remotefilelog-bgprefetch.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-blame.t b/tests/test-remotefilelog-blame.t
--- a/tests/test-remotefilelog-blame.t
+++ b/tests/test-remotefilelog-blame.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-bundle2-legacy.t b/tests/test-remotefilelog-bundle2-legacy.t
--- a/tests/test-remotefilelog-bundle2-legacy.t
+++ b/tests/test-remotefilelog-bundle2-legacy.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
 generaldelta to generaldelta interactions with bundle2 but legacy clients
diff --git a/tests/test-remotefilelog-bundle2.t b/tests/test-remotefilelog-bundle2.t
--- a/tests/test-remotefilelog-bundle2.t
+++ b/tests/test-remotefilelog-bundle2.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-bundles.t b/tests/test-remotefilelog-bundles.t
--- a/tests/test-remotefilelog-bundles.t
+++ b/tests/test-remotefilelog-bundles.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-cacheprocess.t b/tests/test-remotefilelog-cacheprocess.t
--- a/tests/test-remotefilelog-cacheprocess.t
+++ b/tests/test-remotefilelog-cacheprocess.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init repo
diff --git a/tests/test-remotefilelog-clone-tree.t b/tests/test-remotefilelog-clone-tree.t
--- a/tests/test-remotefilelog-clone-tree.t
+++ b/tests/test-remotefilelog-clone-tree.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-clone.t b/tests/test-remotefilelog-clone.t
--- a/tests/test-remotefilelog-clone.t
+++ b/tests/test-remotefilelog-clone.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-corrupt-cache.t b/tests/test-remotefilelog-corrupt-cache.t
--- a/tests/test-remotefilelog-corrupt-cache.t
+++ b/tests/test-remotefilelog-corrupt-cache.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-gc.t b/tests/test-remotefilelog-gc.t
--- a/tests/test-remotefilelog-gc.t
+++ b/tests/test-remotefilelog-gc.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-gcrepack.t b/tests/test-remotefilelog-gcrepack.t
--- a/tests/test-remotefilelog-gcrepack.t
+++ b/tests/test-remotefilelog-gcrepack.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-http.t b/tests/test-remotefilelog-http.t
--- a/tests/test-remotefilelog-http.t
+++ b/tests/test-remotefilelog-http.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-keepset.t b/tests/test-remotefilelog-keepset.t
--- a/tests/test-remotefilelog-keepset.t
+++ b/tests/test-remotefilelog-keepset.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-linknodes.t b/tests/test-remotefilelog-linknodes.t
--- a/tests/test-remotefilelog-linknodes.t
+++ b/tests/test-remotefilelog-linknodes.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
 # Tests for the complicated linknode logic in remotefilelog.py::ancestormap()
 
   $ . "$TESTDIR/remotefilelog-library.sh"
diff --git a/tests/test-remotefilelog-local.t b/tests/test-remotefilelog-local.t
--- a/tests/test-remotefilelog-local.t
+++ b/tests/test-remotefilelog-local.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-log.t b/tests/test-remotefilelog-log.t
--- a/tests/test-remotefilelog-log.t
+++ b/tests/test-remotefilelog-log.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-partial-shallow.t b/tests/test-remotefilelog-partial-shallow.t
--- a/tests/test-remotefilelog-partial-shallow.t
+++ b/tests/test-remotefilelog-partial-shallow.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-permissions.t b/tests/test-remotefilelog-permissions.t
--- a/tests/test-remotefilelog-permissions.t
+++ b/tests/test-remotefilelog-permissions.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-prefetch.t b/tests/test-remotefilelog-prefetch.t
--- a/tests/test-remotefilelog-prefetch.t
+++ b/tests/test-remotefilelog-prefetch.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-pull-noshallow.t b/tests/test-remotefilelog-pull-noshallow.t
--- a/tests/test-remotefilelog-pull-noshallow.t
+++ b/tests/test-remotefilelog-pull-noshallow.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
 Set up an extension to make sure remotefilelog clientsetup() runs
diff --git a/tests/test-remotefilelog-push-pull.t b/tests/test-remotefilelog-push-pull.t
--- a/tests/test-remotefilelog-push-pull.t
+++ b/tests/test-remotefilelog-push-pull.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-repack-fast.t b/tests/test-remotefilelog-repack-fast.t
--- a/tests/test-remotefilelog-repack-fast.t
+++ b/tests/test-remotefilelog-repack-fast.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ cat >> $HGRCPATH <<EOF
diff --git a/tests/test-remotefilelog-repack.t b/tests/test-remotefilelog-repack.t
--- a/tests/test-remotefilelog-repack.t
+++ b/tests/test-remotefilelog-repack.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-share.t b/tests/test-remotefilelog-share.t
--- a/tests/test-remotefilelog-share.t
+++ b/tests/test-remotefilelog-share.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ cat >> $HGRCPATH <<EOF
diff --git a/tests/test-remotefilelog-sparse.t b/tests/test-remotefilelog-sparse.t
--- a/tests/test-remotefilelog-sparse.t
+++ b/tests/test-remotefilelog-sparse.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-tags.t b/tests/test-remotefilelog-tags.t
--- a/tests/test-remotefilelog-tags.t
+++ b/tests/test-remotefilelog-tags.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master
diff --git a/tests/test-remotefilelog-wireproto.t b/tests/test-remotefilelog-wireproto.t
--- a/tests/test-remotefilelog-wireproto.t
+++ b/tests/test-remotefilelog-wireproto.t
@@ -1,3 +1,5 @@ 
+#require no-windows
+
   $ . "$TESTDIR/remotefilelog-library.sh"
 
   $ hg init master