Deepti B. Kalakeri wrote:
# HG changeset patch
# User Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
# Date 1214925380 25200
# Node ID 16bbf4d2f48e04334471805a524cfb653a391dd8
# Parent cc7716fa4252235924577a0e9bb16c89fc55870b
[TEST] Fixing the 06_paused_active_suspend.py tc of ComputerSystem.
Sorry for the late review on this Deepti - there's a change that needs
to be done in the provider (see the "For pause, reboot, and enable add
support for guests in the NOSTATE state" thread).
1) Updated the tc to use the poll_for_state_change() function.
2) Included the get_state_values() functions that returns the enable_state, req_state
values.
3) Included the extra sleep bcs sometimes the provider is not
able to suspend the domain immediately even though the enable_state
is set to 2 and hence the tc was failing intermittently.
This sleep is not needed. A provider change is needed so that the
provider pauses the guest when the guest is in the "no sleep" state.
4) Removed cxml.undefine() call since it was not req.
5) Fixed Indentation.
Signed-off-by: Deepti B. Kalakeri <deeptik(a)linux.vnet.ibm.com>
~
diff -r cc7716fa4252 -r 16bbf4d2f48e
suites/libvirt-cim/cimtest/ComputerSystem/03_defineVS.py
--- a/suites/libvirt-cim/cimtest/ComputerSystem/03_defineVS.py Mon Jun 30 23:07:06 2008
-0700
+++ b/suites/libvirt-cim/cimtest/ComputerSystem/03_defineVS.py Tue Jul 01 08:16:20 2008
-0700
@@ -55,6 +55,7 @@ def main():
raise Exception('No cs instance returned')
for dom in cs:
if dom.Name == test_dom:
+ Globals.logger.error("Deepti %s", dom.Name)
I think this is an extraneous debug statement. =)
enabState = dom.EnabledState
status = PASS
break
diff -r cc7716fa4252 -r 16bbf4d2f48e
suites/libvirt-cim/cimtest/ComputerSystem/06_paused_active_suspend.py
-
except Exception, detail:
logger.error("Exception variable: %s" % detail)
return status
+
+ status = poll_for_state_change(server, virt, test_dom,
+ START_STATE)
+ from_State, req_state = get_state_values(server, virt)
Instead of getting the CS instance again in get_state_values(), what do
you think about modifying poll_for_state() so that it returns the CS
reference (since poll_for_state() has to get an instance to check the
state value anyway).
It seems like this would be useful - in most cases, if you need to call
poll_for_state(), you'll probably need the cs ref later on in the test case.
- if enabledState != FINAL_STATE:
- logger.error("EnabledState has %i instead of %i", enabledState,
FINAL_STATE)
- logger.error("Try to increase the timeout and run the test again")
-
+ if status != PASS or from_State == None or req_state == None:
+ cxml.destroy(server)
+ return status
+
+ sleep(10)
This is not needed. The test case will fail until the provider fix is
in, but it's fine to note that in the commit log.
--
Kaitlin Rupert
IBM Linux Technology Center
kaitlin(a)linux.vnet.ibm.com