Mercurial > cpython-lru_cache-weakref
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 |
| 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() |
