Maybe you can do something like this
Then you'll have the durations available in the cleanup sub.sub run_test { # stuff for my $test_name (@tests) { # stuff my $duration = $end - $start; $self->{'duration'}->{ $test_name } = $duration; # more stuff } }
Note: It's impossible to really know because:
Please read How do I post a question effectively?. In particular, copy and paste working sample code; don't type it in on these pages.
I strongly suggest spending some time learning good Perl style (you could start by reading perlstyle), since the reason you missed the curly brackets in your sample code is probably the lack of proper indentation.
sub run_test { my ($self, @tests) = @_; # Setup test system. $self->_setup_test_system(); # Run each test. TEST: for my $test_name (@tests) { # Setup everything necessary for current test. $self->setup_test_system($test_name); # Run each testcase for current test. TESTCASE: while ($self->__fetch_next()){ my $start = gettimeofday(); my $is_pass = $self->_run_testcase(); my $end = gettimeofday(); my $duration = $end - $start; if (!$is_pass && $self->{_abort_on_failure}) { + print "\nFailure occurred,for $test_name.\n"; last TESTCASE; # Exit loop } } # Hm, I guess there are two missing ...
Update: show re-indented code
In reply to Re: Passing a duration time from 1 subroutine to another
by 1nickt
in thread Passing a duration time from 1 subroutine to another
by gasjunkie_jabz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |