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

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


http://hg.python.org/cpython/rev/79c49d2fc768
changeset:   70154:79c49d2fc768
parent:      70151:b6aafb20e5f5
parent:      70153:2c5736e8a221
user:        Victor Stinner <victor.stinner at haypocalc.com>
date:        Mon May 16 16:35:35 2011 +0200
summary:
  (Merge 3.2) Issue #11614: import __hello__ prints "Hello World!". Patch written
by Andreas Stührk.

files:
  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
--- 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
@@ -676,6 +676,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 #12041: Make test_wait3 more robust.
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