diff options
Diffstat (limited to 'lib/python2.7/test/test_macostools.py')
-rw-r--r-- | lib/python2.7/test/test_macostools.py | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/lib/python2.7/test/test_macostools.py b/lib/python2.7/test/test_macostools.py new file mode 100644 index 0000000..4f15982 --- /dev/null +++ b/lib/python2.7/test/test_macostools.py @@ -0,0 +1,88 @@ +# Copyright (C) 2003 Python Software Foundation + +import unittest +import os +import sys +from test import test_support + +MacOS = test_support.import_module('MacOS') +#The following modules should exist if MacOS exists. +import Carbon.File +import macostools + +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): + test_support.unlink(test_support.TESTFN) + test_support.unlink(TESTFN2) + + 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. + with test_support.check_warnings(('macostools.touched*', + DeprecationWarning), quiet=True): + macostools.touched(test_support.TESTFN) + + if sys.maxint < 2**32: + def test_copy(self): + test_support.unlink(TESTFN2) + macostools.copy(test_support.TESTFN, TESTFN2) + self.assertEqual(self.compareData(), '') + + if sys.maxint < 2**32: + def test_mkalias(self): + test_support.unlink(TESTFN2) + 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): + test_support.unlink(TESTFN2) + # 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 unittest.SkipTest("test_macostools is broken in USC4") + test_support.run_unittest(TestMacostools) + + +if __name__ == '__main__': + test_main() |