~ubuntu-branches/ubuntu/karmic/pypy/karmic

« back to all changes in this revision

Viewing changes to lib-python/2.4.1/test/test_macostools.py

  • Committer: Bazaar Package Importer
  • Author(s): Alexandre Fayolle
  • Date: 2007-04-13 09:33:09 UTC
  • Revision ID: james.westby@ubuntu.com-20070413093309-yoojh4jcoocu2krz
Tags: upstream-1.0.0
ImportĀ upstreamĀ versionĀ 1.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright (C) 2003 Python Software Foundation
 
2
 
 
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
 
10
 
 
11
TESTFN2 = test_support.TESTFN + '2'
 
12
 
 
13
class TestMacostools(unittest.TestCase):
 
14
 
 
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()
 
22
 
 
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
 
32
 
 
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 ''
 
51
 
 
52
    def test_touched(self):
 
53
        # This really only tests that nothing unforeseen happens.
 
54
        macostools.touched(test_support.TESTFN)
 
55
 
 
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(), '')
 
63
 
 
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))
 
72
 
 
73
    def test_mkalias_relative(self):
 
74
        if not os.path.exists(sys.prefix):
 
75
            return
 
76
        try:
 
77
            os.unlink(TESTFN2)
 
78
        except:
 
79
            pass
 
80
        macostools.mkalias(test_support.TESTFN, TESTFN2, sys.prefix)
 
81
        fss, _, _ = Carbon.File.ResolveAliasFile(TESTFN2, 0)
 
82
        self.assertEqual(fss.as_pathname(), os.path.realpath(test_support.TESTFN))
 
83
 
 
84
 
 
85
def test_main():
 
86
    test_support.run_unittest(TestMacostools)
 
87
 
 
88
 
 
89
if __name__ == '__main__':
 
90
    test_main()