[Python-checkins] bpo-33613: Fix test_semaphore_tracker signal tests when using -Werror (GH-9778)

Pablo Galindo webhook-mailer at python.org
Wed Oct 10 03:40:23 EDT 2018

commit: 3058b7d85697f95573fa042d6b9e4d6e2a9e739c
branch: master
author: Pablo Galindo <Pablogsal at gmail.com>
committer: GitHub <noreply at github.com>
date: 2018-10-10T08:40:14+01:00

bpo-33613: Fix test_semaphore_tracker signal tests when using -Werror (GH-9778)

Tests involving sending signals to the semaphore_tracker will not fail anymore due to
the fact that running the test suite with -Werror propagates warnings as errors.

Fix a missing assertion when the semaphore_tracker is expected to die.

M Lib/test/_test_multiprocessing.py

diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
index 71f40a0c5a48..814aae8fa375 100644
--- a/Lib/test/_test_multiprocessing.py
+++ b/Lib/test/_test_multiprocessing.py
@@ -4548,7 +4548,8 @@ def check_semaphore_tracker_death(self, signum, should_die):
         if pid is not None:
             os.kill(pid, signal.SIGKILL)
             os.waitpid(pid, 0)
-        with warnings.catch_warnings(record=True) as all_warn:
+        with warnings.catch_warnings():
+            warnings.simplefilter("ignore")
         pid = _semaphore_tracker._pid
@@ -4557,6 +4558,7 @@ def check_semaphore_tracker_death(self, signum, should_die):
         ctx = multiprocessing.get_context("spawn")
         with warnings.catch_warnings(record=True) as all_warn:
+            warnings.simplefilter("always")
             sem = ctx.Semaphore()
@@ -4569,7 +4571,7 @@ def check_semaphore_tracker_death(self, signum, should_die):
             if should_die:
                 self.assertEqual(len(all_warn), 1)
                 the_warn = all_warn[0]
-                issubclass(the_warn.category, UserWarning)
+                self.assertTrue(issubclass(the_warn.category, UserWarning))
                 self.assertTrue("semaphore_tracker: process died"
                                 in str(the_warn.message))

More information about the Python-checkins mailing list