Commit c77b9311 authored by Victor Stinner's avatar Victor Stinner

Issue #11614: import __hello__ prints "Hello World!". Patch written by Andreas

Stührk.
parent d0e11ec5
...@@ -6,31 +6,37 @@ import sys, os ...@@ -6,31 +6,37 @@ import sys, os
class FrozenTests(unittest.TestCase): class FrozenTests(unittest.TestCase):
def test_frozen(self): def test_frozen(self):
try: with captured_stdout() as stdout:
import __hello__ try:
except ImportError as x: import __hello__
self.fail("import __hello__ failed:" + str(x)) except ImportError as x:
self.assertEqual(__hello__.initialized, True) self.fail("import __hello__ failed:" + str(x))
self.assertEqual(len(dir(__hello__)), 6, dir(__hello__)) self.assertEqual(__hello__.initialized, True)
self.assertEqual(len(dir(__hello__)), 6, dir(__hello__))
self.assertEqual(stdout.getvalue(), 'Hello world!\n')
try: with captured_stdout() as stdout:
import __phello__ try:
except ImportError as x: import __phello__
self.fail("import __phello__ failed:" + str(x)) except ImportError as x:
self.assertEqual(__phello__.initialized, True) self.fail("import __phello__ failed:" + str(x))
if not "__phello__.spam" in sys.modules: self.assertEqual(__phello__.initialized, True)
self.assertEqual(len(dir(__phello__)), 7, dir(__phello__)) if not "__phello__.spam" in sys.modules:
else: self.assertEqual(len(dir(__phello__)), 7, dir(__phello__))
self.assertEqual(len(dir(__phello__)), 8, dir(__phello__)) else:
self.assertEqual(__phello__.__path__, [__phello__.__name__]) self.assertEqual(len(dir(__phello__)), 8, dir(__phello__))
self.assertEqual(__phello__.__path__, [__phello__.__name__])
self.assertEqual(stdout.getvalue(), 'Hello world!\n')
try: with captured_stdout() as stdout:
import __phello__.spam try:
except ImportError as x: import __phello__.spam
self.fail("import __phello__.spam failed:" + str(x)) except ImportError as x:
self.assertEqual(__phello__.spam.initialized, True) self.fail("import __phello__.spam failed:" + str(x))
self.assertEqual(len(dir(__phello__.spam)), 6) self.assertEqual(__phello__.spam.initialized, True)
self.assertEqual(len(dir(__phello__)), 8) self.assertEqual(len(dir(__phello__.spam)), 6)
self.assertEqual(len(dir(__phello__)), 8)
self.assertEqual(stdout.getvalue(), 'Hello world!\n')
try: try:
import __phello__.foo import __phello__.foo
......
...@@ -390,6 +390,9 @@ Build ...@@ -390,6 +390,9 @@ Build
Tests 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 #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. - Issue #11910: Fix test_heapq to skip the C tests when _heapq is missing.
......
...@@ -12,14 +12,17 @@ ...@@ -12,14 +12,17 @@
the appropriate bytes from M___main__.c. */ the appropriate bytes from M___main__.c. */
static unsigned char M___hello__[] = { static unsigned char M___hello__[] = {
99,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, 99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,
0,64,0,0,0,115,10,0,0,0,100,1,0,90,1,0, 0,64,0,0,0,115,20,0,0,0,100,2,0,90,1,0,
100,0,0,83,40,2,0,0,0,78,84,40,2,0,0,0, 101,2,0,100,0,0,131,1,0,1,100,1,0,83,40,3,
117,4,0,0,0,84,114,117,101,117,11,0,0,0,105,110, 0,0,0,117,12,0,0,0,72,101,108,108,111,32,119,111,
105,116,105,97,108,105,122,101,100,40,0,0,0,0,40,0, 114,108,100,33,78,84,40,3,0,0,0,117,4,0,0,0,
0,0,0,40,0,0,0,0,117,7,0,0,0,102,108,97, 84,114,117,101,117,11,0,0,0,105,110,105,116,105,97,108,
103,46,112,121,117,8,0,0,0,60,109,111,100,117,108,101, 105,122,101,100,117,5,0,0,0,112,114,105,110,116,40,0,
62,1,0,0,0,115,0,0,0,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__) #define SIZE (int)sizeof(M___hello__)
......
initialized = True initialized = True
print("Hello world!")
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment