[Python-3000-checkins] r58953 - in python/branches/py3k: Lib/test/test_frozen.py Python/frozen.c Tools/freeze/flag.py

christian.heimes python-3000-checkins at python.org
Mon Nov 12 20:19:07 CET 2007


Author: christian.heimes
Date: Mon Nov 12 20:19:07 2007
New Revision: 58953

Added:
   python/branches/py3k/Tools/freeze/flag.py   (contents, props changed)
Modified:
   python/branches/py3k/Lib/test/test_frozen.py
   python/branches/py3k/Python/frozen.c
Log:
Fix for refleak tests through regrtest.py -R:: bug #1414
The pre-commit hook doesn't allow a trailing newline

Modified: python/branches/py3k/Lib/test/test_frozen.py
==============================================================================
--- python/branches/py3k/Lib/test/test_frozen.py	(original)
+++ python/branches/py3k/Lib/test/test_frozen.py	Mon Nov 12 20:19:07 2007
@@ -4,37 +4,41 @@
 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)

Modified: python/branches/py3k/Python/frozen.c
==============================================================================
--- python/branches/py3k/Python/frozen.c	(original)
+++ python/branches/py3k/Python/frozen.c	Mon Nov 12 20:19:07 2007
@@ -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__)

Added: python/branches/py3k/Tools/freeze/flag.py
==============================================================================
--- (empty file)
+++ python/branches/py3k/Tools/freeze/flag.py	Mon Nov 12 20:19:07 2007
@@ -0,0 +1 @@
+initialized = True


More information about the Python-3000-checkins mailing list