tests: make sure to restore dir permissions
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Wed, 9 Oct 2013 11:38:52 +0000 (14:38 +0300)
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Wed, 9 Oct 2013 11:50:57 +0000 (14:50 +0300)
So that tests don't leave stale temporary directories in case of tests
fail.

Change-Id: I06aa23b2ec6805b18a3c597101ab186b8aa24abc
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
tests/test_gbp_repocache.py

index 2f04cbd03c71b04e888899eb1e0114cbeea10828..7403bdef5aa41de812126ffaec85a8cddb2429aa 100644 (file)
@@ -161,27 +161,34 @@ class TestCachedRepo(UnitTestsBase):
 
     def test_cache_access_error(self):
         """Test cached directory with invalid permissions"""
+        s_rwx = stat.S_IREAD | stat.S_IWRITE | stat.S_IEXEC
+
         # Check base cachedir creation access error
         os.chmod(self.workdir, 0)
         with assert_raises(CachedRepoError):
-            repo = self.MockCachedRepo(self.orig_repo.path)
-        os.chmod(self.workdir, stat.S_IREAD | stat.S_IWRITE | stat.S_IEXEC)
+            try:
+                repo = self.MockCachedRepo(self.orig_repo.path)
+            finally:
+                os.chmod(self.workdir, s_rwx)
         repo = self.MockCachedRepo(self.orig_repo.path)
         del repo
 
         # Check cache base dir access error
         os.chmod(self.cachedir, 0)
         with assert_raises(CachedRepoError):
-            repo = self.MockCachedRepo(self.orig_repo.path)
-        os.chmod(self.cachedir, stat.S_IREAD | stat.S_IWRITE | stat.S_IEXEC)
+            try:
+                repo = self.MockCachedRepo(self.orig_repo.path)
+            finally:
+                os.chmod(self.cachedir, s_rwx)
         repo = self.MockCachedRepo(self.orig_repo.path)
         del repo
 
         # Check repodir delete error
         os.chmod(self.cachedir, stat.S_IREAD | stat.S_IEXEC)
         with assert_raises(CachedRepoError):
-            # Change repo type -> tries to delete
-            repo = self.MockCachedRepo(self.orig_repo.path, bare=True)
-        os.chmod(self.cachedir, stat.S_IREAD | stat.S_IWRITE | stat.S_IEXEC)
-
+            try:
+                # Change repo type -> tries to delete
+                repo = self.MockCachedRepo(self.orig_repo.path, bare=True)
+            finally:
+                os.chmod(self.cachedir, s_rwx)