Amador Pahim has uploaded a new change for review. Change subject: fix tests for qemuimg.convert() to allow additional capabilities checks ......................................................................
fix tests for qemuimg.convert() to allow additional capabilities checks Tests for convert() are mocking execCmd() to fake _supports_qcow2_compat(). In order to allow other capabilities checks inside convert(), this patch is testing the _supports_qcow2_compat() itself and removing the need of mocking execCmd() inside convert, mocking _supports_qcow2_compat() instead. Change-Id: I386772bf2a25a880b5ad387f284679eed81c5615 Signed-off-by: Amador Pahim <[email protected]> --- M tests/qemuimgTests.py 1 file changed, 37 insertions(+), 16 deletions(-) git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/66/36366/1 diff --git a/tests/qemuimgTests.py b/tests/qemuimgTests.py index 21288b7..e7423a7 100644 --- a/tests/qemuimgTests.py +++ b/tests/qemuimgTests.py @@ -171,17 +171,14 @@ qemuimg.convert('src', 'dst', True) def test_qcow2_compat_unsupported(self): - def qcow2_compat_unsupported(cmd, **kw): - self.check_supports_qcow2_compat(cmd, **kw) - return 0, 'Supported options:\nsize ...\n', '' - def convert(cmd, **kw): expected = [QEMU_IMG, 'convert', '-t', 'none', 'src', '-O', 'qcow2', 'dst'] self.assertEqual(cmd, expected) return 0, '', '' - with FakeCmd(utils, 'execCmd', qcow2_compat_unsupported): + with FakeCmd(qemuimg, '_supports_qcow2_compat', + self.qcow2_compat_unsupported): with FakeCmd(utils, 'watchCmd', convert): qemuimg.convert('src', 'dst', True, dstFormat='qcow2') @@ -192,7 +189,8 @@ self.assertEqual(cmd, expected) return 0, '', '' - with FakeCmd(utils, 'execCmd', self.qcow2_compat_supported): + with FakeCmd(qemuimg, '_supports_qcow2_compat', + self.qcow2_compat_supported): with FakeCmd(utils, 'watchCmd', convert): qemuimg.convert('src', 'dst', True, dstFormat='qcow2') @@ -203,7 +201,8 @@ self.assertEqual(cmd, expected) return 0, '', '' - with FakeCmd(utils, 'execCmd', self.qcow2_compat_supported): + with FakeCmd(qemuimg, '_supports_qcow2_compat', + self.qcow2_compat_supported): with FakeCmd(utils, 'watchCmd', convert): qemuimg.convert('src', 'dst', None, dstFormat='qcow2') @@ -215,7 +214,8 @@ self.assertEqual(cmd, expected) return 0, '', '' - with FakeCmd(utils, 'execCmd', self.qcow2_compat_supported): + with FakeCmd(qemuimg, '_supports_qcow2_compat', + self.qcow2_compat_supported): with FakeCmd(utils, 'watchCmd', convert): qemuimg.convert('src', 'dst', None, dstFormat='qcow2', backing='bak') @@ -227,7 +227,8 @@ self.assertEqual(cmd, expected) return 0, '', '' - with FakeCmd(utils, 'execCmd', self.qcow2_compat_supported): + with FakeCmd(qemuimg, '_supports_qcow2_compat', + self.qcow2_compat_supported): with FakeCmd(utils, 'watchCmd', convert): qemuimg.convert('src', 'dst', None, dstFormat='qcow2', backingFormat='qcow2') @@ -240,16 +241,36 @@ self.assertEqual(cmd, expected) return 0, '', '' - with FakeCmd(utils, 'execCmd', self.qcow2_compat_supported): + with FakeCmd(qemuimg, '_supports_qcow2_compat', + self.qcow2_compat_supported): with FakeCmd(utils, 'watchCmd', convert): qemuimg.convert('src', 'dst', None, dstFormat='qcow2', backing='bak', backingFormat='qcow2') - def check_supports_qcow2_compat(self, cmd, **kw): - expected = [QEMU_IMG, 'convert', '-O', 'qcow2', '-o', '?', '/dev/null', - '/dev/null'] - self.assertEqual(cmd, expected) + def test_qcow2_compat(self, **kw): + def call(cmd, **kw): + expected = [QEMU_IMG, 'convert', '-O', 'qcow2', '-o', '?', + '/dev/null', '/dev/null'] + self.assertEqual(cmd, expected) + return 0, '', '' + + def supported(cmd, **kw): + return 0, 'Supported options:\ncompat ...\n', '' + + def unsupported(cmd, **kw): + return 0, 'Supported options:\nsize ...\n', '' + + with FakeCmd(utils, 'execCmd', call): + qemuimg._supports_qcow2_compat('convert') + + with FakeCmd(utils, 'execCmd', supported): + self.assertTrue(qemuimg._supports_qcow2_compat('convert')) + + with FakeCmd(utils, 'execCmd', unsupported): + self.assertFalse(qemuimg._supports_qcow2_compat('convert')) def qcow2_compat_supported(self, cmd, **kw): - self.check_supports_qcow2_compat(cmd, **kw) - return 0, 'Supported options:\ncompat ...\n', '' + return True + + def qcow2_compat_unsupported(self, cmd, **kw): + return False -- To view, visit http://gerrit.ovirt.org/36366 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I386772bf2a25a880b5ad387f284679eed81c5615 Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Amador Pahim <[email protected]> _______________________________________________ vdsm-patches mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches
