From 61d0b64c6c2ca2eda3867c2ea32d406418e67dba Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Thu, 25 Oct 2007 09:22:28 +0100 Subject: xm-test: various fixes - recently I added an other_config field to the VTPM record which now needs to be accounted for otherwise the test determines a bad key - the dry-run command was throwing a different type of exception (ACMError) than what was caught (XSMError) - the tests based on the raw Xen-API need to build the PV_args parameters from the old 'root' and 'extra' parameters. Signed-off-by: Stefan Berger --- tools/xm-test/lib/XmTestLib/XenAPIDomain.py | 11 +++++++++-- tools/xm-test/tests/security-acm/08_security-acm_xapi.py | 5 ++++- tools/xm-test/tests/vtpm/09_vtpm-xapi.py | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) (limited to 'tools/xm-test') diff --git a/tools/xm-test/lib/XmTestLib/XenAPIDomain.py b/tools/xm-test/lib/XmTestLib/XenAPIDomain.py index 2c6ae016df..31b91eed68 100644 --- a/tools/xm-test/lib/XmTestLib/XenAPIDomain.py +++ b/tools/xm-test/lib/XmTestLib/XenAPIDomain.py @@ -38,7 +38,8 @@ class XenAPIConfig: 'memory_dynamic_max' ], 'kernel' : 'PV_kernel', 'ramdisk': 'PV_ramdisk', - 'root' : 'PV_args'} + 'root' : 'PV_args', + 'extra' : 'PV_args' } if isACMEnabled(): #A default so every VM can start with ACM enabled self.opts["security_label"] = "ACM:xm-test:red" @@ -47,6 +48,8 @@ class XenAPIConfig: """Set an option in the config""" if name == "memory": value <<= 20 + if name == "root": + value = "root=" + value if name in self.opttrlate.keys(): _name = self.opttrlate[name] else: @@ -56,7 +59,11 @@ class XenAPIConfig: for _n in _name: self.opts[_n] = value else: - self.opts[_name] = value + if not self.opts.get(_name) or \ + not _name in [ "PV_args" ]: + self.opts[_name] = value + else: + self.opts[_name] += " " + value def getOpt(self, name): """Return the value of a config option""" diff --git a/tools/xm-test/tests/security-acm/08_security-acm_xapi.py b/tools/xm-test/tests/security-acm/08_security-acm_xapi.py index 44e2fce008..469bf35a91 100644 --- a/tools/xm-test/tests/security-acm/08_security-acm_xapi.py +++ b/tools/xm-test/tests/security-acm/08_security-acm_xapi.py @@ -19,6 +19,9 @@ vm_label_green = xsconstants.ACM_POLICY_ID + ":xm-test:green" vdi_label_red = xsconstants.ACM_POLICY_ID + ":xm-test:red" vdi_label_green = xsconstants.ACM_POLICY_ID + ":xm-test:green" +vm_label_unlabeled = xsconstants.ACM_POLICY_ID + ":xm-test:" + \ + acmpolicy.ACM_LABEL_UNLABELED + vdi_file = "/dev/ram0" vdi_path = "phy:" + vdi_file @@ -105,7 +108,7 @@ if int(res) != 0: FAIL("Should be able to unlabel the domain while it's halted.") res = session.xenapi.VM.get_security_label(vm_uuid) -if res != "": +if res != vm_label_unlabeled: FAIL("Unexpected VM security label after removal: %s" % res) res = session.xenapi.VM.set_security_label(vm_uuid, vm_label_red, res) diff --git a/tools/xm-test/tests/vtpm/09_vtpm-xapi.py b/tools/xm-test/tests/vtpm/09_vtpm-xapi.py index 5c8fb11880..a1aa8b3c70 100644 --- a/tools/xm-test/tests/vtpm/09_vtpm-xapi.py +++ b/tools/xm-test/tests/vtpm/09_vtpm-xapi.py @@ -17,7 +17,7 @@ from vtpm_utils import * import commands import os -VTPM_RECORD_KEYS = [ 'backend', 'VM', 'uuid' ] +VTPM_RECORD_KEYS = [ 'backend', 'VM', 'uuid', 'other_config' ] try: # XmTestAPIDomain tries to establish a connection to XenD -- cgit v1.2.3