symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_genericpath.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 import unittest
       
     2 from test import test_support
       
     3 import os
       
     4 import genericpath
       
     5 
       
     6 class AllCommonTest(unittest.TestCase):
       
     7 
       
     8     def assertIs(self, a, b):
       
     9         self.assert_(a is b)
       
    10 
       
    11     def test_commonprefix(self):
       
    12         self.assertEqual(
       
    13             genericpath.commonprefix([]),
       
    14             ""
       
    15         )
       
    16         self.assertEqual(
       
    17             genericpath.commonprefix(["/home/swenson/spam", "/home/swen/spam"]),
       
    18             "/home/swen"
       
    19         )
       
    20         self.assertEqual(
       
    21             genericpath.commonprefix(["/home/swen/spam", "/home/swen/eggs"]),
       
    22             "/home/swen/"
       
    23         )
       
    24         self.assertEqual(
       
    25             genericpath.commonprefix(["/home/swen/spam", "/home/swen/spam"]),
       
    26             "/home/swen/spam"
       
    27         )
       
    28 
       
    29     def test_getsize(self):
       
    30         f = open(test_support.TESTFN, "wb")
       
    31         try:
       
    32             f.write("foo")
       
    33             f.close()
       
    34             self.assertEqual(genericpath.getsize(test_support.TESTFN), 3)
       
    35         finally:
       
    36             if not f.closed:
       
    37                 f.close()
       
    38             os.remove(test_support.TESTFN)
       
    39 
       
    40     def test_time(self):
       
    41         f = open(test_support.TESTFN, "wb")
       
    42         try:
       
    43             f.write("foo")
       
    44             f.close()
       
    45             f = open(test_support.TESTFN, "ab")
       
    46             f.write("bar")
       
    47             f.close()
       
    48             f = open(test_support.TESTFN, "rb")
       
    49             d = f.read()
       
    50             f.close()
       
    51             self.assertEqual(d, "foobar")
       
    52 
       
    53             self.assert_(
       
    54                 genericpath.getctime(test_support.TESTFN) <=
       
    55                 genericpath.getmtime(test_support.TESTFN)
       
    56             )
       
    57         finally:
       
    58             if not f.closed:
       
    59                 f.close()
       
    60             os.remove(test_support.TESTFN)
       
    61 
       
    62     def test_exists(self):
       
    63         self.assertIs(genericpath.exists(test_support.TESTFN), False)
       
    64         f = open(test_support.TESTFN, "wb")
       
    65         try:
       
    66             f.write("foo")
       
    67             f.close()
       
    68             self.assertIs(genericpath.exists(test_support.TESTFN), True)
       
    69         finally:
       
    70             if not f.close():
       
    71                 f.close()
       
    72             try:
       
    73                 os.remove(test_support.TESTFN)
       
    74             except os.error:
       
    75                 pass
       
    76 
       
    77         self.assertRaises(TypeError, genericpath.exists)
       
    78 
       
    79     def test_isdir(self):
       
    80         self.assertIs(genericpath.isdir(test_support.TESTFN), False)
       
    81         f = open(test_support.TESTFN, "wb")
       
    82         try:
       
    83             f.write("foo")
       
    84             f.close()
       
    85             self.assertIs(genericpath.isdir(test_support.TESTFN), False)
       
    86             os.remove(test_support.TESTFN)
       
    87             os.mkdir(test_support.TESTFN)
       
    88             self.assertIs(genericpath.isdir(test_support.TESTFN), True)
       
    89             os.rmdir(test_support.TESTFN)
       
    90         finally:
       
    91             if not f.close():
       
    92                 f.close()
       
    93             try:
       
    94                 os.remove(test_support.TESTFN)
       
    95             except os.error:
       
    96                 pass
       
    97             try:
       
    98                 os.rmdir(test_support.TESTFN)
       
    99             except os.error:
       
   100                 pass
       
   101 
       
   102         self.assertRaises(TypeError, genericpath.isdir)
       
   103 
       
   104     def test_isfile(self):
       
   105         self.assertIs(genericpath.isfile(test_support.TESTFN), False)
       
   106         f = open(test_support.TESTFN, "wb")
       
   107         try:
       
   108             f.write("foo")
       
   109             f.close()
       
   110             self.assertIs(genericpath.isfile(test_support.TESTFN), True)
       
   111             os.remove(test_support.TESTFN)
       
   112             os.mkdir(test_support.TESTFN)
       
   113             self.assertIs(genericpath.isfile(test_support.TESTFN), False)
       
   114             os.rmdir(test_support.TESTFN)
       
   115         finally:
       
   116             if not f.close():
       
   117                 f.close()
       
   118             try:
       
   119                 os.remove(test_support.TESTFN)
       
   120             except os.error:
       
   121                 pass
       
   122             try:
       
   123                 os.rmdir(test_support.TESTFN)
       
   124             except os.error:
       
   125                 pass
       
   126 
       
   127         self.assertRaises(TypeError, genericpath.isdir)
       
   128 
       
   129         def test_samefile(self):
       
   130             f = open(test_support.TESTFN + "1", "wb")
       
   131             try:
       
   132                 f.write("foo")
       
   133                 f.close()
       
   134                 self.assertIs(
       
   135                     genericpath.samefile(
       
   136                         test_support.TESTFN + "1",
       
   137                         test_support.TESTFN + "1"
       
   138                     ),
       
   139                     True
       
   140                 )
       
   141                 # If we don't have links, assume that os.stat doesn't return resonable
       
   142                 # inode information and thus, that samefile() doesn't work
       
   143                 if hasattr(os, "symlink"):
       
   144                     os.symlink(
       
   145                         test_support.TESTFN + "1",
       
   146                         test_support.TESTFN + "2"
       
   147                     )
       
   148                     self.assertIs(
       
   149                         genericpath.samefile(
       
   150                             test_support.TESTFN + "1",
       
   151                             test_support.TESTFN + "2"
       
   152                         ),
       
   153                         True
       
   154                     )
       
   155                     os.remove(test_support.TESTFN + "2")
       
   156                     f = open(test_support.TESTFN + "2", "wb")
       
   157                     f.write("bar")
       
   158                     f.close()
       
   159                     self.assertIs(
       
   160                         genericpath.samefile(
       
   161                             test_support.TESTFN + "1",
       
   162                             test_support.TESTFN + "2"
       
   163                         ),
       
   164                         False
       
   165                     )
       
   166             finally:
       
   167                 if not f.close():
       
   168                     f.close()
       
   169                 try:
       
   170                     os.remove(test_support.TESTFN + "1")
       
   171                 except os.error:
       
   172                     pass
       
   173                 try:
       
   174                     os.remove(test_support.TESTFN + "2")
       
   175                 except os.error:
       
   176                     pass
       
   177 
       
   178             self.assertRaises(TypeError, genericpath.samefile)
       
   179 
       
   180 def test_main():
       
   181     test_support.run_unittest(AllCommonTest)
       
   182 
       
   183 if __name__=="__main__":
       
   184     test_main()