]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #17753: Skip test_zipfile tests which require write access to test
authorSerhiy Storchaka <storchaka@gmail.com>
Sat, 14 Feb 2015 21:04:35 +0000 (23:04 +0200)
committerSerhiy Storchaka <storchaka@gmail.com>
Sat, 14 Feb 2015 21:04:35 +0000 (23:04 +0200)
and email.test.

Lib/test/test_zipfile.py

index 76e32fbfbd89052362f31d21020c33a34065f0f1..4633fe67a59f851d6d7fa225ddf0decaaf687ae1 100644 (file)
@@ -648,7 +648,12 @@ class PyZipFileTests(unittest.TestCase):
         if name + 'o' not in namelist:
             self.assertIn(name + 'c', namelist)
 
+    def requiresWriteAccess(self, path):
+        if not os.access(path, os.W_OK, effective_ids=True):
+            self.skipTest('requires write access to the installed location')
+
     def test_write_pyfile(self):
+        self.requiresWriteAccess(os.path.dirname(__file__))
         with TemporaryFile() as t, zipfile.PyZipFile(t, "w") as zipfp:
             fn = __file__
             if fn.endswith('.pyc') or fn.endswith('.pyo'):
@@ -680,6 +685,7 @@ class PyZipFileTests(unittest.TestCase):
     def test_write_python_package(self):
         import email
         packagedir = os.path.dirname(email.__file__)
+        self.requiresWriteAccess(packagedir)
 
         with TemporaryFile() as t, zipfile.PyZipFile(t, "w") as zipfp:
             zipfp.writepy(packagedir)
@@ -693,6 +699,7 @@ class PyZipFileTests(unittest.TestCase):
     def test_write_filtered_python_package(self):
         import test
         packagedir = os.path.dirname(test.__file__)
+        self.requiresWriteAccess(packagedir)
 
         with TemporaryFile() as t, zipfile.PyZipFile(t, "w") as zipfp:
 
@@ -721,6 +728,7 @@ class PyZipFileTests(unittest.TestCase):
     def test_write_with_optimization(self):
         import email
         packagedir = os.path.dirname(email.__file__)
+        self.requiresWriteAccess(packagedir)
         # use .pyc if running test in optimization mode,
         # use .pyo if running test in debug mode
         optlevel = 1 if __debug__ else 0