summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2013-07-03 20:29:42 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2013-07-03 20:29:42 (GMT)
commit330426cfe268a3ccaaf2baa20e0d1d37b0312c40 (patch)
tree912af0e093326cd7205d2eeab99105976b3c3a26
parentf4c47b5a35f399ae48a0bc816d5c705b57e8e342 (diff)
downloadcpython-330426cfe268a3ccaaf2baa20e0d1d37b0312c40.zip
cpython-330426cfe268a3ccaaf2baa20e0d1d37b0312c40.tar.gz
cpython-330426cfe268a3ccaaf2baa20e0d1d37b0312c40.tar.bz2
test_faulthandler: skip test_read_null() on AIX
AIX maps the first page of memory at address zero as valid, read-only. Reading NULL is not a fault on AIX. This is utilized by IBM compiler optimizations. One speculatively can indirect through a pointer which may be null without first testing if null and defer the test before using the value.
-rw-r--r--Lib/test/test_faulthandler.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/Lib/test/test_faulthandler.py b/Lib/test/test_faulthandler.py
index 5afc7cc..770e70c 100644
--- a/Lib/test/test_faulthandler.py
+++ b/Lib/test/test_faulthandler.py
@@ -107,6 +107,8 @@ class FaultHandlerTests(unittest.TestCase):
self.assertRegex(output, regex)
self.assertNotEqual(exitcode, 0)
+ @unittest.skipIf(sys.platform.startswith('aix'),
+ "the first page of memory is a mapped read-only on AIX")
def test_read_null(self):
self.check_fatal_error("""
import faulthandler