]> granicus.if.org Git - python/commitdiff
Fix sporadic failure of test_pep277 on Windows: use support.rmtree() instead of
authorVictor Stinner <victor.stinner@gmail.com>
Mon, 28 Jul 2014 22:40:50 +0000 (00:40 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Mon, 28 Jul 2014 22:40:50 +0000 (00:40 +0200)
deltree().

Lib/test/test_pep277.py

index 9bae6dcad7a3bd8d0087f1e249ebdc2cda68bbff..6c833a8b2f2e4a497ba9f60bf5c2efd5030decf4 100644 (file)
@@ -56,17 +56,6 @@ if not os.path.supports_unicode_filenames:
                                 "Unicode-friendly filesystem encoding")
 
 
-# Destroy directory dirname and all files under it, to one level.
-def deltree(dirname):
-    # Don't hide legitimate errors:  if one of these suckers exists, it's
-    # an error if we can't remove it.
-    if os.path.exists(dirname):
-        # must pass unicode to os.listdir() so we get back unicode results.
-        for fname in os.listdir(str(dirname)):
-            os.unlink(os.path.join(dirname, fname))
-        os.rmdir(dirname)
-
-
 class UnicodeFileTests(unittest.TestCase):
     files = set(filenames)
     normal_form = None
@@ -76,6 +65,8 @@ class UnicodeFileTests(unittest.TestCase):
             os.mkdir(support.TESTFN)
         except FileExistsError:
             pass
+        self.addCleanup(support.rmtree, support.TESTFN)
+
         files = set()
         for name in self.files:
             name = os.path.join(support.TESTFN, self.norm(name))
@@ -85,9 +76,6 @@ class UnicodeFileTests(unittest.TestCase):
             files.add(name)
         self.files = files
 
-    def tearDown(self):
-        deltree(support.TESTFN)
-
     def norm(self, s):
         if self.normal_form:
             return normalize(self.normal_form, s)
@@ -200,16 +188,13 @@ class UnicodeNFKDFileTests(UnicodeFileTests):
 
 
 def test_main():
-    try:
-        support.run_unittest(
-            UnicodeFileTests,
-            UnicodeNFCFileTests,
-            UnicodeNFDFileTests,
-            UnicodeNFKCFileTests,
-            UnicodeNFKDFileTests,
-        )
-    finally:
-        deltree(support.TESTFN)
+    support.run_unittest(
+        UnicodeFileTests,
+        UnicodeNFCFileTests,
+        UnicodeNFDFileTests,
+        UnicodeNFKCFileTests,
+        UnicodeNFKDFileTests,
+    )
 
 
 if __name__ == "__main__":