@@ -585,6 +585,20 @@ def monkey(filename, module_globals=None):
585585 def test_getsource_on_code_object (self ):
586586 self .assertSourceEqual (mod .eggs .__code__ , 12 , 18 )
587587
588+ class TestGetsourceInteractive (unittest .TestCase ):
589+ def tearDown (self ):
590+ mod .ParrotDroppings .__module__ = mod
591+ sys .modules ['__main__' ] = self .main
592+
593+ def test_getclasses_interactive (self ):
594+ self .main = sys .modules ['__main__' ]
595+ class MockModule :
596+ __file__ = None
597+ sys .modules ['__main__' ] = MockModule
598+ mod .ParrotDroppings .__module__ = '__main__'
599+ with self .assertRaisesRegex (OSError , 'source code not available' ) as e :
600+ inspect .getsource (mod .ParrotDroppings )
601+
588602class TestGettingSourceOfToplevelFrames (GetSourceBase ):
589603 fodderModule = mod
590604
@@ -4342,7 +4356,8 @@ def test_main():
43424356 TestBoundArguments , TestSignaturePrivateHelpers ,
43434357 TestSignatureDefinitions , TestIsDataDescriptor ,
43444358 TestGetClosureVars , TestUnwrap , TestMain , TestReload ,
4345- TestGetCoroutineState , TestGettingSourceOfToplevelFrames
4359+ TestGetCoroutineState , TestGettingSourceOfToplevelFrames ,
4360+ TestGetsourceInteractive ,
43464361 )
43474362
43484363if __name__ == "__main__" :
0 commit comments