<br><tt><font size=2>Kaitlin,</font></tt>
<br>
<br><tt><font size=2>I applied the patch on my own repository. Here is
the test result:</font></tt>
<br>
<br><tt><font size=2>=================================================<br>
KVM on Pegasus Test Run Summary for Aug 12 2008<br>
=================================================<br>
Distro: Fedora release 8.93 (Rawhide)<br>
Kernel: 2.6.26-rc2-mm1-netns<br>
libvirt: 0.4.4<br>
Hypervisor: QEMU 0.9.1<br>
CIMOM: Pegasus 2.7.0<br>
Libvirt-cim revision: 661<br>
Libvirt-cim changeset: 98bc98880149<br>
=================================================<br>
 FAIL:                
0<br>
 XFAIL:                
1<br>
 SKIP:                
1<br>
 PASS:                
1<br>
 -----------------<br>
 Total:                
3<br>
=================================================<br>
XFAIL Test Summary:<br>
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<br>
<br>
=================================================<br>
SKIP Test Summary:<br>
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<br>
<br>
=================================================<br>
Full report:<br>
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</font></tt>
<br>
<br><font size=2 face="sans-serif">1) Would you please to fix the whitespace
for XFAIL and Total summary?</font>
<br><font size=2 face="sans-serif">2) The count numbers are not correct,
actually there are total 15 tests, 2 skip, 2 XFAIL and 11 pass for me.</font>
<br><font size=2 face="sans-serif">3) I think it's better to change to
a newline for each test case in the Test Summary and Full report.</font>
<br><font size=2 face="sans-serif">4) The test summary isn't correct in
XFAIL/SKIP status.</font>
<br>
<br><font size=2 face="sans-serif">Thanks!</font>
<br>
<br>
<br><font size=2 face="sans-serif">Best,<br>
Regards<br>
<br>
Daisy (Ô˹úÁ«)<br>
VSM Team, China Systems & Technology Labs (CSTL)<br>
E-mail: yunguol@cn.ibm.com<br>
TEL: (86)-21-60922403<br>
Building 10, 399 Ke Yuan Rd, Pudong Shanghai, 201203<br>
</font>
<br>
<br><tt><font size=2>libvirt-cim-bounces@redhat.com wrote on 2008-08-12
00:21:16:<br>
<br>
> # HG changeset patch<br>
> # User Kaitlin Rupert <karupert@us.ibm.com><br>
> # Date 1218470745 25200<br>
> # Node ID d1e8325893b3e68e12b1725e350314aeaf6d2be1<br>
> # Parent  a5111986921da879e2dcc57a1529c7f4d902aebf<br>
> [TEST] #2 Add test report generation.<br>
> <br>
> Using the --report option, you can generate a report and have it <br>
> mailed to the address supplied.<br>
> <br>
> How to call using the report option:<br>
> <br>
> ./runtests libvirt-cim -i localhost -c -d -v LXC -g <br>
> VirtualSystemManagementService -t 01_definesystem_name.py --report
<br>
> <my_to_addr@test.com><br>
> <br>
> The user will need to create a .cimtestrc file in their home <br>
> directory in the following format:<br>
> <br>
> [email]<br>
> relay = my.mail.relay.com<br>
> from = Joe User <joe@test.com><br>
> <br>
> Will need to add revision number support to cimtest and then add the<br>
> cimtest revision number to the report.<br>
> <br>
> Updates:<br>
>   -Refactored reporting related pieces into their own library
file<br>
> <br>
> Signed-off-by: Kaitlin Rupert <karupert@us.ibm.com><br>
> <br>
> diff -r a5111986921d -r d1e8325893b3 suites/libvirt-cim/main.py<br>
> --- a/suites/libvirt-cim/main.py   Mon Aug 11 09:05:37 2008 -0700<br>
> +++ b/suites/libvirt-cim/main.py   Mon Aug 11 09:05:45 2008 -0700<br>
> @@ -29,12 +29,13 @@<br>
>  sys.path.append('../../lib')<br>
>  import TestSuite<br>
>  import commands<br>
> -from VirtLib import utils<br>
>  from VirtLib import groups<br>
>  from CimTest.ReturnCodes import PASS, SKIP, XFAIL<br>
>  from CimTest.Globals import platform_sup<br>
>  sys.path.append('./lib')<br>
>  from XenKvmLib.classes import get_typed_class<br>
> +import ConfigParser<br>
> +from XenKvmLib.reporting import gen_report, send_report <br>
>  <br>
>  parser = OptionParser()<br>
>  parser.add_option("-i", "--ip", dest="ip",
default="localhost",<br>
> @@ -54,8 +55,11 @@<br>
>                    help="Virt
type, select from 'Xen' & 'KVM' & <br>
> 'XenFV' & 'LXC'(default: Xen). ")<br>
>  parser.add_option("-d", "--debug-output",
action="store_true", dest="debug",<br>
>                    help="Duplicate
the output to stderr")<br>
> +parser.add_option("--report", dest="report",<br>
> +                  help="Send
report using mail info: --<br>
> report=<recipient addr>")<br>
>  <br>
>  TEST_SUITE = 'cimtest'<br>
> +CIMTEST_RCFILE = '%s/.cimtestrc' % os.environ['HOME']<br>
>  <br>
>  def set_python_path():<br>
>      previous_pypath = os.environ.get('PYTHONPATH')<br>
> @@ -82,6 +86,28 @@<br>
>  <br>
>      print "Cleaned log files."<br>
>  <br>
> +def get_rcfile_vals():<br>
> +    if not os.access(CIMTEST_RCFILE, os.R_OK):<br>
> +        print "\nCould not access the %s
file for this user." % <br>
> CIMTEST_RCFILE<br>
> +        print "Create this file and add
the appropriate relay:"<br>
> +        print "\tfrom = me@isp.com\n\trelay
= my.relay\n"<br>
> +        return None, None<br>
> +<br>
> +    try:<br>
> +        conf = ConfigParser.ConfigParser()<br>
> +        if not conf.read(CIMTEST_RCFILE):<br>
> +            return None, None<br>
> +<br>
> +        addr = conf.get("email", "from")<br>
> +        relay = conf.get("email", "relay")<br>
> +<br>
> +    except Exception, details:<br>
> +        print "\n%s" % details <br>
> +        print "\nPlease verify the format
of the %s file\n" % CIMTEST_RCFILE <br>
> +        return None, None<br>
> +<br>
> +    return addr, relay<br>
> +<br>
>  def get_version(virt, ip):<br>
>      conn = WBEMConnection('http://%s' % ip, <br>
>                    
       (os.getenv('CIM_USER'), os.getenv('CIM_PASS')),<br>
> @@ -101,7 +127,10 @@<br>
>  <br>
>  def main():<br>
>      (options, args) = parser.parse_args()<br>
> -<br>
> +    to_addr = None<br>
> +    from_addr = None<br>
> +    relay = None<br>
> +    div = <br>
> "--------------------------------------------------------------------"<br>
>  <br>
>      if options.test and not options.group:<br>
>          parser.print_help()<br>
> @@ -114,7 +143,15 @@<br>
>          os.environ['CIMOM_PORT'] = str(options.port)<br>
>      #<br>
>  <br>
> -    testsuite = TestSuite.TestSuite()<br>
> +    if options.report:<br>
> +        from_addr, relay = get_rcfile_vals()<br>
> +<br>
> +        if from_addr == None or relay == None:<br>
> +            return 1<br>
> +         <br>
> +        to_addr = options.report<br>
> +<br>
> +    testsuite = TestSuite.TestSuite(log=True)<br>
>     <br>
>      set_python_path()<br>
>  <br>
> @@ -139,9 +176,10 @@<br>
>  <br>
>      revision, changeset = get_version(options.virt,
options.ip)<br>
>  <br>
> -    print "Testing " + options.virt + "
hypervisor"<br>
> +    print "\nTesting " + options.virt + "
hypervisor"<br>
>  <br>
> -    for test in test_list:<br>
> +    for test in test_list: <br>
> +        testsuite.debug(div) <br>
>          t_path = os.path.join(TEST_SUITE,
test['group'])<br>
>          os.environ['CIM_TC'] = test['test']
<br>
>          cdto = 'cd %s' % t_path<br>
> @@ -155,7 +193,16 @@<br>
>  <br>
>          testsuite.print_results(test['group'],
test['test'], os_status)<br>
>  <br>
> +    testsuite.debug("%s\n" % div) <br>
>      testsuite.finish()<br>
> +<br>
> +    msg_body, heading = gen_report(revision, changeset,
options.virt,<br>
> +                    
              options.ip, testsuite.log_file)<br>
> +<br>
> +    if options.report:<br>
> +        print "Sending mail from %s to %s
using %s relay.\n" % \<br>
> +              (from_addr, to_addr,
relay)<br>
> +        send_report(to_addr, from_addr, relay,
msg_body, heading)<br>
>  <br>
>  if __name__ == '__main__':<br>
>      sys.exit(main())<br>
> <br>
> _______________________________________________<br>
> Libvirt-cim mailing list<br>
> Libvirt-cim@redhat.com<br>
> https://www.redhat.com/mailman/listinfo/libvirt-cim<br>
</font></tt>