518 |
|
} |
519 |
|
} |
520 |
|
|
521 |
+ |
sub Test_start { |
522 |
+ |
my $self=shift; |
523 |
+ |
my $name=shift; |
524 |
+ |
my $hashref=shift; |
525 |
+ |
|
526 |
+ |
# -- make sure we have the test binary |
527 |
+ |
$self->{switch}->checktag($name, $hashref, 'exe'); |
528 |
+ |
system($ENV{SCRAM_HOME}."/src/scram","build",$$hashref{'exe'}); |
529 |
+ |
|
530 |
+ |
# -- a name for the test |
531 |
+ |
$self->{switch}->checktag($name, $hashref, 'name'); |
532 |
+ |
|
533 |
+ |
# -- set up a tester object |
534 |
+ |
push @{$self->{testcontext}}, $$hashref{'name'}; |
535 |
+ |
my $tester=BuildSystem::Tester->new(); |
536 |
+ |
if ( ! exists $self->{testers}{$$hashref{'name'}} ) { |
537 |
+ |
$self->{testers}{$$hashref{'name'}}=$tester; |
538 |
+ |
} |
539 |
+ |
else { |
540 |
+ |
$self->{switch}->parseerror("Second definition of $name " |
541 |
+ |
.$$hashref{'name'}); |
542 |
+ |
} |
543 |
+ |
} |
544 |
+ |
|
545 |
+ |
sub Test_end { |
546 |
+ |
my $self=shift; |
547 |
+ |
my $name=shift; |
548 |
+ |
my $hashref=shift; |
549 |
+ |
|
550 |
+ |
my $tester=$self->{testers}{pop @{$self->{testcontext}}}; |
551 |
+ |
$tester->run(); |
552 |
+ |
} |
553 |
+ |
|
554 |
|
sub Group_start { |
555 |
|
my $self=shift; |
556 |
|
my $name=shift; |