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.
diff --git a/Lib/test/test_pep277.py b/Lib/test/test_pep277.py
index f543a5a..bd11226 100644
--- a/Lib/test/test_pep277.py
+++ b/Lib/test/test_pep277.py
@@ -6,7 +6,7 @@
 try:
     from nt import _getfullpathname
 except ImportError:
-    raise TestSkipped, "test works only on NT"
+    raise TestSkipped, "test works only on NT+"
 
 filenames = [
     "abc",
@@ -20,9 +20,19 @@
     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):
+    files = [os.path.join(TESTFN, f) for f in filenames]
+
     def setUp(self):
-        self.files = [os.path.join(TESTFN, f) for f in filenames]
         try:
             os.mkdir(TESTFN)
         except OSError:
@@ -34,9 +44,7 @@
             os.stat(name)
 
     def tearDown(self):
-        for name in self.files:
-            os.unlink(name)
-        os.rmdir(TESTFN)
+        deltree(TESTFN)
 
     def _apply_failure(self, fn, filename, expected_exception,
                        check_fn_in_exception = True):
@@ -100,7 +108,10 @@
 def test_main():
     suite = unittest.TestSuite()
     suite.addTest(unittest.makeSuite(UnicodeFileTests))
-    run_suite(suite)
+    try:
+        run_suite(suite)
+    finally:
+        deltree(TESTFN)
 
 if __name__ == "__main__":
     test_main()