Change in vdsm[master]: virt: recovery: tests: reduce nested `with' blocks
fromani at redhat.com
fromani at redhat.com
Fri Feb 19 09:24:34 UTC 2016
Francesco Romani has uploaded a new change for review.
Change subject: virt: recovery: tests: reduce nested `with' blocks
......................................................................
virt: recovery: tests: reduce nested `with' blocks
Add test helper to reduce the boilerplate.
Change-Id: Ifd82323148074f5c3c031b0fa4c64c684c81c73b
Signed-off-by: Francesco Romani <fromani at redhat.com>
---
M tests/vmRecoveryTests.py
1 file changed, 42 insertions(+), 39 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/39/53739/1
diff --git a/tests/vmRecoveryTests.py b/tests/vmRecoveryTests.py
index 174119e..7bf8945 100644
--- a/tests/vmRecoveryTests.py
+++ b/tests/vmRecoveryTests.py
@@ -18,6 +18,7 @@
# Refer to the README and COPYING files for full details of the license
#
+import contextlib
import os
from virt import recovery
@@ -40,64 +41,60 @@
def test_save(self):
- with fake.VM() as testvm, namedTemporaryDir() as tmpdir:
- with MonkeyPatchScope([(constants, 'P_VDSM_RUN', tmpdir + '/')]):
- rec = recovery.File(testvm.id)
- rec.save(testvm)
+ with self.setup_env() as (testvm, tmpdir):
+ rec = recovery.File(testvm.id)
+ rec.save(testvm)
- with open(os.path.join(tmpdir, rec.name), 'rb') as f:
- self.assertTrue(pickle.load(f))
+ with open(os.path.join(tmpdir, rec.name), 'rb') as f:
+ self.assertTrue(pickle.load(f))
def test_save_after_cleanup(self):
- with fake.VM() as testvm, namedTemporaryDir() as tmpdir:
- with MonkeyPatchScope([(constants, 'P_VDSM_RUN', tmpdir + '/')]):
- rec = recovery.File(testvm.id)
- rec.save(testvm)
+ with self.setup_env() as (testvm, tmpdir):
+ rec = recovery.File(testvm.id)
+ rec.save(testvm)
- rec.cleanup()
- self.assertEqual(os.listdir(tmpdir), [])
+ rec.cleanup()
+ self.assertEqual(os.listdir(tmpdir), [])
- rec.save(testvm) # must silently fail
- self.assertEqual(os.listdir(tmpdir), [])
+ rec.save(testvm) # must silently fail
+ self.assertEqual(os.listdir(tmpdir), [])
def test_load(self):
- with fake.VM() as testvm, namedTemporaryDir() as tmpdir:
- with MonkeyPatchScope([(constants, 'P_VDSM_RUN', tmpdir + '/')]):
- stored = recovery.File(testvm.id)
- stored.save(testvm)
+ with self.setup_env() as (testvm, tmpdir):
+ stored = recovery.File(testvm.id)
+ stored.save(testvm)
- loaded = recovery.File(testvm.id)
- fakecif = fake.ClientIF()
- loaded.load(fakecif)
+ loaded = recovery.File(testvm.id)
+ fakecif = fake.ClientIF()
+ res = loaded.load(fakecif)
+ self.assertTrue(res)
- self.assertVmStatus(testvm,
- fakecif.vmRequests[testvm.id][0])
+ self.assertVmStatus(testvm, fakecif.vmRequests[testvm.id][0])
def test_cleanup(self):
- with fake.VM() as testvm, namedTemporaryDir() as tmpdir:
- with MonkeyPatchScope([(constants, 'P_VDSM_RUN', tmpdir + '/')]):
- stored = recovery.File(testvm.id)
- stored.save(testvm)
+ with self.setup_env() as (testvm, tmpdir):
+ stored = recovery.File(testvm.id)
+ stored.save(testvm)
- self.assertEqual(len(os.listdir(tmpdir)), 1)
- stored.cleanup()
- self.assertEqual(len(os.listdir(tmpdir)), 0)
+ self.assertEqual(len(os.listdir(tmpdir)), 1)
+ stored.cleanup()
+ self.assertEqual(len(os.listdir(tmpdir)), 0)
def test_name(self):
- with fake.VM() as testvm, namedTemporaryDir() as tmpDir:
- with MonkeyPatchScope([(constants, 'P_VDSM_RUN', tmpDir + '/')]):
- state = recovery.File(testvm.id)
- self.assertIn(testvm.id, state.name)
- self.assertTrue(state.name.endswith(recovery.File.EXTENSION))
+
+ with self.setup_env() as (testvm, tmpdir):
+ state = recovery.File(testvm.id)
+ self.assertIn(testvm.id, state.name)
+ self.assertTrue(state.name.endswith(recovery.File.EXTENSION))
def test_vmid(self):
- with fake.VM() as testvm, namedTemporaryDir() as tmpDir:
- with MonkeyPatchScope([(constants, 'P_VDSM_RUN', tmpDir + '/')]):
- state = recovery.File(testvm.id)
- self.assertEqual(testvm.id, state.vmid)
+
+ with self.setup_env() as (testvm, tmpdir):
+ state = recovery.File(testvm.id)
+ self.assertEqual(testvm.id, state.vmid)
def assertVmStatus(self, testvm, params):
status = testvm.status()
@@ -111,6 +108,12 @@
msg = 'item %s status=%s params=%s' % (key, expected, recovered)
self.assertEqual(recovered, expected, msg)
+ @contextlib.contextmanager
+ def setup_env(self):
+ with fake.VM() as testvm, namedTemporaryDir() as tmpdir:
+ with MonkeyPatchScope([(constants, 'P_VDSM_RUN', tmpdir + '/')]):
+ yield testvm, tmpdir
+
@expandPermutations
class RecoveryFunctionsTests(TestCaseBase):
--
To view, visit https://gerrit.ovirt.org/53739
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifd82323148074f5c3c031b0fa4c64c684c81c73b
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Francesco Romani <fromani at redhat.com>
More information about the vdsm-patches
mailing list