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 } } #### 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});