annotate Lib/test/test_macos.py @ 54294:dba767bc3155 legacy-trunk

remove mention of old ctypes version
author Benjamin Peterson <benjamin@python.org>
date Sat, 23 May 2009 20:59:09 +0000
parents f2c90fd05d66
children 70e115c34f97
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
48485
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
1 import unittest
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
2 from test import test_support
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
3 import os
50445
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
4 import subprocess
48485
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
5
52456
f2c90fd05d66 Add import_function method to test.test_support, and modify a number of
R. David Murray <rdmurray@bitdance.com>
parents: 50445
diff changeset
6 MacOS = test_support.import_module('MacOS')
f2c90fd05d66 Add import_function method to test.test_support, and modify a number of
R. David Murray <rdmurray@bitdance.com>
parents: 50445
diff changeset
7 #The following should exist if MacOS exists.
f2c90fd05d66 Add import_function method to test.test_support, and modify a number of
R. David Murray <rdmurray@bitdance.com>
parents: 50445
diff changeset
8 import Carbon.File
f2c90fd05d66 Add import_function method to test.test_support, and modify a number of
R. David Murray <rdmurray@bitdance.com>
parents: 50445
diff changeset
9
48485
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
10 TESTFN2 = test_support.TESTFN + '2'
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
11
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
12 class TestMacOS(unittest.TestCase):
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
13
50445
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
14 def testGetCreatorAndType(self):
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
15 if not os.path.exists('/Developer/Tools/SetFile'):
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
16 return
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
17
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
18 try:
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
19 fp = open(test_support.TESTFN, 'w')
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
20 fp.write('\n')
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
21 fp.close()
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
22
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
23 subprocess.call(
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
24 ['/Developer/Tools/SetFile', '-t', 'ABCD', '-c', 'EFGH',
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
25 test_support.TESTFN])
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
26
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
27 cr, tp = MacOS.GetCreatorAndType(test_support.TESTFN)
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
28 self.assertEquals(tp, 'ABCD')
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
29 self.assertEquals(cr, 'EFGH')
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
30
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
31 finally:
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
32 os.unlink(test_support.TESTFN)
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
33
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
34 def testSetCreatorAndType(self):
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
35 if not os.path.exists('/Developer/Tools/GetFileInfo'):
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
36 return
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
37
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
38 try:
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
39 fp = open(test_support.TESTFN, 'w')
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
40 fp.write('\n')
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
41 fp.close()
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
42
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
43 MacOS.SetCreatorAndType(test_support.TESTFN,
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
44 'ABCD', 'EFGH')
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
45
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
46 cr, tp = MacOS.GetCreatorAndType(test_support.TESTFN)
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
47 self.assertEquals(cr, 'ABCD')
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
48 self.assertEquals(tp, 'EFGH')
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
49
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
50 data = subprocess.Popen(["/Developer/Tools/GetFileInfo", test_support.TESTFN],
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
51 stdout=subprocess.PIPE).communicate()[0]
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
52
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
53 tp = None
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
54 cr = None
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
55 for ln in data.splitlines():
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
56 if ln.startswith('type:'):
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
57 tp = ln.split()[-1][1:-1]
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
58 if ln.startswith('creator:'):
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
59 cr = ln.split()[-1][1:-1]
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
60
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
61 self.assertEquals(cr, 'ABCD')
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
62 self.assertEquals(tp, 'EFGH')
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
63
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
64 finally:
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
65 os.unlink(test_support.TESTFN)
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
66
1dcb19216b64 Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 48485
diff changeset
67
48485
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
68 def testOpenRF(self):
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
69 try:
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
70 fp = open(test_support.TESTFN, 'w')
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
71 fp.write('hello world\n')
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
72 fp.close()
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
73
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
74 rfp = MacOS.openrf(test_support.TESTFN, '*wb')
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
75 rfp.write('goodbye world\n')
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
76 rfp.close()
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
77
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
78
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
79 fp = open(test_support.TESTFN, 'r')
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
80 data = fp.read()
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
81 fp.close()
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
82 self.assertEquals(data, 'hello world\n')
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
83
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
84 rfp = MacOS.openrf(test_support.TESTFN, '*rb')
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
85 data = rfp.read(100)
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
86 data2 = rfp.read(100)
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
87 rfp.close()
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
88 self.assertEquals(data, 'goodbye world\n')
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
89 self.assertEquals(data2, '')
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
90
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
91
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
92 finally:
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
93 os.unlink(test_support.TESTFN)
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
94
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
95 def test_main():
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
96 test_support.run_unittest(TestMacOS)
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
97
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
98
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
99 if __name__ == '__main__':
bd4841069c68 Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
diff changeset
100 test_main()