From c77b9311969f7479870552a57c334029fb5a6eec Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 16 May 2011 16:29:35 +0200 Subject: [PATCH] =?UTF-8?q?Issue=20#11614:=20import=20=5F=5Fhello=5F=5F=20?= =?UTF-8?q?prints=20"Hello=20World!".=20Patch=20written=20by=20Andreas=20S?= =?UTF-8?q?t=C3=BChrk.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lib/test/test_frozen.py | 52 +++++++++++++++++++++++------------------ Misc/NEWS | 3 +++ Python/frozen.c | 19 ++++++++------- Tools/freeze/flag.py | 1 + 4 files changed, 44 insertions(+), 31 deletions(-) diff --git a/Lib/test/test_frozen.py b/Lib/test/test_frozen.py index d0721450a11..a9713f5cd4d 100644 --- a/Lib/test/test_frozen.py +++ b/Lib/test/test_frozen.py @@ -6,31 +6,37 @@ class FrozenTests(unittest.TestCase): def test_frozen(self): - try: - import __hello__ - except ImportError as x: - self.fail("import __hello__ failed:" + str(x)) - self.assertEqual(__hello__.initialized, True) - self.assertEqual(len(dir(__hello__)), 6, dir(__hello__)) + with captured_stdout() as stdout: + try: + import __hello__ + except ImportError as x: + self.fail("import __hello__ failed:" + str(x)) + self.assertEqual(__hello__.initialized, True) + self.assertEqual(len(dir(__hello__)), 6, dir(__hello__)) + self.assertEqual(stdout.getvalue(), 'Hello world!\n') - try: - import __phello__ - except ImportError as x: - self.fail("import __phello__ failed:" + str(x)) - self.assertEqual(__phello__.initialized, True) - if not "__phello__.spam" in sys.modules: - self.assertEqual(len(dir(__phello__)), 7, dir(__phello__)) - else: - self.assertEqual(len(dir(__phello__)), 8, dir(__phello__)) - self.assertEqual(__phello__.__path__, [__phello__.__name__]) + with captured_stdout() as stdout: + try: + import __phello__ + except ImportError as x: + self.fail("import __phello__ failed:" + str(x)) + self.assertEqual(__phello__.initialized, True) + if not "__phello__.spam" in sys.modules: + self.assertEqual(len(dir(__phello__)), 7, dir(__phello__)) + else: + self.assertEqual(len(dir(__phello__)), 8, dir(__phello__)) + self.assertEqual(__phello__.__path__, [__phello__.__name__]) + self.assertEqual(stdout.getvalue(), 'Hello world!\n') - try: - import __phello__.spam - except ImportError as x: - self.fail("import __phello__.spam failed:" + str(x)) - self.assertEqual(__phello__.spam.initialized, True) - self.assertEqual(len(dir(__phello__.spam)), 6) - self.assertEqual(len(dir(__phello__)), 8) + with captured_stdout() as stdout: + try: + import __phello__.spam + except ImportError as x: + self.fail("import __phello__.spam failed:" + str(x)) + self.assertEqual(__phello__.spam.initialized, True) + self.assertEqual(len(dir(__phello__.spam)), 6) + self.assertEqual(len(dir(__phello__)), 8) + self.assertEqual(stdout.getvalue(), 'Hello world!\n') try: import __phello__.foo diff --git a/Misc/NEWS b/Misc/NEWS index 521a2a0c463..f6eb63ed388 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -390,6 +390,9 @@ Build Tests ----- +- Issue #11614: import __hello__ prints "Hello World!". Patch written by + Andreas Stührk. + - Issue #5723: Improve json tests to be executed with and without accelerations. - Issue #11910: Fix test_heapq to skip the C tests when _heapq is missing. diff --git a/Python/frozen.c b/Python/frozen.c index 57d8257ed51..ddf6224e6d7 100644 --- a/Python/frozen.c +++ b/Python/frozen.c @@ -12,14 +12,17 @@ the appropriate bytes from M___main__.c. */ static unsigned char M___hello__[] = { - 99,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, - 0,64,0,0,0,115,10,0,0,0,100,1,0,90,1,0, - 100,0,0,83,40,2,0,0,0,78,84,40,2,0,0,0, - 117,4,0,0,0,84,114,117,101,117,11,0,0,0,105,110, - 105,116,105,97,108,105,122,101,100,40,0,0,0,0,40,0, - 0,0,0,40,0,0,0,0,117,7,0,0,0,102,108,97, - 103,46,112,121,117,8,0,0,0,60,109,111,100,117,108,101, - 62,1,0,0,0,115,0,0,0,0, + 99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, + 0,64,0,0,0,115,20,0,0,0,100,2,0,90,1,0, + 101,2,0,100,0,0,131,1,0,1,100,1,0,83,40,3, + 0,0,0,117,12,0,0,0,72,101,108,108,111,32,119,111, + 114,108,100,33,78,84,40,3,0,0,0,117,4,0,0,0, + 84,114,117,101,117,11,0,0,0,105,110,105,116,105,97,108, + 105,122,101,100,117,5,0,0,0,112,114,105,110,116,40,0, + 0,0,0,40,0,0,0,0,40,0,0,0,0,117,7,0, + 0,0,102,108,97,103,46,112,121,117,8,0,0,0,60,109, + 111,100,117,108,101,62,1,0,0,0,115,2,0,0,0,6, + 1, }; #define SIZE (int)sizeof(M___hello__) diff --git a/Tools/freeze/flag.py b/Tools/freeze/flag.py index ea6d633bcd4..1cefa0a2fd8 100644 --- a/Tools/freeze/flag.py +++ b/Tools/freeze/flag.py @@ -1 +1,2 @@ initialized = True +print("Hello world!")