From 0970657f0160be42222aaaf7d29de097d67ee183 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 29 Jul 2014 00:40:50 +0200 Subject: [PATCH] Fix sporadic failure of test_pep277 on Windows: use support.rmtree() instead of deltree(). --- Lib/test/test_pep277.py | 33 +++++++++------------------------ 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/Lib/test/test_pep277.py b/Lib/test/test_pep277.py index 9bae6dcad7a..6c833a8b2f2 100644 --- a/Lib/test/test_pep277.py +++ b/Lib/test/test_pep277.py @@ -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__":