]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Port test_frozen to unittest.
authorGeorg Brandl <georg@python.org>
Fri, 24 Aug 2007 18:22:54 +0000 (18:22 +0000)
committerGeorg Brandl <georg@python.org>
Fri, 24 Aug 2007 18:22:54 +0000 (18:22 +0000)
Lib/test/output/test_frozen [deleted file]
Lib/test/test_frozen.py
Lib/test/test_support.py

diff --git a/Lib/test/output/test_frozen b/Lib/test/output/test_frozen
deleted file mode 100644 (file)
index 76f17db..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-test_frozen
-Hello world...
-Hello world...
-Hello world...
index 8b121d38d8fba4d76b5ca8c17aa142791424932d..621720ca788fe707fe787d86e23cc03ab0caf8bf 100644 (file)
@@ -1,27 +1,40 @@
 # Test the frozen module defined in frozen.c.
+from __future__ import with_statement
 
-from test.test_support import TestFailed
+from test.test_support import captured_stdout, run_unittest
+import unittest
 import sys, os
 
-try:
-    import __hello__
-except ImportError, x:
-    raise TestFailed, "import __hello__ failed:" + str(x)
-
-try:
-    import __phello__
-except ImportError, x:
-    raise TestFailed, "import __phello__ failed:" + str(x)
-
-try:
-    import __phello__.spam
-except ImportError, x:
-    raise TestFailed, "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:
-        raise TestFailed, "import __phello__.foo should have failed"
+class FrozenTests(unittest.TestCase):
+    def test_frozen(self):
+
+        with captured_stdout() as stdout:
+            try:
+                import __hello__
+            except ImportError, x:
+                self.fail("import __hello__ failed:" + str(x))
+
+            try:
+                import __phello__
+            except ImportError, x:
+                self.fail("import __phello__ failed:" + str(x))
+
+            try:
+                import __phello__.spam
+            except ImportError, 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')
+
+
+def test_main():
+    run_unittest(FrozenTests)
index 0f960845f6602ac63b91335048a11ae203f247dd..cba0a4978f5fb559eef6c5e49a6e50594309c5a4 100644 (file)
@@ -374,6 +374,22 @@ def transient_internet():
     return contextlib.nested(time_out, socket_peer_reset, ioerror_peer_reset)
 
 
+@contextlib.contextmanager
+def captured_stdout():
+    """Run the with statement body using a StringIO object as sys.stdout.
+    Example use::
+
+       with captured_stdout() as s:
+           print "hello"
+       assert s.getvalue() == "hello"
+    """
+    import StringIO
+    orig_stdout = sys.stdout
+    sys.stdout = StringIO.StringIO()
+    yield sys.stdout
+    sys.stdout = orig_stdout
+
+
 #=======================================================================
 # Decorator for running a function in a different locale, correctly resetting
 # it afterwards.