mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			88 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# Copyright (C) 2003 Python Software Foundation
 | 
						|
 | 
						|
import unittest
 | 
						|
import macostools
 | 
						|
import Carbon.File
 | 
						|
import MacOS
 | 
						|
import os
 | 
						|
import sys
 | 
						|
from test import test_support
 | 
						|
 | 
						|
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):
 | 
						|
        try:
 | 
						|
            os.unlink(test_support.TESTFN)
 | 
						|
        except:
 | 
						|
            pass
 | 
						|
        try:
 | 
						|
            os.unlink(TESTFN2)
 | 
						|
        except:
 | 
						|
            pass
 | 
						|
 | 
						|
    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.
 | 
						|
        macostools.touched(test_support.TESTFN)
 | 
						|
 | 
						|
    def test_copy(self):
 | 
						|
        try:
 | 
						|
            os.unlink(TESTFN2)
 | 
						|
        except:
 | 
						|
            pass
 | 
						|
        macostools.copy(test_support.TESTFN, TESTFN2)
 | 
						|
        self.assertEqual(self.compareData(), '')
 | 
						|
 | 
						|
    def test_mkalias(self):
 | 
						|
        try:
 | 
						|
            os.unlink(TESTFN2)
 | 
						|
        except:
 | 
						|
            pass
 | 
						|
        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):
 | 
						|
        try:
 | 
						|
            os.unlink(TESTFN2)
 | 
						|
        except:
 | 
						|
            pass
 | 
						|
        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():
 | 
						|
    test_support.run_unittest(TestMacostools)
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    test_main()
 |