Change in vdsm[master]: Monkey patch tests which calls to getTargetArch
ybronhei at redhat.com
ybronhei at redhat.com
Wed Oct 21 12:27:20 UTC 2015
Yaniv Bronhaim has uploaded a new change for review.
Change subject: Monkey patch tests which calls to getTargetArch
......................................................................
Monkey patch tests which calls to getTargetArch
Following the effort to make vdsm no-arch depended, some tests fails
while running on unsupported platforms. This patch monkeyPatch those
tests to check only x86_64
Change-Id: I1dc65dfb15680ad018f83c2d51a6d1f09844aea2
Signed-off-by: Yaniv Bronhaim <ybronhei at redhat.com>
---
M tests/clientifTests.py
M tests/deviceTests.py
M tests/devices/parsing/complex_vm_tests.py
M tests/numaUtilsTests.py
M tests/vmApiTests.py
M tests/vmMigrationTests.py
M tests/vmOperationsTests.py
M tests/vmTests.py
8 files changed, 95 insertions(+), 3 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/77/47577/1
diff --git a/tests/clientifTests.py b/tests/clientifTests.py
index 30725cd..8c65085 100644
--- a/tests/clientifTests.py
+++ b/tests/clientifTests.py
@@ -23,6 +23,7 @@
from testlib import temporaryPath
from monkeypatch import MonkeyPatch
from virt.vm import VolumeError
+import caps
import clientIF
import vmfakelib as fake
@@ -204,6 +205,7 @@
cif = fake.ClientIF()
self.assertFalse(cif.getVMs())
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def test_with_vms(self):
cif = fake.ClientIF()
with fake.VM(params={'vmId': 'testvm1'}, cif=cif) as testvm1:
diff --git a/tests/deviceTests.py b/tests/deviceTests.py
index a248277..f1dcb76 100644
--- a/tests/deviceTests.py
+++ b/tests/deviceTests.py
@@ -26,10 +26,11 @@
from virt.vmdevices import hwclass
from virt.domain_descriptor import DomainDescriptor
-from monkeypatch import MonkeyPatchScope
+from monkeypatch import MonkeyPatchScope, MonkeyPatch
from testlib import permutations, expandPermutations
from testlib import VdsmTestCase as TestCaseBase
from testlib import XMLTestCase
+import caps
import vmfakelib as fake
@@ -121,6 +122,7 @@
self.confDeviceGraphics = (self.confDeviceGraphicsVnc +
self.confDeviceGraphicsSpice)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGraphicsDeviceLegacy(self):
for conf in self.confDisplay:
conf.update(self.conf)
@@ -128,17 +130,20 @@
devs = testvm.devSpecMapFromConf()
self.assertTrue(devs['graphics'])
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGraphicsDevice(self):
for dev in self.confDeviceGraphics:
with fake.VM(self.conf, dev) as testvm:
devs = testvm.devSpecMapFromConf()
self.assertTrue(devs['graphics'])
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGraphicDeviceHeadless(self):
with fake.VM(self.conf) as testvm:
devs = testvm.devSpecMapFromConf()
self.assertFalse(devs['graphics'])
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGraphicsDeviceMixed(self):
"""
if proper Graphics Devices are supplied, display* params must be
@@ -174,6 +179,7 @@
conf.update(self.conf)
self.assertTrue(vmdevices.graphics.isSupportedDisplayType(conf))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testHasSpiceLegacy(self):
for conf in self.confDisplaySpice:
conf.update(self.conf)
@@ -185,6 +191,7 @@
with fake.VM(conf) as testvm:
self.assertFalse(testvm.hasSpice)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testHasSpice(self):
for dev in self.confDeviceGraphicsSpice:
with fake.VM(self.conf, dev) as testvm:
@@ -194,6 +201,7 @@
with fake.VM(self.conf, dev) as testvm:
self.assertFalse(testvm.hasSpice)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@permutations([['vnc', 'spice'], ['spice', 'vnc']])
def testGraphicsDeviceMultiple(self, primary, secondary):
devices = [{'type': 'graphics', 'device': primary},
@@ -202,6 +210,7 @@
devs = testvm.devSpecMapFromConf()
self.assertTrue(len(devs['graphics']) == 2)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@permutations([['vnc'], ['spice']])
def testGraphicsDeviceDuplicated(self, devType):
devices = [{'type': 'graphics', 'device': devType},
@@ -402,6 +411,7 @@
redir = vmdevices.core.Redir(self.conf, self.log, **dev)
self.assertXMLEqual(redir.getXML().toxml(), redirXML)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGetUnderlyingGraphicsDeviceInfo(self):
port = '6000'
tlsPort = '6001'
@@ -435,6 +445,7 @@
self.assertEqual(graphDev.port, graphConf['port'])
self.assertEqual(graphDev.tlsPort, graphConf['tlsPort'])
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testLegacyGraphicsXML(self):
vmConfs = [
{'display': 'vnc', 'displayPort': '-1', 'displayNetwork':
@@ -456,6 +467,7 @@
for vmConf, xml in zip(vmConfs, self.GRAPHICS_XMLS):
self._verifyGraphicsXML(vmConf, xml, isLegacy=True)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGraphicsDeviceXML(self):
vmConfs = [
{'devices': [{
@@ -518,6 +530,7 @@
memory = vmdevices.core.Memory(self.conf, self.log, **params)
self.assertXMLEqual(memory.getXML().toxml(), memoryXML)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGraphicsNoDisplayNetwork(self):
with fake.VM() as testvm:
graphDev = vmdevices.graphics.Graphics(
@@ -525,6 +538,7 @@
self.assertNotIn('displayNetwork', graphDev.specParams)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGraphicsDisplayNetworkFromSpecParams(self):
with fake.VM() as testvm:
graphDev = vmdevices.graphics.Graphics(
@@ -534,6 +548,7 @@
self.assertEqual(graphDev.specParams['displayNetwork'],
'vmDisplaySpecParams')
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGraphicsDisplayNetworkFromVmConf(self):
conf = {'displayNetwork': 'vmDisplayConf'}
conf.update(self.conf)
@@ -544,6 +559,7 @@
self.assertEqual(graphDev.specParams['displayNetwork'],
'vmDisplayConf')
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGraphicsDisplayNetworkFromSpecParamsOverridesVmConf(self):
conf = {'displayNetwork': 'vmDisplayConf'}
conf.update(self.conf)
diff --git a/tests/devices/parsing/complex_vm_tests.py b/tests/devices/parsing/complex_vm_tests.py
index 8eeb404..2ea3989 100644
--- a/tests/devices/parsing/complex_vm_tests.py
+++ b/tests/devices/parsing/complex_vm_tests.py
@@ -1,7 +1,8 @@
import os
+from monkeypatch import MonkeyPatch
from testlib import XMLTestCase
-
+import caps
from virt import domain_descriptor
import vmfakelib as fake
@@ -10,6 +11,7 @@
class TestVmDevicesXmlParsing(XMLTestCase, verify.DeviceMixin):
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def test_complex_vm(self):
params = {
'nicModel': 'rtl8139,pv', 'name': 'complexVm',
diff --git a/tests/numaUtilsTests.py b/tests/numaUtilsTests.py
index 3b6ae6f..ed8d478 100644
--- a/tests/numaUtilsTests.py
+++ b/tests/numaUtilsTests.py
@@ -60,6 +60,7 @@
self.assertEqual(vcpuPids, expectedVcpuPids)
@MonkeyPatch(numaUtils, 'supervdsm', fake.SuperVdsm())
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@MonkeyPatch(caps,
'getNumaTopology',
lambda: {'0': {'cpus': [0, 1, 2, 3],
@@ -95,6 +96,7 @@
redundant.
"""
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def test_get_mapping_vcpu_to_pcpu(self):
# stolen from real libvirt
vcpu_output = (
diff --git a/tests/vmApiTests.py b/tests/vmApiTests.py
index fab799b..f3cf136 100644
--- a/tests/vmApiTests.py
+++ b/tests/vmApiTests.py
@@ -28,6 +28,7 @@
from rpc import vdsmapi
import API
+import caps
from clientIF import clientIF
from testValidation import brokentest
@@ -68,6 +69,7 @@
class TestVmStats(TestSchemaCompliancyBase):
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@MonkeyPatch(vm.Vm, 'send_status_event', lambda x: None)
def testDownStats(self):
with fake.VM() as testvm:
diff --git a/tests/vmMigrationTests.py b/tests/vmMigrationTests.py
index 9f33296..25144d9 100644
--- a/tests/vmMigrationTests.py
+++ b/tests/vmMigrationTests.py
@@ -23,10 +23,11 @@
from vdsm.config import config
from virt import migration
-from monkeypatch import MonkeyPatchScope
+from monkeypatch import MonkeyPatchScope, MonkeyPatch
from testlib import VdsmTestCase as TestCaseBase
from testlib import permutations, expandPermutations
from testlib import make_config
+import caps
import vmfakelib as fake
@@ -51,16 +52,19 @@
# No special meaning, But steps just need to be >= 2
DOWNTIME = 1000
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@permutations([[1], [2], [10]])
def test_update_downtime_using_n_steps(self, steps):
downtimes = _update_downtime_repeatedly(self.DOWNTIME, steps)
self.assertEqual(len(downtimes), steps)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@permutations([[1], [2], [10]])
def test_update_downtime_monotonic_increasing(self, steps):
downtimes = _update_downtime_repeatedly(self.DOWNTIME, steps)
self.assertTrue(sorted(downtimes), downtimes)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@permutations([[1], [2], [10]])
def test_update_downtime_converges(self, steps):
downtimes = _update_downtime_repeatedly(self.DOWNTIME, steps)
diff --git a/tests/vmOperationsTests.py b/tests/vmOperationsTests.py
index 79067bc..165656b 100644
--- a/tests/vmOperationsTests.py
+++ b/tests/vmOperationsTests.py
@@ -36,6 +36,7 @@
from monkeypatch import MonkeyPatch, MonkeyPatchScope
from testlib import VdsmTestCase as TestCaseBase
from testlib import permutations, expandPermutations
+import caps
import vmfakelib as fake
from testValidation import brokentest
@@ -75,6 +76,7 @@
GRAPHIC_DEVICES = [{'type': 'graphics', 'device': 'spice', 'port': '-1'},
{'type': 'graphics', 'device': 'vnc', 'port': '-1'}]
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@MonkeyPatch(libvirtconnection, 'get', lambda x: fake.Connection())
@permutations([[define.NORMAL], [define.ERROR]])
def testTimeOffsetNotPresentByDefault(self, exitCode):
@@ -82,6 +84,7 @@
testvm.setDownStatus(exitCode, vmexitreason.GENERIC_ERROR)
self.assertFalse('timeOffset' in testvm.getStats())
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@MonkeyPatch(libvirtconnection, 'get', lambda x: fake.Connection())
@permutations([[define.NORMAL], [define.ERROR]])
def testTimeOffsetRoundtrip(self, exitCode):
@@ -90,6 +93,7 @@
self.assertEqual(testvm.getStats()['timeOffset'],
self.BASE_OFFSET)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@MonkeyPatch(libvirtconnection, 'get', lambda x: fake.Connection())
@permutations([[define.NORMAL], [define.ERROR]])
def testTimeOffsetRoundtriupAcrossInstances(self, exitCode):
@@ -104,6 +108,7 @@
# the field in getStats is str, not int
lastOffset = int(vmOffset)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@MonkeyPatch(libvirtconnection, 'get', lambda x: fake.Connection())
@permutations([[define.NORMAL], [define.ERROR]])
def testTimeOffsetUpdateIfAbsent(self, exitCode):
@@ -116,6 +121,7 @@
self.assertEqual(testvm.getStats()['timeOffset'],
str(self.UPDATE_OFFSETS[-1]))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@MonkeyPatch(libvirtconnection, 'get', lambda x: fake.Connection())
@permutations([[define.NORMAL], [define.ERROR]])
def testTimeOffsetUpdateIfPresent(self, exitCode):
@@ -127,6 +133,7 @@
self.assertEqual(testvm.getStats()['timeOffset'],
str(self.BASE_OFFSET + self.UPDATE_OFFSETS[-1]))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testUpdateSingleDeviceGraphics(self):
devXmls = (
'<graphics connected="disconnect" passwd="12345678"'
@@ -139,6 +146,7 @@
</devices>''' % device['device']
self._verifyDeviceUpdate(device, device, domXml, devXml)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testUpdateMultipleDeviceGraphics(self):
devXmls = (
'<graphics connected="disconnect" passwd="12345678"'
@@ -171,25 +179,30 @@
self.assertEquals(testvm._dom.devXml, devXml)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testDomainNotRunningWithoutDomain(self):
with fake.VM() as testvm:
self.assertFalse(testvm._isDomainRunning())
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testDomainNotRunningByState(self):
with fake.VM() as testvm:
testvm._dom = fake.Domain(domState=libvirt.VIR_DOMAIN_SHUTDOWN)
self.assertFalse(testvm._isDomainRunning())
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testDomainIsRunning(self):
with fake.VM() as testvm:
testvm._dom = fake.Domain(domState=libvirt.VIR_DOMAIN_RUNNING)
self.assertTrue(testvm._isDomainRunning())
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testDomainIsReadyForCommands(self):
with fake.VM() as testvm:
testvm._dom = fake.Domain()
self.assertTrue(testvm.isDomainReadyForCommands())
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testDomainDisappearedNotReadyForCommands(self):
def _fail(*args):
raise_libvirt_error(libvirt.VIR_ERR_NO_DOMAIN,
@@ -201,10 +214,12 @@
testvm._dom = dom
self.assertFalse(testvm.isDomainReadyForCommands())
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testDomainNoneNotReadyForCommands(self):
with fake.VM() as testvm:
self.assertFalse(testvm.isDomainReadyForCommands())
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testReadyForCommandsRaisesLibvirtError(self):
def _fail(*args):
# anything != NO_DOMAIN is good
@@ -218,11 +233,13 @@
self.assertRaises(libvirt.libvirtError,
testvm.isDomainReadyForCommands)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testReadPauseCodeDomainRunning(self):
with fake.VM() as testvm:
testvm._dom = fake.Domain(domState=libvirt.VIR_DOMAIN_RUNNING)
self.assertEqual(testvm._readPauseCode(), 'NOERR')
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testReadPauseCodeDomainPausedCrash(self):
# REQUIRED_FOR: el6
if not hasattr(libvirt, 'VIR_DOMAIN_PAUSED_CRASHED'):
@@ -236,6 +253,7 @@
testvm._dom = dom
self.assertNotEqual(testvm._readPauseCode(), 'ENOSPC')
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testReadPauseCodeDomainPausedENOSPC(self):
with fake.VM() as testvm:
dom = fake.Domain(domState=libvirt.VIR_DOMAIN_PAUSED,
@@ -245,6 +263,7 @@
testvm._dom = dom
self.assertEqual(testvm._readPauseCode(), 'ENOSPC')
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testReadPauseCodeDomainPausedEIO(self):
with fake.VM() as testvm:
dom = fake.Domain(domState=libvirt.VIR_DOMAIN_PAUSED,
@@ -254,6 +273,7 @@
testvm._dom = dom
self.assertEqual(testvm._readPauseCode(), 'EOTHER')
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@permutations([[1000, 24], [900, 0], [1200, -128]])
def testSetCpuTuneQuote(self, quota, offset):
with fake.VM() as testvm:
@@ -265,6 +285,7 @@
self.assertEqual(quota + offset,
testvm._vcpuTuneInfo['vcpu_quota'])
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@permutations([[100000, 128], [150000, 0], [9999, -99]])
def testSetCpuTunePeriod(self, period, offset):
with fake.VM() as testvm:
@@ -274,6 +295,7 @@
self.assertEqual(period + offset,
testvm._vcpuTuneInfo['vcpu_period'])
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@brokentest("sometimes on CI tries to connect to libvirt")
@permutations([[libvirt.VIR_ERR_OPERATION_DENIED, 'setNumberOfCpusErr',
'Failed to set the number of cpus'],
@@ -294,6 +316,7 @@
self.assertEqual(res, response.error(vdsm_error))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testUpdateDeviceGraphicsFailed(self):
with fake.VM(devices=self.GRAPHIC_DEVICES) as testvm:
message = 'fake timeout while setting ticket'
@@ -315,21 +338,25 @@
self.assertEqual(res,
response.error('ticketErr', message))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testAcpiShutdownDisconnected(self):
with fake.VM() as testvm:
testvm._dom = virdomain.Disconnected(vmid='testvm')
self.assertTrue(response.is_error(testvm.acpiShutdown()))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testAcpiShutdownConnected(self):
with fake.VM() as testvm:
testvm._dom = fake.Domain(vmId='testvm')
self.assertFalse(response.is_error(testvm.acpiShutdown()))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testAcpiRebootDisconnected(self):
with fake.VM() as testvm:
testvm._dom = virdomain.Disconnected(vmid='testvm')
self.assertTrue(response.is_error(testvm.acpiReboot()))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testAcpiRebootConnected(self):
with fake.VM() as testvm:
testvm._dom = fake.Domain(vmId='testvm')
diff --git a/tests/vmTests.py b/tests/vmTests.py
index fd381bc..0c7abb1 100644
--- a/tests/vmTests.py
+++ b/tests/vmTests.py
@@ -501,17 +501,20 @@
def testBuildCmdLinePPC64(self):
self.assertBuildCmdLine(CONF_TO_DOMXML_PPC64)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGetVmPolicySucceded(self):
with fake.VM() as testvm:
testvm._dom = fake.Domain()
self.assertXMLEqual(testvm._getVmPolicy().toxml(), '<qos/>')
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGetVmPolicyEmptyOnNoMetadata(self):
with fake.VM() as testvm:
testvm._dom = fake.Domain(
virtError=libvirt.VIR_ERR_NO_DOMAIN_METADATA)
self.assertXMLEqual(testvm._getVmPolicy().toxml(), '<qos/>')
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGetVmPolicyFailOnNoDomain(self):
with fake.VM() as testvm:
testvm._dom = fake.Domain(virtError=libvirt.VIR_ERR_NO_DOMAIN)
@@ -520,6 +523,7 @@
def _xml_sanitizer(self, text):
return re.sub(">[\t\n ]+<", "><", text).strip()
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testUpdateVmPolicy(self):
with fake.VM() as machine:
dom = fake.Domain()
@@ -604,6 +608,7 @@
self.assertEqual(expected_xml, self._xml_sanitizer(dom._metadata))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testCpuTune(self):
LIMIT = 50
with fake.VM(_VM_PARAMS) as machine:
@@ -615,6 +620,7 @@
stats = machine.getStats()
self.assertEqual(stats['vcpuUserLimit'], LIMIT)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testIoTuneParser(self):
with fake.VM() as machine:
dom = fake.Domain()
@@ -640,6 +646,7 @@
self.assertEqual(ioTuneValues, parsed)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testIoTuneMerge(self):
with fake.VM() as machine:
dom = fake.Domain()
@@ -692,6 +699,7 @@
self.assertEqual(ioTuneMerged, ioTuneExpectedValues)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testUpdateExistingVmPolicy(self):
with fake.VM() as machine:
dom = fake.Domain()
@@ -800,6 +808,7 @@
self.assertEqual(expected_xml, self._xml_sanitizer(dom._metadata))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGetIoTune(self):
with fake.VM() as machine:
dom = fake.Domain()
@@ -835,6 +844,7 @@
]
self.assertEqual(tunables, expected)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testSetIoTune(self):
drives = [
@@ -905,6 +915,7 @@
self.assertEqual(self._xml_sanitizer(drives[0]._deviceXML),
self._xml_sanitizer(expected_xml))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testSdIds(self):
"""
Tests that VM storage domains in use list is in sync with the vm
@@ -956,12 +967,14 @@
self.assertEqual(machine.sdIds, set([domainID]))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testVmGuestSocketFile(self):
with fake.VM(self.conf) as testvm:
self.assertEqual(
testvm._guestSocketFile,
testvm._makeChannelPath(vm._VMCHANNEL_DEVICE_NAME))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def test_spice_restore_set_passwd(self):
# stolen from VDSM logs
conf = {
@@ -992,6 +1005,7 @@
@expandPermutations
class TestVmExit(TestCaseBase):
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@permutations(VM_EXITS)
def testExitReason(self, exitCode, exitReason):
"""
@@ -1006,6 +1020,7 @@
self.assertEqual(stats['exitMessage'],
vmexitreason.exitReasons.get(exitReason))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@permutations(VM_EXITS)
def testExitReasonExplicitMessage(self, exitCode, exitReason):
"""
@@ -1030,6 +1045,7 @@
DEV_BALLOON = [{'type': 'balloon', 'specParams': {'model': 'virtio'}}]
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGetNicStats(self):
GBPS = 10 ** 9 / 8
MAC = '52:54:00:59:F5:3F'
@@ -1071,6 +1087,7 @@
'rx': '0', 'tx': '625000000',
})
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testMultipleGraphicDeviceStats(self):
devices = [{'type': 'graphics', 'device': 'spice', 'port': '-1'},
{'type': 'graphics', 'device': 'vnc', 'port': '-1'}]
@@ -1086,6 +1103,7 @@
self.assertIn(statsDev['type'], confDev['device'])
self.assertIn('port', statsDev)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testDiskMappingHashInStatsHash(self):
with fake.VM(_VM_PARAMS) as testvm:
res = testvm.getStats()
@@ -1093,6 +1111,7 @@
self.assertNotEquals(res['hash'],
testvm.getStats()['hash'])
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@MonkeyPatch(vm, 'config',
make_config([('vars', 'vm_command_timeout', '10')]))
def testMonitorTimeoutResponsive(self):
@@ -1102,6 +1121,7 @@
testvm._setUnresponsiveIfTimeout(stats, 1) # any value < timeout
self.assertEqual(stats['monitorResponse'], '0')
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@MonkeyPatch(vm, 'config',
make_config([('vars', 'vm_command_timeout', '1')]))
def testMonitorTimeoutUnresponsive(self):
@@ -1112,6 +1132,7 @@
testvm._setUnresponsiveIfTimeout(stats, 10) # any value > timeout
self.assertEqual(stats['monitorResponse'], '-1')
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@MonkeyPatch(vm, 'config',
make_config([('vars', 'vm_command_timeout', '10')]))
def testMonitorTimeoutOnAlreadyUnresponsive(self):
@@ -1126,6 +1147,7 @@
class TestLibVirtCallbacks(TestCaseBase):
FAKE_ERROR = 'EFAKERROR'
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def test_onIOErrorPause(self):
with fake.VM(_VM_PARAMS, runCpu=True) as testvm:
self.assertTrue(testvm._guestCpuRunning)
@@ -1134,6 +1156,7 @@
self.assertFalse(testvm._guestCpuRunning)
self.assertEqual(testvm.conf.get('pauseCode'), self.FAKE_ERROR)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def test_onIOErrorReport(self):
with fake.VM(_VM_PARAMS, runCpu=True) as testvm:
self.assertTrue(testvm._guestCpuRunning)
@@ -1142,6 +1165,7 @@
self.assertTrue(testvm._guestCpuRunning)
self.assertNotEquals(testvm.conf.get('pauseCode'), self.FAKE_ERROR)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def test_onIOErrorNotSupported(self):
"""action not explicitely handled, must be skipped"""
with fake.VM(_VM_PARAMS, runCpu=True) as testvm:
@@ -1189,18 +1213,21 @@
lambda: self._getAllDomains('novdsm'))]):
self.assertFalse(vm.getVDSMDomains())
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGetPidNoFile(self):
with MonkeyPatchScope([(vm, 'supervdsm',
fake.SuperVdsm(exception=IOError))]):
with fake.VM() as testvm:
self.assertRaises(IOError, testvm._getPid)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGetPidBadFile(self):
with MonkeyPatchScope([(vm, 'supervdsm',
fake.SuperVdsm(exception=ValueError))]):
with fake.VM() as testvm:
self.assertRaises(ValueError, testvm._getPid)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@permutations([[-1], [0]])
def testGetPidBadFileContent(self, pid):
with MonkeyPatchScope([(vm, 'supervdsm',
@@ -1208,6 +1235,7 @@
with fake.VM() as testvm:
self.assertRaises(ValueError, testvm._getPid)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testGetPidSuccess(self):
pid = 42
with MonkeyPatchScope([(vm, 'supervdsm',
@@ -1256,6 +1284,7 @@
self.assertEqual(res['status']['code'],
define.errCode[specificErr]['status']['code'])
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testSucceed(self):
with fake.VM() as testvm:
testvm._dom = fake.Domain()
@@ -1265,14 +1294,17 @@
self.assertEqual(testvm._dom.__recording__,
[('setMemory', (target,), {})])
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testVmWithoutDom(self):
with fake.VM() as testvm:
self.assertAPIFailed(testvm.setBalloonTarget(128))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testTargetValueNotInteger(self):
with fake.VM() as testvm:
self.assertAPIFailed(testvm.setBalloonTarget('foobar'))
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testLibvirtFailure(self):
with fake.VM() as testvm:
testvm._dom = fake.Domain(virtError=libvirt.VIR_ERR_INTERNAL_ERROR)
@@ -1282,19 +1314,23 @@
@expandPermutations
class TestVmSanity(TestCaseBase):
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testSmpPresentIfNotSpecified(self):
with fake.VM() as testvm:
self.assertEqual(int(testvm.conf['smp']), 1)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
@permutations([[1], [2], [4]])
def testSmpByParameters(self, cpus):
with fake.VM({'smp': cpus}) as testvm:
self.assertEqual(int(testvm.conf['smp']), cpus)
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testVmNameDefault(self):
with fake.VM(_VM_PARAMS) as testvm:
self.assertIn('vmName', testvm.getStats())
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def testVmNameExplicit(self):
NAME = 'not the default VM name'
params = {'vmName': NAME}
@@ -1305,6 +1341,7 @@
class ChangeBlockDevTests(TestCaseBase):
+ @MonkeyPatch(caps, 'getTargetArch', lambda: caps.Architecture.X86_64)
def test_change_cd_failure(self):
cif = fake.ClientIF()
with MonkeyPatchScope([(cif, 'prepareVolumePath',
--
To view, visit https://gerrit.ovirt.org/47577
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1dc65dfb15680ad018f83c2d51a6d1f09844aea2
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Yaniv Bronhaim <ybronhei at redhat.com>
More information about the vdsm-patches
mailing list