However I know that running tests from a child doesn't work.
What problems have you come across? What you need to do is:
For example:
use strict; use warnings; use Test::More 'no_plan'; my $Num_children = 3; my $Max_tests_per_child = 5; my $Builder = Test::More->builder; $Builder->use_numbers( 0 ); sub pass_and_pause { pass( "@_" ); sleep rand( 5 ); }; foreach my $child ( 1 .. $Num_children ) { my $pid = fork; die "fork failed ($!)\n" unless defined $pid; if ( $pid ) { diag( "forking child $child" ); } else { my $first_test = $Builder->current_test; $Builder->no_header; $Builder->no_ending; pass_and_pause( "child $child test $_" ) for ( 1 .. 1 + rand( $Max_tests_per_child ) ); exit $Builder->current_test - $first_test; }; }; until ( wait == -1 ) { my $num_tests_child_ran = $? >> 8; diag "child terminated after running $num_tests_child_ran tests"; $Builder->current_test( $Builder->current_test + $num_tests_child_ +ran ); };
In reply to Re: Testing a Client-Server Application
by adrianh
in thread Testing a Client-Server Application
by dreadpiratepeter
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |