From 8ca44bcbfa2aec0c7c84205dc08c81f711a22c5d Mon Sep 17 00:00:00 2001 From: Jason Gerard DeRose Date: Fri, 24 Oct 2008 16:02:26 -0600 Subject: Added tests.util.TempHome class for created a tempdir and setting os.environ['HOME'] to it; updated various unit tests for Env so they are run using a tempdir for home --- tests/util.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'tests/util.py') diff --git a/tests/util.py b/tests/util.py index a813903a..1cbc4e31 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 -- cgit