diff options
| author | Anton Samarchyan <anton.samarchyan@savoirfairelinux.com> | 2016-12-01 11:05:08 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-12-06 08:28:36 -0500 |
| commit | d0112cf9306834b17eb5476363cb6b3b9bfb650c (patch) | |
| tree | 08433c083c4e5a60b6e60dc5adb58aadc046f7a4 /tests/utils_tests | |
| parent | dd99e69fa8f89263d0396f23e0db9aa8fa667b01 (diff) | |
Fixed #26494 -- Made Archive.extract() preserve file permissions.
Diffstat (limited to 'tests/utils_tests')
| -rw-r--r-- | tests/utils_tests/archives/foobar.tar | bin | 10240 -> 5632 bytes | |||
| -rw-r--r-- | tests/utils_tests/archives/foobar.tar.bz2 | bin | 238 -> 265 bytes | |||
| -rw-r--r-- | tests/utils_tests/archives/foobar.tar.gz | bin | 249 -> 253 bytes | |||
| -rw-r--r-- | tests/utils_tests/archives/foobar.zip | bin | 1130 -> 810 bytes | |||
| -rw-r--r-- | tests/utils_tests/test_archive.py | 10 |
5 files changed, 10 insertions, 0 deletions
diff --git a/tests/utils_tests/archives/foobar.tar b/tests/utils_tests/archives/foobar.tar Binary files differindex 5418405070..44886fb33b 100644 --- a/tests/utils_tests/archives/foobar.tar +++ b/tests/utils_tests/archives/foobar.tar diff --git a/tests/utils_tests/archives/foobar.tar.bz2 b/tests/utils_tests/archives/foobar.tar.bz2 Binary files differindex 693529dcef..5a3d8a402e 100644 --- a/tests/utils_tests/archives/foobar.tar.bz2 +++ b/tests/utils_tests/archives/foobar.tar.bz2 diff --git a/tests/utils_tests/archives/foobar.tar.gz b/tests/utils_tests/archives/foobar.tar.gz Binary files differindex 5b596bd58e..8582a87139 100644 --- a/tests/utils_tests/archives/foobar.tar.gz +++ b/tests/utils_tests/archives/foobar.tar.gz diff --git a/tests/utils_tests/archives/foobar.zip b/tests/utils_tests/archives/foobar.zip Binary files differindex dc3e2fc067..b02bb3e95a 100644 --- a/tests/utils_tests/archives/foobar.zip +++ b/tests/utils_tests/archives/foobar.zip diff --git a/tests/utils_tests/test_archive.py b/tests/utils_tests/test_archive.py index d1dc5f2841..42f445ce9c 100644 --- a/tests/utils_tests/test_archive.py +++ b/tests/utils_tests/test_archive.py @@ -1,5 +1,7 @@ import os import shutil +import stat +import sys import tempfile import unittest @@ -42,6 +44,14 @@ class ArchiveTester(object): extract(self.archive_path, self.tmpdir) self.check_files(self.tmpdir) + @unittest.skipIf(sys.platform == 'win32', 'Python on Windows has a limited os.chmod().') + def test_extract_file_permissions(self): + """Archive.extract() preserves file permissions.""" + extract(self.archive_path, self.tmpdir) + filepath = os.path.join(self.tmpdir, 'executable') + # The file has executable permission. + self.assertTrue(os.stat(filepath).st_mode & stat.S_IXOTH) + def test_extract_function_with_leadpath(self): extract(self.archive_lead_path, self.tmpdir) self.check_files(self.tmpdir) |
