# Test the frozen module defined in frozen.c.



from test.test_support import captured_stdout, run_unittest

import unittest

import sys, os



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')



        del sys.modules['__hello__']

        del sys.modules['__phello__']

        del sys.modules['__phello__.spam']





def test_main():

    run_unittest(FrozenTests)







if __name__ == '__main__':

    test_main()

