Update version number and release date.
[python/dscho.git] / Lib / test / test_macostools.py
blob9ed2d81094e26e5c142b2aeec242433777d7192b
1 # Copyright (C) 2003 Python Software Foundation
3 import unittest
4 import macostools
5 import Carbon.File
6 import MacOS
7 import os
8 import sys
9 from test import test_support
11 TESTFN2 = test_support.TESTFN + '2'
13 class TestMacostools(unittest.TestCase):
15 def setUp(self):
16 fp = open(test_support.TESTFN, 'w')
17 fp.write('hello world\n')
18 fp.close()
19 rfp = MacOS.openrf(test_support.TESTFN, '*wb')
20 rfp.write('goodbye world\n')
21 rfp.close()
23 def tearDown(self):
24 try:
25 os.unlink(test_support.TESTFN)
26 except:
27 pass
28 try:
29 os.unlink(TESTFN2)
30 except:
31 pass
33 def compareData(self):
34 fp = open(test_support.TESTFN, 'r')
35 data1 = fp.read()
36 fp.close()
37 fp = open(TESTFN2, 'r')
38 data2 = fp.read()
39 fp.close()
40 if data1 != data2:
41 return 'Data forks differ'
42 rfp = MacOS.openrf(test_support.TESTFN, '*rb')
43 data1 = rfp.read(1000)
44 rfp.close()
45 rfp = MacOS.openrf(TESTFN2, '*rb')
46 data2 = rfp.read(1000)
47 rfp.close()
48 if data1 != data2:
49 return 'Resource forks differ'
50 return ''
52 def test_touched(self):
53 # This really only tests that nothing unforeseen happens.
54 macostools.touched(test_support.TESTFN)
56 def test_copy(self):
57 try:
58 os.unlink(TESTFN2)
59 except:
60 pass
61 macostools.copy(test_support.TESTFN, TESTFN2)
62 self.assertEqual(self.compareData(), '')
64 def test_mkalias(self):
65 try:
66 os.unlink(TESTFN2)
67 except:
68 pass
69 macostools.mkalias(test_support.TESTFN, TESTFN2)
70 fss, _, _ = Carbon.File.ResolveAliasFile(TESTFN2, 0)
71 self.assertEqual(fss.as_pathname(), os.path.realpath(test_support.TESTFN))
73 def test_mkalias_relative(self):
74 try:
75 os.unlink(TESTFN2)
76 except:
77 pass
78 macostools.mkalias(test_support.TESTFN, TESTFN2, sys.prefix)
79 fss, _, _ = Carbon.File.ResolveAliasFile(TESTFN2, 0)
80 self.assertEqual(fss.as_pathname(), os.path.realpath(test_support.TESTFN))
83 def test_main():
84 test_support.run_unittest(TestMacostools)
87 if __name__ == '__main__':
88 test_main()