hello, I am trying to pass a duration time for running a series of tests to a cleanup subroutine. I am running a loop of different tests (sub run_test)and documenting the duration for each test ran within sub run_tests. I am getting the correct time for each. My problem is trying to pass the same duration time to a cleanup subroutine (sub cleanup_test), which happens after all the tests are completed. below are the 2 subroutines:
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 } }
I would like to pass my $duration to this cleanup subroutine:
sub cleanup_test{ my ($self, $result) = @_; # Update statistics $self->{_test_statistics}{num_tests}++; if ($result == 0) { $self->{_test_statistics}{num_tests_failed}++; } # Log testcase result and return log_testcase($self->{_test_name}, $self->{_testcase_name}, $self->{_ +test_statistics}{num_tests_failed}, $duration, $self->{_log_file});
I can't get the duration time from (sub run_test) to (sub cleanup_test). What am I missing? Thanks for reading
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |