<html><body>
<p><tt>libvirt-cim-bounces@redhat.com wrote on 2008-04-21 16:52:39:<br>
<br>
> # HG changeset patch<br>
> # User Guolian Yun <yunguol@cn.ibm.com><br>
> # Date 1208767952 -28800<br>
> # Node ID 36ef9e7fdfc53a20e5a248257b57723ab8ae85dc<br>
> # Parent 0d31dff13ae341fd6515dc844ee98c7b5300b71d<br>
> [TEST] Update ComputerSystemIndication.01 for all three of lifecycle<br>
> indications support<br>
> <br>
> Signed-off-by: Guolian Yun <yunguol@cn.ibm.com><br>
> <br>
> diff -r 0d31dff13ae3 -r 36ef9e7fdfc5 suites/libvirt-<br>
> cim/cimtest/ComputerSystemIndication/01_created_indication.py<br>
> --- a/suites/libvirt-<br>
> cim/cimtest/ComputerSystemIndication/01_created_indication.py Fri <br>
> Apr 18 17:00:16 2008 +0800<br>
> +++ b/suites/libvirt-<br>
> cim/cimtest/ComputerSystemIndication/01_created_indication.py Mon <br>
> Apr 21 16:52:32 2008 +0800<br>
> @@ -28,14 +28,16 @@<br>
> from CimTest.Globals import do_main<br>
> from CimTest.ReturnCodes import PASS, FAIL<br>
> from XenKvmLib.common_util import create_using_definesystem <br>
> -from XenKvmLib.test_doms import undefine_test_domain<br>
> from XenKvmLib.classes import get_typed_class<br>
> +from XenKvmLib import vsms<br>
> +from XenKvmLib import vxml<br>
> from XenKvmLib.indication_tester import CIMIndicationSubscription<br>
> from XenKvmLib.vxml import set_default<br>
> <br>
> SUPPORTED_TYPES = ['Xen', 'XenFV', 'KVM']<br>
> <br>
> test_dom = "domU"<br>
> +nmem = 64<br>
> <br>
> @do_main(SUPPORTED_TYPES)<br>
> def main():<br>
> @@ -44,8 +46,13 @@<br>
> status = FAIL<br>
> <br>
> dict = set_default(options.ip)<br>
> - indication_name = get_typed_class(options.virt, <br>
> 'ComputerSystemCreatedIndication')<br>
> - <br>
> +<br>
> + created_indication = get_typed_class(options.virt, <br>
> 'ComputerSystemCreatedIndication')<br>
> + modified_indication = get_typed_class(options.virt, <br>
> 'ComputerSystemModifiedIndication')<br>
> + deleted_indication = get_typed_class(options.virt, <br>
> 'ComputerSystemDeletedIndication')<br>
> + indication_list = [created_indication, modified_indication, <br>
> deleted_indication]<br>
> +<br>
> + indication_name = "CIM_Indication"<br>
> sub = CIMIndicationSubscription(dict['default_name'], <br>
> indication_name, dict['default_ns'],<br>
> dict['default_print_ind'], <br>
> dict['default_sysname'])<br>
> sub.subscribe(dict['default_url'], dict['default_auth'])<br>
> @@ -55,16 +62,36 @@<br>
> pid = os.fork()<br>
> if pid == 0:<br>
> sub.server.handle_request() <br>
> - if len(sub.server.indications) == 0:<br>
> + if len(sub.server.indications) != 3: <br>
> logger.error("No valid indications received")<br>
> sys.exit(1)<br>
> - elif str(sub.server.indications[0]) != indication_name:<br>
> - logger.error("Received indication %s instead of %s"<br>
> % (indication_name, str(sub.server.indications[0])))<br>
> - sys.exit(2)<br>
> + elif len(sub.server.indications) == 3:<br>
> + for i in range(0, 3): <br>
> + if str(sub.server.indications[i]) not in indication_list:<br>
> + logger.error("Received indication %s <br>
> instead of %s" % (indication_name, str(sub.server.indications[i])))<br>
> + sys.exit(2)<br>
> else:<br>
> sys.exit(0)<br>
> else:<br>
> + # Create domain<br>
> create_using_definesystem(test_dom, options.ip, None, <br>
> None, options.virt)<br>
> + time.sleep(10)<br>
> +<br>
> + # Modify mem settings<br>
> + service = vsms.get_vsms_class(options.virt)(options.ip)<br>
> + cxml = vxml.get_class(options.virt)(test_dom)<br>
> + masd = vsms.get_masd_class(options.virt)<br>
> (megabytes=nmem, name=test_dom)<br>
> + service.ModifyResourceSettings(ResourceSettings=[str(masd)])<br>
> + cxml.dumpxml(options.ip)<br>
> + mem = cxml.xml_get_mem()<br>
> + if mem != '%i' % (nmem * 1024):<br>
> + logger.error('Error changing rs for mem')<br>
> + time.sleep(10)<br>
> +<br>
> + # Delete domain<br>
> + cxml.destroy(options.ip)<br>
> + cxml.undefine(options.ip) <br>
> + <br>
> for i in range(0,100):<br>
> pw = os.waitpid(pid, os.WNOHANG)[1]<br>
> if pw == 0:<br>
> @@ -84,7 +111,6 @@<br>
> sub.unsubscribe(dict['default_auth'])<br>
> logger.info("Cancelling subscription for %s" % indication_name)<br>
> os.kill(pid, signal.SIGKILL)<br>
> - undefine_test_domain(test_dom, options.ip, options.virt)<br>
> <br>
> return status</tt><br>
<br>
<tt> Any comments?<br>
> <br>
> <br>
> _______________________________________________<br>
> Libvirt-cim mailing list<br>
> Libvirt-cim@redhat.com<br>
> <a href="https://www.redhat.com/mailman/listinfo/libvirt-cim">https://www.redhat.com/mailman/listinfo/libvirt-cim</a><br>
</tt></body></html>