Commit 1ee401fc authored by Tim Peters's avatar Tim Peters

This test fails on Win98, which is fine, but when it failed it left

a junk directory behind that caused 4 other tests to fail later.  Now
it cleans up after itself, and the 4 bogus later failures don't happen.
parent a844f2d1
...@@ -6,7 +6,7 @@ from test.test_support import TESTFN, TestSkipped, TestFailed, run_suite ...@@ -6,7 +6,7 @@ from test.test_support import TESTFN, TestSkipped, TestFailed, run_suite
try: try:
from nt import _getfullpathname from nt import _getfullpathname
except ImportError: except ImportError:
raise TestSkipped, "test works only on NT" raise TestSkipped, "test works only on NT+"
filenames = [ filenames = [
"abc", "abc",
...@@ -20,9 +20,19 @@ filenames = [ ...@@ -20,9 +20,19 @@ filenames = [
unicode("曨שんдΓß","utf-8"), unicode("曨שんдΓß","utf-8"),
] ]
# 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):
for fname in os.listdir(dirname):
os.unlink(os.path.join(dirname, fname))
os.rmdir(dirname)
class UnicodeFileTests(unittest.TestCase): class UnicodeFileTests(unittest.TestCase):
files = [os.path.join(TESTFN, f) for f in filenames]
def setUp(self): def setUp(self):
self.files = [os.path.join(TESTFN, f) for f in filenames]
try: try:
os.mkdir(TESTFN) os.mkdir(TESTFN)
except OSError: except OSError:
...@@ -34,9 +44,7 @@ class UnicodeFileTests(unittest.TestCase): ...@@ -34,9 +44,7 @@ class UnicodeFileTests(unittest.TestCase):
os.stat(name) os.stat(name)
def tearDown(self): def tearDown(self):
for name in self.files: deltree(TESTFN)
os.unlink(name)
os.rmdir(TESTFN)
def _apply_failure(self, fn, filename, expected_exception, def _apply_failure(self, fn, filename, expected_exception,
check_fn_in_exception = True): check_fn_in_exception = True):
...@@ -100,7 +108,10 @@ class UnicodeFileTests(unittest.TestCase): ...@@ -100,7 +108,10 @@ class UnicodeFileTests(unittest.TestCase):
def test_main(): def test_main():
suite = unittest.TestSuite() suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(UnicodeFileTests)) suite.addTest(unittest.makeSuite(UnicodeFileTests))
run_suite(suite) try:
run_suite(suite)
finally:
deltree(TESTFN)
if __name__ == "__main__": if __name__ == "__main__":
test_main() test_main()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment