From b0b1a299d50ce3c7da3aa12e7ac533a92233d0c6 Mon Sep 17 00:00:00 2001 From: Doug Bell Date: Tue, 4 Jan 2011 17:59:11 -0600 Subject: [PATCH] add test sub to wait for WebGUI::Forks --- lib/WebGUI/Test.pm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/WebGUI/Test.pm b/lib/WebGUI/Test.pm index 8551c6463..9e6206089 100644 --- a/lib/WebGUI/Test.pm +++ b/lib/WebGUI/Test.pm @@ -876,4 +876,25 @@ sub cleanup { } } +#---------------------------------------------------------------------------- + +=head2 waitForAllForks( ) + +Will block until all WebGUI::Fork processes are completed. + +=cut + +sub waitForAllForks { + my ( $class ) = @_; + my $session = session; + my @forkIds = $session->db->quickArray( "SELECT id FROM fork WHERE finished != 1" ); + my $wait = 1; + while ( $wait ) { + $wait = 0; + $wait = 1 if grep { !$_->isFinished } map { WebGUI::Fork->new( $session, $_ ) } @forkIds; + return unless $wait; + sleep 1; + } +} + 1;