]> granicus.if.org Git - python/commitdiff
bpo-35704: Prevent test_shutil fail result when AIX is 32-bit and MAXDATA < 0x2000000...
authorMichael Felt <aixtools@users.noreply.github.com>
Mon, 18 Feb 2019 11:02:44 +0000 (12:02 +0100)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 18 Feb 2019 11:02:44 +0000 (03:02 -0800)
https://bugs.python.org/issue35704

Lib/test/test_shutil.py
Misc/NEWS.d/next/Tests/2019-01-04-17-44-41.bpo-35633.wHfVop.rst [new file with mode: 0644]

index e3a0e702eee3ca41af0cb9c68c755306fcfa04cc..86f4dc97c3a142d69120f5c0aefee13501f1df3b 100644 (file)
@@ -34,6 +34,7 @@ from test.support import TESTFN, FakePath
 
 TESTFN2 = TESTFN + "2"
 MACOS = sys.platform.startswith("darwin")
+AIX = sys.platform[:3] == 'aix'
 try:
     import grp
     import pwd
@@ -141,6 +142,17 @@ def supports_file2file_sendfile():
 
 SUPPORTS_SENDFILE = supports_file2file_sendfile()
 
+# AIX 32-bit mode, by default, lacks enough memory for the xz/lzma compiler test
+# The AIX command 'dump -o program' gives XCOFF header information
+# The second word of the last line in the maxdata value
+# when 32-bit maxdata must be greater than 0x1000000 for the xz test to succeed
+def _maxdataOK():
+    if AIX and sys.maxsize == 2147483647:
+        hdrs=subprocess.getoutput("/usr/bin/dump -o %s" % sys.executable)
+        maxdata=hdrs.split("\n")[-1].split()[1]
+        return int(maxdata,16) >= 0x20000000
+    else:
+        return True
 
 class TestShutil(unittest.TestCase):
 
@@ -1351,6 +1363,7 @@ class TestShutil(unittest.TestCase):
         self.check_unpack_archive('bztar')
 
     @support.requires_lzma
+    @unittest.skipIf(AIX and not _maxdataOK(), "AIX MAXDATA must be 0x20000000 or larger")
     def test_unpack_archive_xztar(self):
         self.check_unpack_archive('xztar')
 
diff --git a/Misc/NEWS.d/next/Tests/2019-01-04-17-44-41.bpo-35633.wHfVop.rst b/Misc/NEWS.d/next/Tests/2019-01-04-17-44-41.bpo-35633.wHfVop.rst
new file mode 100644 (file)
index 0000000..8ad7bd2
--- /dev/null
@@ -0,0 +1,2 @@
+Add PermissionError to the Exception: list
+patch by Michael Felt, aixtools