diff --git a/borg/remote.py b/borg/remote.py index f0dbc9cf5..246ae0fca 100644 --- a/borg/remote.py +++ b/borg/remote.py @@ -31,6 +31,8 @@ MAX_INFLIGHT = 100 def os_write(fd, data): """os.write wrapper so we do not lose data for partial writes.""" + # TODO: this issue is fixed in cygwin since at least 2.8.0, remove this + # wrapper / workaround when this version is considered ancient. # This is happening frequently on cygwin due to its small pipe buffer size of only 64kiB # and also due to its different blocking pipe behaviour compared to Linux/*BSD. # Neither Linux nor *BSD ever do partial writes on blocking pipes, unless interrupted by a diff --git a/borg/testsuite/archiver.py b/borg/testsuite/archiver.py index 211b25efd..81974a8c0 100644 --- a/borg/testsuite/archiver.py +++ b/borg/testsuite/archiver.py @@ -1786,7 +1786,6 @@ class ManifestAuthenticationTest(ArchiverTestCaseBase): assert not self.cmd('list', self.repository_location) -@pytest.mark.skipif(sys.platform == 'cygwin', reason='remote is broken on cygwin and hangs') class RemoteArchiverTestCase(ArchiverTestCase): prefix = '__testsuite__:' diff --git a/borg/testsuite/repository.py b/borg/testsuite/repository.py index 713b03cfd..a762b6b2c 100644 --- a/borg/testsuite/repository.py +++ b/borg/testsuite/repository.py @@ -416,7 +416,6 @@ class RepositoryCheckTestCase(RepositoryTestCaseBase): self.assert_equal(self.repository.get(H(0)), b'data2') -@pytest.mark.skipif(sys.platform == 'cygwin', reason='remote is broken on cygwin and hangs') class RemoteRepositoryTestCase(RepositoryTestCase): def open(self, create=False): @@ -449,7 +448,6 @@ class RemoteRepositoryTestCase(RepositoryTestCase): assert self.repository.borg_cmd(args, testing=False) == ['borg-0.28.2', 'serve', '--umask=077', '--info'] -@pytest.mark.skipif(sys.platform == 'cygwin', reason='remote is broken on cygwin and hangs') class RemoteRepositoryCheckTestCase(RepositoryCheckTestCase): def open(self, create=False):