diff -r ffa851df0825 -r 2fb8b9db1c86 symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_macostools.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_macostools.py Fri Jul 31 15:01:17 2009 +0100 @@ -0,0 +1,101 @@ +# Copyright (C) 2003 Python Software Foundation + +import unittest +import macostools +import Carbon.File +import MacOS +import os +import sys +from test import test_support + +TESTFN2 = test_support.TESTFN + '2' + +class TestMacostools(unittest.TestCase): + + def setUp(self): + fp = open(test_support.TESTFN, 'w') + fp.write('hello world\n') + fp.close() + rfp = MacOS.openrf(test_support.TESTFN, '*wb') + rfp.write('goodbye world\n') + rfp.close() + + def tearDown(self): + try: + os.unlink(test_support.TESTFN) + except: + pass + try: + os.unlink(TESTFN2) + except: + pass + + def compareData(self): + fp = open(test_support.TESTFN, 'r') + data1 = fp.read() + fp.close() + fp = open(TESTFN2, 'r') + data2 = fp.read() + fp.close() + if data1 != data2: + return 'Data forks differ' + rfp = MacOS.openrf(test_support.TESTFN, '*rb') + data1 = rfp.read(1000) + rfp.close() + rfp = MacOS.openrf(TESTFN2, '*rb') + data2 = rfp.read(1000) + rfp.close() + if data1 != data2: + return 'Resource forks differ' + return '' + + def test_touched(self): + # This really only tests that nothing unforeseen happens. + import warnings + with warnings.catch_warnings(): + warnings.filterwarnings('ignore', 'macostools.touched*', + DeprecationWarning) + macostools.touched(test_support.TESTFN) + + def test_copy(self): + try: + os.unlink(TESTFN2) + except: + pass + macostools.copy(test_support.TESTFN, TESTFN2) + self.assertEqual(self.compareData(), '') + + def test_mkalias(self): + try: + os.unlink(TESTFN2) + except: + pass + macostools.mkalias(test_support.TESTFN, TESTFN2) + fss, _, _ = Carbon.File.ResolveAliasFile(TESTFN2, 0) + self.assertEqual(fss.as_pathname(), os.path.realpath(test_support.TESTFN)) + + def test_mkalias_relative(self): + try: + os.unlink(TESTFN2) + except: + pass + # If the directory doesn't exist, then chances are this is a new + # install of Python so don't create it since the user might end up + # running ``sudo make install`` and creating the directory here won't + # leave it with the proper permissions. + if not os.path.exists(sys.prefix): + return + macostools.mkalias(test_support.TESTFN, TESTFN2, sys.prefix) + fss, _, _ = Carbon.File.ResolveAliasFile(TESTFN2, 0) + self.assertEqual(fss.as_pathname(), os.path.realpath(test_support.TESTFN)) + + +def test_main(): + # Skip on wide unicode + if len(u'\0'.encode('unicode-internal')) == 4: + raise test_support.TestSkipped("test_macostools is broken in USC4") + test_support.run_unittest(TestMacostools) + + +if __name__ == '__main__': + test_main()