8000 Isolates test_multiprocessing · python/cpython@6caffde · GitHub
[go: up one dir, main page]

Skip to content

Commit 6caffde

Browse files
committed
Isolates test_multiprocessing
1 parent 4fd1381 commit 6caffde

File tree

1 file changed

+12
-20
lines changed

1 file changed

+12
-20
lines changed

Lib/test/test_logging.py

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4432,35 +4432,29 @@ def test_dict_arg(self):
44324432
def _extract_logrecord_process_name(key, logMultiprocessing, conn=None):
44334433
prev_logMultiprocessing = logging.logMultiprocessing
44344434
logging.logMultiprocessing = logMultiprocessing
4435-
old_mp = None
44364435
try:
44374436
import multiprocessing as mp
44384437
name = mp.current_process().name
44394438

44404439
r1 = logging.makeLogRecord({'msg': f'msg1_{key}'})
44414440

4442-
old_mp = sys.modules['multiprocessing']
4443-
del sys.modules['multiprocessing']
4444-
assert old_mp
4445-
4446-
r2 = logging.makeLogRecord({'msg': f'msg2_{key}'})
4441+
with support.swap_item(sys.modules, 'multiprocessing', None):
4442+
# We need to restore the previous `multiprocessing` module:
4443+
# https://bugs.python.org/issue45128
4444+
r2 = logging.makeLogRecord({'msg': f'msg2_{key}'})
44474445

44484446
results = {'processName' : name,
44494447
'r1.processName': r1.processName,
44504448
'r2.processName': r2.processName,
44514449
}
44524450
finally:
44534451
logging.logMultiprocessing = prev_logMultiprocessing
4454-
if old_mp is not None:
4455-
# We need to restore the previous `multiprocessing` module:
4456-
# https://bugs.python.org/issue45128
4457-
sys.modules['multiprocessing'] = old_mp
44584452
if conn:
44594453
conn.send(results)
44604454
else:
44614455
return results
44624456

4463-
def test_multiprocessing(self):
4457+
def test_multiprocessing(self, first_pass=True):
44644458
multiprocessing_imported = 'multiprocessing' in sys.modules
44654459
try:
44664460
# logMultiprocessing is True by default
@@ -4496,17 +4490,15 @@ def test_multiprocessing(self):
44964490
if multiprocessing_imported:
44974491
import multiprocessing
44984492

4499-
def test_multiprocessing_again(self):
4500-
# https://bugs.python.org/issue45128
4501-
import sys
4502-
import multiprocessing.queues
4493+
if first_pass: # https://bugs.python.org/issue45128
4494+
import multiprocessing.queues
45034495

4504-
self.test_multiprocessing()
4496+
self.test_multiprocessing(first_pass=False)
45054497

4506-
import multiprocessing
4507-
import multiprocessing.connection
4508-
from multiprocessing.connection import wait
4509-
multiprocessing.connection # It was AttributeError here
4498+
import multiprocessing
4499+
import multiprocessing.connection
4500+
from multiprocessing.connection import wait
4501+
multiprocessing.connection # It was AttributeError here
45104502

45114503
def test_optional(self):
45124504
r = logging.makeLogRecord({})

0 commit comments

Comments
 (0)
0