summaryrefslogtreecommitdiffstats
path: root/tests/util.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/util.py')
-rw-r--r--tests/util.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/tests/util.py b/tests/util.py
index a813903ae..1cbc4e312 100644
--- a/tests/util.py
+++ b/tests/util.py
@@ -42,8 +42,9 @@ class TempDir(object):
path = property(__get_path)
def rmtree(self):
- shutil.rmtree(self.path)
- self.__path = None
+ if self.__path is not None:
+ shutil.rmtree(self.path)
+ self.__path = None
def makedirs(self, *parts):
d = self.join(*parts)
@@ -67,6 +68,17 @@ class TempDir(object):
self.rmtree()
+class TempHome(TempDir):
+ def __init__(self):
+ super(TempHome, self).__init__()
+ self.__home = os.environ['HOME']
+ os.environ['HOME'] = self.path
+
+ def rmtree(self):
+ os.environ['HOME'] = self.__home
+ super(TempHome, self).rmtree()
+
+
class ExceptionNotRaised(Exception):
"""
Exception raised when an *expected* exception is *not* raised during a