[Libvirt-cim] [PATCH 3 of 3] [TEST] #2 Add test report generation

Guo Lian Yun yunguol at cn.ibm.com
Tue Aug 12 10:38:36 UTC 2008


Kaitlin,

I applied the patch on my own repository. Here is the test result:

=================================================
KVM on Pegasus Test Run Summary for Aug 12 2008
=================================================
Distro: Fedora release 8.93 (Rawhide)
Kernel: 2.6.26-rc2-mm1-netns
libvirt: 0.4.4
Hypervisor: QEMU 0.9.1
CIMOM: Pegasus 2.7.0
Libvirt-cim revision: 661
Libvirt-cim changeset: 98bc98880149
=================================================
 FAIL:           0
 XFAIL:          1
 SKIP:           1
 PASS:           1
 -----------------
 Total:          3
=================================================
XFAIL Test Summary:
ComputerSystem - 01_enum.py: PASSComputerSystem - 02_nosystems.py: 
SKIPComputerSystem - 03_defineVS.py: PASSComputerSystem - 
04_defineStartVS.py: PASSComputerSystem - 05_activate_defined_start.py: 
PASSComputerSystem - 06_paused_active_suspend.py: PASSComputerSystem - 
22_define_suspend.py: PASSComputerSystem - 23_suspend_suspend.py: 
PASSComputerSystem - 27_define_suspend_errs.py: PASSComputerSystem - 
32_start_reboot.py: XFAILComputerSystem - 33_suspend_reboot.py: 
XFAILComputerSystem - 35_start_reset.py: PASSComputerSystem - 
40_RSC_start.py: PASSComputerSystem - 41_cs_to_settingdefinestate.py: 
SKIPComputerSystem - 42_cs_gi_errs.py: PASS

=================================================
SKIP Test Summary:
ComputerSystem - 01_enum.py: PASSComputerSystem - 02_nosystems.py: 
SKIPComputerSystem - 03_defineVS.py: PASSComputerSystem - 
04_defineStartVS.py: PASSComputerSystem - 05_activate_defined_start.py: 
PASSComputerSystem - 06_paused_active_suspend.py: PASSComputerSystem - 
22_define_suspend.py: PASSComputerSystem - 23_suspend_suspend.py: 
PASSComputerSystem - 27_define_suspend_errs.py: PASSComputerSystem - 
32_start_reboot.py: XFAILComputerSystem - 33_suspend_reboot.py: 
XFAILComputerSystem - 35_start_reset.py: PASSComputerSystem - 
40_RSC_start.py: PASSComputerSystem - 41_cs_to_settingdefinestate.py: 
SKIPComputerSystem - 42_cs_gi_errs.py: PASS

=================================================
Full report:
ComputerSystem - 01_enum.py: PASSComputerSystem - 02_nosystems.py: 
SKIPComputerSystem - 03_defineVS.py: PASSComputerSystem - 
04_defineStartVS.py: PASSComputerSystem - 05_activate_defined_start.py: 
PASSComputerSystem - 06_paused_active_suspend.py: PASSComputerSystem - 
22_define_suspend.py: PASSComputerSystem - 23_suspend_suspend.py: 
PASSComputerSystem - 27_define_suspend_errs.py: PASSComputerSystem - 
32_start_reboot.py: XFAILComputerSystem - 33_suspend_reboot.py: 
XFAILComputerSystem - 35_start_reset.py: PASSComputerSystem - 
40_RSC_start.py: PASSComputerSystem - 41_cs_to_settingdefinestate.py: 
SKIPComputerSystem - 42_cs_gi_errs.py: PASS

1) Would you please to fix the whitespace for XFAIL and Total summary?
2) The count numbers are not correct, actually there are total 15 tests, 2 
skip, 2 XFAIL and 11 pass for me.
3) I think it's better to change to a newline for each test case in the 
Test Summary and Full report.
4) The test summary isn't correct in XFAIL/SKIP status.

Thanks!


Best,
Regards

Daisy (运国莲)
VSM Team, China Systems & Technology Labs (CSTL)
E-mail: yunguol at cn.ibm.com
TEL: (86)-21-60922403
Building 10, 399 Ke Yuan Rd, Pudong Shanghai, 201203


libvirt-cim-bounces at redhat.com wrote on 2008-08-12 00:21:16:

> # HG changeset patch
> # User Kaitlin Rupert <karupert at us.ibm.com>
> # Date 1218470745 25200
> # Node ID d1e8325893b3e68e12b1725e350314aeaf6d2be1
> # Parent  a5111986921da879e2dcc57a1529c7f4d902aebf
> [TEST] #2 Add test report generation.
> 
> Using the --report option, you can generate a report and have it 
> mailed to the address supplied.
> 
> How to call using the report option:
> 
> ./runtests libvirt-cim -i localhost -c -d -v LXC -g 
> VirtualSystemManagementService -t 01_definesystem_name.py --report 
> <my_to_addr at test.com>
> 
> The user will need to create a .cimtestrc file in their home 
> directory in the following format:
> 
> [email]
> relay = my.mail.relay.com
> from = Joe User <joe at test.com>
> 
> Will need to add revision number support to cimtest and then add the
> cimtest revision number to the report.
> 
> Updates:
>   -Refactored reporting related pieces into their own library file
> 
> Signed-off-by: Kaitlin Rupert <karupert at us.ibm.com>
> 
> diff -r a5111986921d -r d1e8325893b3 suites/libvirt-cim/main.py
> --- a/suites/libvirt-cim/main.py   Mon Aug 11 09:05:37 2008 -0700
> +++ b/suites/libvirt-cim/main.py   Mon Aug 11 09:05:45 2008 -0700
> @@ -29,12 +29,13 @@
>  sys.path.append('../../lib')
>  import TestSuite
>  import commands
> -from VirtLib import utils
>  from VirtLib import groups
>  from CimTest.ReturnCodes import PASS, SKIP, XFAIL
>  from CimTest.Globals import platform_sup
>  sys.path.append('./lib')
>  from XenKvmLib.classes import get_typed_class
> +import ConfigParser
> +from XenKvmLib.reporting import gen_report, send_report 
> 
>  parser = OptionParser()
>  parser.add_option("-i", "--ip", dest="ip", default="localhost",
> @@ -54,8 +55,11 @@
>                    help="Virt type, select from 'Xen' & 'KVM' & 
> 'XenFV' & 'LXC'(default: Xen). ")
>  parser.add_option("-d", "--debug-output", action="store_true", 
dest="debug",
>                    help="Duplicate the output to stderr")
> +parser.add_option("--report", dest="report",
> +                  help="Send report using mail info: --
> report=<recipient addr>")
> 
>  TEST_SUITE = 'cimtest'
> +CIMTEST_RCFILE = '%s/.cimtestrc' % os.environ['HOME']
> 
>  def set_python_path():
>      previous_pypath = os.environ.get('PYTHONPATH')
> @@ -82,6 +86,28 @@
> 
>      print "Cleaned log files."
> 
> +def get_rcfile_vals():
> +    if not os.access(CIMTEST_RCFILE, os.R_OK):
> +        print "\nCould not access the %s file for this user." % 
> CIMTEST_RCFILE
> +        print "Create this file and add the appropriate relay:"
> +        print "\tfrom = me at isp.com\n\trelay = my.relay\n"
> +        return None, None
> +
> +    try:
> +        conf = ConfigParser.ConfigParser()
> +        if not conf.read(CIMTEST_RCFILE):
> +            return None, None
> +
> +        addr = conf.get("email", "from")
> +        relay = conf.get("email", "relay")
> +
> +    except Exception, details:
> +        print "\n%s" % details 
> +        print "\nPlease verify the format of the %s file\n" % 
CIMTEST_RCFILE 
> +        return None, None
> +
> +    return addr, relay
> +
>  def get_version(virt, ip):
>      conn = WBEMConnection('http://%s' % ip, 
>                            (os.getenv('CIM_USER'), 
os.getenv('CIM_PASS')),
> @@ -101,7 +127,10 @@
> 
>  def main():
>      (options, args) = parser.parse_args()
> -
> +    to_addr = None
> +    from_addr = None
> +    relay = None
> +    div = 
> "--------------------------------------------------------------------"
> 
>      if options.test and not options.group:
>          parser.print_help()
> @@ -114,7 +143,15 @@
>          os.environ['CIMOM_PORT'] = str(options.port)
>      #
> 
> -    testsuite = TestSuite.TestSuite()
> +    if options.report:
> +        from_addr, relay = get_rcfile_vals()
> +
> +        if from_addr == None or relay == None:
> +            return 1
> + 
> +        to_addr = options.report
> +
> +    testsuite = TestSuite.TestSuite(log=True)
> 
>      set_python_path()
> 
> @@ -139,9 +176,10 @@
> 
>      revision, changeset = get_version(options.virt, options.ip)
> 
> -    print "Testing " + options.virt + " hypervisor"
> +    print "\nTesting " + options.virt + " hypervisor"
> 
> -    for test in test_list:
> +    for test in test_list: 
> +        testsuite.debug(div) 
>          t_path = os.path.join(TEST_SUITE, test['group'])
>          os.environ['CIM_TC'] = test['test'] 
>          cdto = 'cd %s' % t_path
> @@ -155,7 +193,16 @@
> 
>          testsuite.print_results(test['group'], test['test'], os_status)
> 
> +    testsuite.debug("%s\n" % div) 
>      testsuite.finish()
> +
> +    msg_body, heading = gen_report(revision, changeset, options.virt,
> +                                   options.ip, testsuite.log_file)
> +
> +    if options.report:
> +        print "Sending mail from %s to %s using %s relay.\n" % \
> +              (from_addr, to_addr, relay)
> +        send_report(to_addr, from_addr, relay, msg_body, heading)
> 
>  if __name__ == '__main__':
>      sys.exit(main())
> 
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-cim/attachments/20080812/74ba3812/attachment.htm>


More information about the Libvirt-cim mailing list