@@ -569,12 +569,23 @@ def check_fatal_error(self, code, expected, not_expected=()):
569569 self .assertEqual (len (modules ), total )
570570
571571 def test_fatal_error (self ):
572+ # By default, stdlib extension modules are ignored,
573+ # but not test modules.
572574 expected = ('_testcapi' ,)
573- not_expected = ('sys' , 'builtins' , '_imp' , '_thread' , '_weakref' ,
574- '_io' , 'marshal' , '_signal' , '_abc' )
575- code = 'import _testcapi; _testcapi.fatal_error(b"MESSAGE")'
575+ not_expected = ('sys' ,)
576+ code = 'import _testcapi, sys; _testcapi.fatal_error(b"MESSAGE")'
576577 self .check_fatal_error (code , expected , not_expected )
577578
579+ # Mark _testcapi as stdlib module, but not sys
580+ expected = ('sys' ,)
581+ not_expected = ('_testcapi' ,)
582+ code = textwrap .dedent ('''
583+ import _testcapi, sys
584+ sys.module_names = frozenset({"_testcapi"})
585+ _testcapi.fatal_error(b"MESSAGE")
586+ ''' )
587+ self .check_fatal_error (code , expected )
588+
578589
579590class TestPendingCalls (unittest .TestCase ):
580591
0 commit comments