diff options
Diffstat (limited to 'tests/util.py')
-rw-r--r-- | tests/util.py | 16 |
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 |