diff options
author | Victor Stinner <vstinner@python.org> | 2022-03-02 17:12:26 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-02 17:12:26 (GMT) |
commit | 359bc392ba2b8f2acca223426c8210bb74f724c6 (patch) | |
tree | 048b319c545b53f52f7bc8e0e26d88ffbcbd9830 /Lib/test/test_io.py | |
parent | 3ea2a8f425d26e81d914c54d477e9d56eb27ac98 (diff) | |
download | cpython-359bc392ba2b8f2acca223426c8210bb74f724c6.zip cpython-359bc392ba2b8f2acca223426c8210bb74f724c6.tar.gz cpython-359bc392ba2b8f2acca223426c8210bb74f724c6.tar.bz2 |
[3.10] bpo-46633: Skip tests on ASAN and/or MSAN builds (GH-31632) (GH-31634) (GH-31644)
* Refactor sanitiser skip tests into test.support (GH-30889)
* Refactor sanitizer skip tests into test.support
(cherry picked from commit b1cb8430504931f7854eac5d32cba74770078a4e)
* Add skips to crashing tests under sanitizers instead of manually skipping them (GH-30897)
(cherry picked from commit a27505345e34d462139f5f8b6b5e7c9a59955150)
* bpo-46633: Skip tests on ASAN and/or MSAN builds (GH-31632)
Skip tests on ASAN and/or MSAN builds:
* multiprocessing tests
* test___all__
* test_concurrent_futures
* test_decimal
* test_peg_generator
* test_tools
(cherry picked from commit 9204bb72a2da5885facc747e63d2bd2d654606fe)
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
(cherry picked from commit 93264452d952d9ba604bacf2947c2df5dd477931)
Diffstat (limited to 'Lib/test/test_io.py')
-rw-r--r-- | Lib/test/test_io.py | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py index 49463e5..feee861 100644 --- a/Lib/test/test_io.py +++ b/Lib/test/test_io.py @@ -28,7 +28,6 @@ import pickle import random import signal import sys -import sysconfig import textwrap import threading import time @@ -40,7 +39,7 @@ from itertools import cycle, count from test import support from test.support.script_helper import ( assert_python_ok, assert_python_failure, run_python_until_end) -from test.support import FakePath +from test.support import FakePath, skip_if_sanitizer import codecs import io # C implementation of io @@ -62,17 +61,6 @@ else: class EmptyStruct(ctypes.Structure): pass -_cflags = sysconfig.get_config_var('CFLAGS') or '' -_config_args = sysconfig.get_config_var('CONFIG_ARGS') or '' -MEMORY_SANITIZER = ( - '-fsanitize=memory' in _cflags or - '--with-memory-sanitizer' in _config_args -) - -ADDRESS_SANITIZER = ( - '-fsanitize=address' in _cflags -) - # Does io.IOBase finalizer log the exception if the close() method fails? # The exception is ignored silently by default in release build. IOBASE_EMITS_UNRAISABLE = (hasattr(sys, "gettotalrefcount") or sys.flags.dev_mode) @@ -1543,8 +1531,8 @@ class BufferedReaderTest(unittest.TestCase, CommonBufferedTests): class CBufferedReaderTest(BufferedReaderTest, SizeofTest): tp = io.BufferedReader - @unittest.skipIf(MEMORY_SANITIZER or ADDRESS_SANITIZER, "sanitizer defaults to crashing " - "instead of returning NULL for malloc failure.") + @skip_if_sanitizer(memory=True, address=True, reason= "sanitizer defaults to crashing " + "instead of returning NULL for malloc failure.") def test_constructor(self): BufferedReaderTest.test_constructor(self) # The allocation can succeed on 32-bit builds, e.g. with more @@ -1892,8 +1880,8 @@ class BufferedWriterTest(unittest.TestCase, CommonBufferedTests): class CBufferedWriterTest(BufferedWriterTest, SizeofTest): tp = io.BufferedWriter - @unittest.skipIf(MEMORY_SANITIZER or ADDRESS_SANITIZER, "sanitizer defaults to crashing " - "instead of returning NULL for malloc failure.") + @skip_if_sanitizer(memory=True, address=True, reason= "sanitizer defaults to crashing " + "instead of returning NULL for malloc failure.") def test_constructor(self): BufferedWriterTest.test_constructor(self) # The allocation can succeed on 32-bit builds, e.g. with more @@ -2391,8 +2379,8 @@ class BufferedRandomTest(BufferedReaderTest, BufferedWriterTest): class CBufferedRandomTest(BufferedRandomTest, SizeofTest): tp = io.BufferedRandom - @unittest.skipIf(MEMORY_SANITIZER or ADDRESS_SANITIZER, "sanitizer defaults to crashing " - "instead of returning NULL for malloc failure.") + @skip_if_sanitizer(memory=True, address=True, reason= "sanitizer defaults to crashing " + "instead of returning NULL for malloc failure.") def test_constructor(self): BufferedRandomTest.test_constructor(self) # The allocation can succeed on 32-bit builds, e.g. with more |