From 6dd8eca4a95f60b8ed8517ad2f8f48405907f56c Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Sat, 17 Sep 2016 14:35:32 -0700 Subject: [PATCH] Issue #28192: Adds tests for hook in isolated mode --- Lib/test/test_site.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py index b048648226..d2fbb7ba2e 100644 --- a/Lib/test/test_site.py +++ b/Lib/test/test_site.py @@ -471,5 +471,23 @@ class StartupImportTests(unittest.TestCase): if sys.platform != 'darwin': self.assertFalse(modules.intersection(collection_mods), stderr) + def test_startup_interactivehook(self): + r = subprocess.Popen([sys.executable, '-c', + 'import sys; sys.exit(hasattr(sys, "__interactivehook__"))']).wait() + self.assertTrue(r, "'__interactivehook__' not added by site") + + def test_startup_interactivehook_isolated(self): + # issue28192 readline is not automatically enabled in isolated mode + r = subprocess.Popen([sys.executable, '-I', '-c', + 'import sys; sys.exit(hasattr(sys, "__interactivehook__"))']).wait() + self.assertFalse(r, "'__interactivehook__' added in isolated mode") + + def test_startup_interactivehook_isolated_explicit(self): + # issue28192 readline can be explicitly enabled in isolated mode + r = subprocess.Popen([sys.executable, '-I', '-c', + 'import site, sys; site.enablerlcompleter(); sys.exit(hasattr(sys, "__interactivehook__"))']).wait() + self.assertTrue(r, "'__interactivehook__' not added by enablerlcompleter()") + + if __name__ == "__main__": unittest.main() -- 2.40.0