diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index 157f315..a977828 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -586,19 +586,15 @@ def test_getsource_on_code_object(self):
         self.assertSourceEqual(mod.eggs.__code__, 12, 18)
 
 class TestGetsourceInteractive(unittest.TestCase):
-    def tearDown(self):
-        mod.ParrotDroppings.__module__ = self.mod
-        sys.modules['__main__'] = self.main
-
     def test_getclasses_interactive(self):
-        self.main = sys.modules['__main__']
-        self.mod = mod.ParrotDroppings.__module__
-        class MockModule:
-            __file__ = None
-        sys.modules['__main__'] = MockModule
-        mod.ParrotDroppings.__module__ = '__main__'
-        with self.assertRaisesRegex(OSError, 'source code not available') as e:
-            inspect.getsource(mod.ParrotDroppings)
+        # bpo-44648: simulate a REPL session;
+        # there is no `__file__` in the __main__ module
+        code = "import sys, inspect; \
+                assert not hasattr(sys.modules['__main__'], '__file__'); \
+                A = type('A', (), {}); \
+                inspect.getsource(A)"
+        _, _, stderr = assert_python_failure("-c", code, __isolated=True)
+        self.assertIn(b'OSError: source code not available', stderr)
 
 class TestGettingSourceOfToplevelFrames(GetSourceBase):
     fodderModule = mod
