summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2007-11-12 19:19:07 (GMT)
committerChristian Heimes <christian@cheimes.de>2007-11-12 19:19:07 (GMT)
commitf19169f2d5772db906b118039f8b43232357c45f (patch)
treee9b7aef6c395cf8163ab6e80eb1945af78cd2de6
parent4fe72f9b03f92f126bec69d79ca3e9e09018c988 (diff)
downloadcpython-f19169f2d5772db906b118039f8b43232357c45f.zip
cpython-f19169f2d5772db906b118039f8b43232357c45f.tar.gz
cpython-f19169f2d5772db906b118039f8b43232357c45f.tar.bz2
Fix for refleak tests through regrtest.py -R:: bug #1414
The pre-commit hook doesn't allow a trailing newline
-rw-r--r--Lib/test/test_frozen.py60
-rw-r--r--Python/frozen.c19
-rw-r--r--Tools/freeze/flag.py1
3 files changed, 42 insertions, 38 deletions
diff --git a/Lib/test/test_frozen.py b/Lib/test/test_frozen.py
index 3c9fab3..2de2535 100644
--- a/Lib/test/test_frozen.py
+++ b/Lib/test/test_frozen.py
@@ -4,37 +4,41 @@ from __future__ import with_statement
from test.test_support import captured_stdout, run_unittest
import unittest
import sys, os
+import warnings
class FrozenTests(unittest.TestCase):
def test_frozen(self):
-
- with captured_stdout() as stdout:
- try:
- import __hello__
- except ImportError as x:
- self.fail("import __hello__ failed:" + str(x))
-
- try:
- import __phello__
- except ImportError as x:
- self.fail("import __phello__ failed:" + str(x))
-
- try:
- import __phello__.spam
- except ImportError as x:
- self.fail("import __phello__.spam failed:" + str(x))
-
- if sys.platform != "mac": # On the Mac this import does succeed.
- try:
- import __phello__.foo
- except ImportError:
- pass
- else:
- self.fail("import __phello__.foo should have failed")
-
- self.assertEquals(stdout.getvalue(),
- 'Hello world...\nHello world...\nHello world...\n')
-
+ try:
+ import __hello__
+ except ImportError as x:
+ self.fail("import __hello__ failed:" + str(x))
+ self.assertEqual(__hello__.initialized, True)
+ self.assertEqual(len(dir(__hello__)), 5)
+
+ 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__)), 6, dir(__phello__))
+ else:
+ self.assertEqual(len(dir(__phello__)), 7, dir(__phello__))
+
+ 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)), 5)
+ self.assertEqual(len(dir(__phello__)), 7)
+
+ try:
+ import __phello__.foo
+ except ImportError:
+ pass
+ else:
+ self.fail("import __phello__.foo should have failed")
def test_main():
run_unittest(FrozenTests)
diff --git a/Python/frozen.c b/Python/frozen.c
index ee06c35..1e40d7d 100644
--- a/Python/frozen.c
+++ b/Python/frozen.c
@@ -8,19 +8,18 @@
some famous words... */
/* To regenerate this data after the bytecode or marshal format has changed,
- go to ../Tools/freeze/ and freeze the hello.py file; then copy and paste
+ go to ../Tools/freeze/ and freeze the flag.py file; then copy and paste
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,2,0,0,
- 0,64,0,0,0,115,14,0,0,0,101,0,0,100,0,0,
- 131,1,0,1,100,1,0,83,40,2,0,0,0,117,14,0,
- 0,0,72,101,108,108,111,32,119,111,114,108,100,46,46,46,
- 78,40,1,0,0,0,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,
- 8,0,0,0,104,101,108,108,111,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,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,
};
#define SIZE (int)sizeof(M___hello__)
diff --git a/Tools/freeze/flag.py b/Tools/freeze/flag.py
new file mode 100644
index 0000000..ea6d633
--- /dev/null
+++ b/Tools/freeze/flag.py
@@ -0,0 +1 @@
+initialized = True