blob: 2de253556ac543b153a3e8daae058ceb79057a8f [file] [log] [blame]
Guido van Rossum4114a4a2001-10-18 18:49:37 +00001# Test the frozen module defined in frozen.c.
Thomas Woutersed03b412007-08-28 21:37:11 +00002from __future__ import with_statement
Guido van Rossum4114a4a2001-10-18 18:49:37 +00003
Thomas Woutersed03b412007-08-28 21:37:11 +00004from test.test_support import captured_stdout, run_unittest
5import unittest
Guido van Rossum4114a4a2001-10-18 18:49:37 +00006import sys, os
Christian Heimesf19169f2007-11-12 19:19:07 +00007import warnings
Guido van Rossum4114a4a2001-10-18 18:49:37 +00008
Thomas Woutersed03b412007-08-28 21:37:11 +00009class FrozenTests(unittest.TestCase):
10 def test_frozen(self):
Christian Heimesf19169f2007-11-12 19:19:07 +000011 try:
12 import __hello__
13 except ImportError as x:
14 self.fail("import __hello__ failed:" + str(x))
15 self.assertEqual(__hello__.initialized, True)
16 self.assertEqual(len(dir(__hello__)), 5)
Guido van Rossum4114a4a2001-10-18 18:49:37 +000017
Christian Heimesf19169f2007-11-12 19:19:07 +000018 try:
19 import __phello__
20 except ImportError as x:
21 self.fail("import __phello__ failed:" + str(x))
22 self.assertEqual(__phello__.initialized, True)
23 if not "__phello__.spam" in sys.modules:
24 self.assertEqual(len(dir(__phello__)), 6, dir(__phello__))
25 else:
26 self.assertEqual(len(dir(__phello__)), 7, dir(__phello__))
Guido van Rossum4114a4a2001-10-18 18:49:37 +000027
Christian Heimesf19169f2007-11-12 19:19:07 +000028 try:
29 import __phello__.spam
30 except ImportError as x:
31 self.fail("import __phello__.spam failed:" + str(x))
32 self.assertEqual(__phello__.spam.initialized, True)
33 self.assertEqual(len(dir(__phello__.spam)), 5)
34 self.assertEqual(len(dir(__phello__)), 7)
Guido van Rossum4114a4a2001-10-18 18:49:37 +000035
Christian Heimesf19169f2007-11-12 19:19:07 +000036 try:
37 import __phello__.foo
38 except ImportError:
39 pass
40 else:
41 self.fail("import __phello__.foo should have failed")
Thomas Woutersed03b412007-08-28 21:37:11 +000042
43def test_main():
44 run_unittest(FrozenTests)
Guido van Rossum3b7210d2007-10-15 00:25:56 +000045
46if __name__ == "__main__":
47 test_main()