bpo-35704: Prevent test_shutil fail result when AIX is 32-bit and MAXDATA < 0x20000000 (GH-11500)
https://bugs.python.org/issue35704
This commit is contained in:
parent
09fbcd6085
commit
ef110b1807
|
@ -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')
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Add PermissionError to the Exception: list
|
||||
patch by Michael Felt, aixtools
|
Loading…
Reference in New Issue