| 
49
 | 
     1 package IMPL::Test::HarnessRunner;
 | 
| 
 | 
     2 use strict;
 | 
| 
 | 
     3 use warnings;
 | 
| 
 | 
     4 
 | 
| 
166
 | 
     5 use parent qw(IMPL::Object IMPL::Object::Autofill IMPL::Object::Serializable);
 | 
| 
49
 | 
     6 use IMPL::Class::Property;
 | 
| 
 | 
     7 use Test::Harness;
 | 
| 
 | 
     8 
 | 
| 
 | 
     9 __PACKAGE__->PassThroughArgs;
 | 
| 
 | 
    10 
 | 
| 
 | 
    11 BEGIN {
 | 
| 
 | 
    12     public property Strap => prop_all;
 | 
| 
 | 
    13 }
 | 
| 
 | 
    14 
 | 
| 
 | 
    15 sub CTOR {
 | 
| 
 | 
    16     my $this = shift;
 | 
| 
 | 
    17     
 | 
| 
 | 
    18     die new IMPL::InvalidArgumentException("The Strap parameter must be specified") unless $this->Strap;
 | 
| 
 | 
    19 }
 | 
| 
 | 
    20 
 | 
| 
 | 
    21 sub RunTests {
 | 
| 
 | 
    22     my ($this,@files) = @_;
 | 
| 
 | 
    23     
 | 
| 
 | 
    24     local $Test::Harness::Strap = $this->Strap;
 | 
| 
 | 
    25     
 | 
| 
 | 
    26     return runtests(@files);
 | 
| 
 | 
    27 }
 | 
| 
 | 
    28 
 | 
| 
 | 
    29 sub ExecuteTests {
 | 
| 
 | 
    30     my ($this,%args) = @_;
 | 
| 
 | 
    31     
 | 
| 
 | 
    32     local $Test::Harness::Strap = $this->Strap;
 | 
| 
 | 
    33     
 | 
| 
 | 
    34     return Test::Harness::execute_tests(%args);
 | 
| 
 | 
    35 }
 | 
| 
 | 
    36 
 | 
| 
 | 
    37 1;
 |