# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1185807796 -3600
# Node ID 55fb4c6e77021dfae37abe502f97524b32760cfd
# Parent 9cd309378326c6efe4ae8a1454faa730597d1560
[ACM] Some more fixes
- don't reload the policy if it has been loaded
- don't always load the policy in the test suite when the policy is
already loaded
- skip tests 07 and 09 when ACM is not enabled and xm is not using the
Xen-API
- fix a problem when trying to remove an invalid label
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx>
---
tools/python/xen/util/acmpolicy.py | 7 ++++---
tools/xm-test/lib/XmTestLib/acm.py | 4 ++++
tools/xm-test/tests/security-acm/07_security-acm_pol_update.py | 9 +++++++++
tools/xm-test/tests/security-acm/09_security-acm_pol_update.py | 9 +++++++++
4 files changed, 26 insertions(+), 3 deletions(-)
diff -r 9cd309378326 -r 55fb4c6e7702 tools/python/xen/util/acmpolicy.py
--- a/tools/python/xen/util/acmpolicy.py Mon Jul 30 11:28:16 2007 +0100
+++ b/tools/python/xen/util/acmpolicy.py Mon Jul 30 16:03:16 2007 +0100
@@ -818,12 +818,13 @@ class ACMPolicy(XSPolicy):
if successful,the policy's flags will indicate that the
policy is the one loaded into the hypervisor
"""
- (ret, output) = commands.getstatusoutput(
+ if not self.isloaded():
+ (ret, output) = commands.getstatusoutput(
security.xensec_tool +
" loadpolicy " +
self.get_filename(".bin"))
- if ret != 0:
- return -xsconstants.XSERR_POLICY_LOAD_FAILED
+ if ret != 0:
+ return -xsconstants.XSERR_POLICY_LOAD_FAILED
return xsconstants.XSERR_SUCCESS
def isloaded(self):
diff -r 9cd309378326 -r 55fb4c6e7702 tools/xm-test/lib/XmTestLib/acm.py
--- a/tools/xm-test/lib/XmTestLib/acm.py Mon Jul 30 11:28:16 2007 +0100
+++ b/tools/xm-test/lib/XmTestLib/acm.py Mon Jul 30 16:03:16 2007 +0100
@@ -67,6 +67,10 @@ def ACMLoadPolicy(policy='xm-test'):
if main.serverType == main.SERVER_XEN_API:
ACMLoadPolicy_XenAPI()
else:
+ cmd='xm dumppolicy | grep -E "^POLICY REFERENCE = ' + policy + '.$"'
+ s, o = traceCommand(cmd)
+ if o != "":
+ return
s, o = traceCommand("xm makepolicy %s" % (policy))
if s != 0:
FAIL("Need to be able to do 'xm makepolicy %s' but could not" %
diff -r 9cd309378326 -r 55fb4c6e7702
tools/xm-test/tests/security-acm/07_security-acm_pol_update.py
--- a/tools/xm-test/tests/security-acm/07_security-acm_pol_update.py Mon Jul
30 11:28:16 2007 +0100
+++ b/tools/xm-test/tests/security-acm/07_security-acm_pol_update.py Mon Jul
30 16:03:16 2007 +0100
@@ -12,10 +12,19 @@ from xen.util import acmpolicy, security
from xen.util import acmpolicy, security, xsconstants
from xen.util.acmpolicy import ACMPolicy
from xen.xend.XendDomain import DOM0_UUID
+from XmTestLib.acm import *
import commands
import os
import base64
+
+if not isACMEnabled():
+ SKIP("Not running this test since ACM not enabled.")
+
+try:
+ session = xapi.connect()
+except:
+ SKIP("Skipping this test since xm is not using the Xen-API.")
xm_test = {}
xm_test['policyname'] = "xm-test"
diff -r 9cd309378326 -r 55fb4c6e7702
tools/xm-test/tests/security-acm/09_security-acm_pol_update.py
--- a/tools/xm-test/tests/security-acm/09_security-acm_pol_update.py Mon Jul
30 11:28:16 2007 +0100
+++ b/tools/xm-test/tests/security-acm/09_security-acm_pol_update.py Mon Jul
30 16:03:16 2007 +0100
@@ -7,6 +7,7 @@
from XmTestLib import xapi
from XmTestLib.XenAPIDomain import XmTestAPIDomain
+from XmTestLib.acm import *
from XmTestLib import *
from xen.xend import XendAPIConstants
from xen.util import security, xsconstants
@@ -15,6 +16,14 @@ import base64
import base64
import struct
import time
+
+if not isACMEnabled():
+ SKIP("Not running this test since ACM not enabled.")
+
+try:
+ session = xapi.connect()
+except:
+ SKIP("Skipping this test since xm is not using the Xen-API.")
def typestoxml(types):
res = ""
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|