summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2011-05-16 14:35:35 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2011-05-16 14:35:35 (GMT)
commit118ed71afe41f49fe0eceaa0a1d375338598aa68 (patch)
tree13e843e7d6576a9c2f63c9b7f4163d92d02cc772
parent3b1f2c35f47b4ad87ddc998d91f2a041dd27bdb2 (diff)
parent9cd6626f3ded4c4fd0bd1e47a8c7f87051876909 (diff)
downloadcpython-118ed71afe41f49fe0eceaa0a1d375338598aa68.zip
cpython-118ed71afe41f49fe0eceaa0a1d375338598aa68.tar.gz
cpython-118ed71afe41f49fe0eceaa0a1d375338598aa68.tar.bz2
(Merge 3.2) Issue #11614: import __hello__ prints "Hello World!". Patch written
by Andreas Stührk.
-rw-r--r--Lib/test/test_frozen.py54
-rw-r--r--Misc/NEWS3
-rw-r--r--Python/frozen.c19
-rw-r--r--Tools/freeze/flag.py1
4 files changed, 45 insertions, 32 deletions
diff --git a/Lib/test/test_frozen.py b/Lib/test/test_frozen.py
index 07131af..5243ebb 100644
--- a/Lib/test/test_frozen.py
+++ b/Lib/test/test_frozen.py
@@ -6,31 +6,37 @@ import sys
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__))
-
- 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 __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')
+
+ 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
index 3e8f474..c774b48 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -676,6 +676,9 @@ Extension Modules
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
index 57d8257..ddf6224 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 ea6d633..1cefa0a 100644
--- a/Tools/freeze/flag.py
+++ b/Tools/freeze/flag.py
@@ -1 +1,2 @@
initialized = True
+print("Hello world!")