]> granicus.if.org Git - python/commitdiff
bpo-30107: don't dump core on expected test_io crash (#1235)
authorVictor Stinner <victor.stinner@gmail.com>
Fri, 21 Apr 2017 15:59:23 +0000 (17:59 +0200)
committerGitHub <noreply@github.com>
Fri, 21 Apr 2017 15:59:23 +0000 (17:59 +0200)
test_io has two unit tests which trigger a deadlock:

* test_daemon_threads_shutdown_stdout_deadlock()
* test_daemon_threads_shutdown_stderr_deadlock()

These tests call Py_FatalError() if the expected bug is triggered
which calls abort(). Use test.support.SuppressCrashReport to prevent
the creation on a core dump, to fix the warning:

Warning -- files was modified by test_io
  Before: []
  After:  ['python.core']

Lib/test/test_io.py

index 46c7833b5c38edf7ff93415e75d904644cc62f7a..69487a1b50dc3b85c49c0da6cf03a1194a9b603f 100644 (file)
@@ -3732,6 +3732,7 @@ class CMiscIOTest(MiscIOTest):
             import sys
             import time
             import threading
+            from test.support import SuppressCrashReport
 
             file = sys.{stream_name}
 
@@ -3740,6 +3741,10 @@ class CMiscIOTest(MiscIOTest):
                     file.write('.')
                     file.flush()
 
+            crash = SuppressCrashReport()
+            crash.__enter__()
+            # don't call __exit__(): the crash occurs at Python shutdown
+
             thread = threading.Thread(target=run)
             thread.daemon = True
             thread.start()