[Checkins] SVN: relstorage/trunk/relstorage/tests/blob/testblob.py Avoid Windows issues when removing a directory tree
Shane Hathaway
shane at hathawaymix.org
Fri Sep 25 23:58:53 EDT 2009
Log message for revision 104563:
Avoid Windows issues when removing a directory tree
Changed:
U relstorage/trunk/relstorage/tests/blob/testblob.py
-=-
Modified: relstorage/trunk/relstorage/tests/blob/testblob.py
===================================================================
--- relstorage/trunk/relstorage/tests/blob/testblob.py 2009-09-26 00:52:31 UTC (rev 104562)
+++ relstorage/trunk/relstorage/tests/blob/testblob.py 2009-09-26 03:58:53 UTC (rev 104563)
@@ -20,7 +20,7 @@
import os
import random
import re
-import shutil
+import stat
import struct
import sys
import tempfile
@@ -461,7 +461,7 @@
def tearDown(self):
os.chdir(self.here)
- shutil.rmtree(self.tmp)
+ rmtree(self.tmp)
def testSetUp(self):
transaction.abort()
@@ -472,9 +472,22 @@
def clean(tmp):
if os.path.isdir(tmp):
- shutil.rmtree(tmp)
+ rmtree(tmp)
+def rmtree(path):
+ """Remove a tree without causing Windows file access errors"""
+ # copied from setupstack.py
+ for path, dirs, files in os.walk(path, False):
+ for fname in files:
+ fname = os.path.join(path, fname)
+ os.chmod(fname, stat.S_IWUSR)
+ os.remove(fname)
+ for dname in dirs:
+ dname = os.path.join(path, dname)
+ os.rmdir(dname)
+ os.rmdir(path)
+
def storage_reusable_suite(prefix, factory,
test_blob_storage_recovery=False,
test_packing=False,
More information about the checkins
mailing list