changeset: 103895:5761294bb877 branch: 3.6 parent: 103893:d0bab9fda568 user: Steve Dower date: Sat Sep 17 14:35:32 2016 -0700 files: Lib/test/test_site.py description: Issue #28192: Adds tests for hook in isolated mode diff -r d0bab9fda568 -r 5761294bb877 Lib/test/test_site.py --- a/Lib/test/test_site.py Sat Sep 17 13:51:23 2016 -0700 +++ b/Lib/test/test_site.py Sat Sep 17 14:35:32 2016 -0700 @@ -471,5 +471,23 @@ 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()