]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fix for refleak tests through regrtest.py -R:: bug #1414
authorChristian Heimes <christian@cheimes.de>
Mon, 12 Nov 2007 19:19:07 +0000 (19:19 +0000)
committerChristian Heimes <christian@cheimes.de>
Mon, 12 Nov 2007 19:19:07 +0000 (19:19 +0000)
The pre-commit hook doesn't allow a trailing newline

Lib/test/test_frozen.py
Python/frozen.c
Tools/freeze/flag.py [new file with mode: 0644]

index 3c9fab3727626299d5b561e5340c466270f4c20d..2de253556ac543b153a3e8daae058ceb79057a8f 100644 (file)
@@ -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)
index ee06c356a7fb660218c7b33be1b9f8defcde2b57..1e40d7df3c33313be2b9d5fad592ec316316166d 100644 (file)
@@ -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 (file)
index 0000000..ea6d633
--- /dev/null
@@ -0,0 +1 @@
+initialized = True