[Python-checkins] cpython (merge 3.1 -> 3.2): (Merge 3.1) Issue #11614: import __hello__ prints "Hello World!". Patch written

victor.stinner python-checkins at python.org
Mon May 16 16:35:46 CEST 2011


http://hg.python.org/cpython/rev/2c5736e8a221
changeset:   70153:2c5736e8a221
branch:      3.2
parent:      70149:5a210973c310
parent:      70152:44fd95cead7b
user:        Victor Stinner <victor.stinner at haypocalc.com>
date:        Mon May 16 16:32:33 2011 +0200
summary:
  (Merge 3.1) Issue #11614: import __hello__ prints "Hello World!". Patch written
by Andreas Stührk.

files:
  Lib/test/test_frozen.py |  52 ++++++++++++++++------------
  Misc/NEWS               |   5 ++-
  Python/frozen.c         |  19 ++++++----
  Tools/freeze/flag.py    |   1 +
  4 files changed, 45 insertions(+), 32 deletions(-)


diff --git a/Lib/test/test_frozen.py b/Lib/test/test_frozen.py
--- 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__)), 7, 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__)), 7, 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__)), 8, dir(__phello__))
-        else:
-            self.assertEqual(len(dir(__phello__)), 9, 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__)), 8, dir(__phello__))
+            else:
+                self.assertEqual(len(dir(__phello__)), 9, 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)), 7)
-        self.assertEqual(len(dir(__phello__)), 9)
+        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)), 7)
+            self.assertEqual(len(dir(__phello__)), 9)
+            self.assertEqual(stdout.getvalue(), 'Hello world!\n')
 
         try:
             import __phello__.foo
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -23,7 +23,7 @@
 Library
 -------
 
-- Issue #9516: Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET 
+- Issue #9516: Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET
   is set in shell.
 
 - Issue #12012: ssl.PROTOCOL_SSLv2 becomes optional.
@@ -72,6 +72,9 @@
 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
--- 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
--- a/Tools/freeze/flag.py
+++ b/Tools/freeze/flag.py
@@ -1,1 +1,2 @@
 initialized = True
+print("Hello world!")

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list