From ef110b18074300e2302a68a2a476ae35bead7916 Mon Sep 17 00:00:00 2001 From: Michael Felt Date: Mon, 18 Feb 2019 12:02:44 +0100 Subject: bpo-35704: Prevent test_shutil fail result when AIX is 32-bit and MAXDATA < 0x20000000 (GH-11500) https://bugs.python.org/issue35704 --- Lib/test/test_shutil.py | 13 +++++++++++++ .../next/Tests/2019-01-04-17-44-41.bpo-35633.wHfVop.rst | 2 ++ 2 files changed, 15 insertions(+) create mode 100644 Misc/NEWS.d/next/Tests/2019-01-04-17-44-41.bpo-35633.wHfVop.rst diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py index e3a0e70..86f4dc9 100644 --- a/Lib/test/test_shutil.py +++ b/Lib/test/test_shutil.py @@ -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 index 0000000..8ad7bd2 --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2019-01-04-17-44-41.bpo-35633.wHfVop.rst @@ -0,0 +1,2 @@ +Add PermissionError to the Exception: list +patch by Michael Felt, aixtools -- cgit v0.12