[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH OSSTEST v3 02/19] TestSupport: Add helper to wait for a guest to shutdown
Refactor the guts of guest_await_reboot into a helper and use for both shutdown and reboot handling. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- v3: Refactor common code with guest_await_reboot. --- Osstest/TestSupport.pm | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm index 477ad18..c0325c4 100644 --- a/Osstest/TestSupport.pm +++ b/Osstest/TestSupport.pm @@ -93,7 +93,8 @@ BEGIN { guest_umount_lv guest_await guest_await_dhcp_tcp guest_checkrunning guest_check_ip guest_find_ether guest_find_domid guest_check_up guest_check_up_quick - guest_get_state guest_await_reboot guest_destroy + guest_get_state guest_await_reboot + guest_await_shutdown guest_destroy guest_vncsnapshot_begin guest_vncsnapshot_stash guest_check_remus_ok guest_editconfig host_involves_pcipassthrough host_get_pcipassthrough_devs @@ -1278,17 +1279,28 @@ sub report_once ($$$) { $ho->{$k}= $msg; } -sub guest_await_reboot ($$$) { - my ($ho,$gho, $timeout) = @_; - poll_loop($timeout, 30, "await reboot request from $gho->{Guest}", sub { +sub guest_await_state ($$$$$) { + my ($ho,$gho, $what,$wait_st,$timeout) = @_; + + poll_loop($timeout, 30, "await $what request from $gho->{Guest}", sub { my $st= guest_get_state($ho,$gho); - return undef if $st eq 'sr'; + return undef if $st eq $wait_st; fail("guest unexpectedly shutdown; state is '$st'") if $st =~ m/^s/ || $st eq ''; - return "guest state is $st"; + return "guest state is \"$st\""; }); } +sub guest_await_reboot ($$$) { + my ($ho,$gho, $timeout) = @_; + return guest_await_state($ho,$gho, "reboot", "sr", $timeout); +} + +sub guest_await_shutdown ($$$) { + my ($ho,$gho, $timeout) = @_; + return guest_await_state($ho,$gho, "shutdown", "s", $timeout); +} + sub guest_destroy ($$) { my ($ho,$gho) = @_; target_cmd_root($ho, toolstack()->{Command}." destroy $gho->{Name}", 40); -- 2.1.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |