Guido van Rossum | 4114a4a | 2001-10-18 18:49:37 +0000 | [diff] [blame] | 1 | # Test the frozen module defined in frozen.c. |
| 2 | |
Georg Brandl | 692bbc4 | 2007-08-24 18:22:54 +0000 | [diff] [blame] | 3 | from test.test_support import captured_stdout, run_unittest |
| 4 | import unittest |
Georg Brandl | a4f46e1 | 2010-02-07 17:03:15 +0000 | [diff] [blame] | 5 | import sys |
Guido van Rossum | 4114a4a | 2001-10-18 18:49:37 +0000 | [diff] [blame] | 6 | |
Georg Brandl | 692bbc4 | 2007-08-24 18:22:54 +0000 | [diff] [blame] | 7 | class FrozenTests(unittest.TestCase): |
| 8 | def test_frozen(self): |
Guido van Rossum | 4114a4a | 2001-10-18 18:49:37 +0000 | [diff] [blame] | 9 | |
Georg Brandl | 692bbc4 | 2007-08-24 18:22:54 +0000 | [diff] [blame] | 10 | with captured_stdout() as stdout: |
| 11 | try: |
| 12 | import __hello__ |
| 13 | except ImportError, x: |
| 14 | self.fail("import __hello__ failed:" + str(x)) |
Guido van Rossum | 4114a4a | 2001-10-18 18:49:37 +0000 | [diff] [blame] | 15 | |
Georg Brandl | 692bbc4 | 2007-08-24 18:22:54 +0000 | [diff] [blame] | 16 | try: |
| 17 | import __phello__ |
| 18 | except ImportError, x: |
| 19 | self.fail("import __phello__ failed:" + str(x)) |
Guido van Rossum | 4114a4a | 2001-10-18 18:49:37 +0000 | [diff] [blame] | 20 | |
Georg Brandl | 692bbc4 | 2007-08-24 18:22:54 +0000 | [diff] [blame] | 21 | try: |
| 22 | import __phello__.spam |
| 23 | except ImportError, x: |
| 24 | self.fail("import __phello__.spam failed:" + str(x)) |
| 25 | |
Ronald Oussoren | 9545a23 | 2010-05-05 19:09:31 +0000 | [diff] [blame] | 26 | try: |
| 27 | import __phello__.foo |
| 28 | except ImportError: |
| 29 | pass |
| 30 | else: |
| 31 | self.fail("import __phello__.foo should have failed") |
Georg Brandl | 692bbc4 | 2007-08-24 18:22:54 +0000 | [diff] [blame] | 32 | |
Ezio Melotti | 2623a37 | 2010-11-21 13:34:58 +0000 | [diff] [blame] | 33 | self.assertEqual(stdout.getvalue(), |
| 34 | 'Hello world...\nHello world...\nHello world...\n') |
Georg Brandl | 692bbc4 | 2007-08-24 18:22:54 +0000 | [diff] [blame] | 35 | |
Amaury Forgeot d'Arc | 607bff1 | 2008-04-18 23:31:33 +0000 | [diff] [blame] | 36 | del sys.modules['__hello__'] |
| 37 | del sys.modules['__phello__'] |
| 38 | del sys.modules['__phello__.spam'] |
| 39 | |
Georg Brandl | 692bbc4 | 2007-08-24 18:22:54 +0000 | [diff] [blame] | 40 | |
| 41 | def test_main(): |
| 42 | run_unittest(FrozenTests) |
Brett Cannon | 8820f2a | 2008-04-01 12:46:02 +0000 | [diff] [blame] | 43 | |
| 44 | |
| 45 | |
| 46 | if __name__ == '__main__': |
| 47 | test_main() |