From: Jan Büren Date: Mon, 19 Dec 2016 09:10:51 +0000 (+0100) Subject: Mehr als eine SelfTest-Modul prüfen X-Git-Tag: release-3.5.4~1804 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=db4680753f5ec1de62bdc0557f850afd810444d1;p=kivitendo-erp.git Mehr als eine SelfTest-Modul prüfen Der Aufruf der SelfTest funktionierte nur für genau eine Datei - Mit einer leicht anderen Aufruf-Syntax werden auch weitere Tests durchgeführt. --- diff --git a/SL/BackgroundJob/SelfTest.pm b/SL/BackgroundJob/SelfTest.pm index 2f8883339..c1c608bbf 100644 --- a/SL/BackgroundJob/SelfTest.pm +++ b/SL/BackgroundJob/SelfTest.pm @@ -48,11 +48,18 @@ sub setup { sub run { my $self = shift; + my $db_obj = shift; + # options + my $options = $db_obj->data_as_hash; $self->setup; return 1 unless $self->modules; + + $main::lxdebug->message(0, 'optioni' . Dumper($self->modules)); foreach my $module ($self->modules) { + next unless $module eq $options->{module}; + $main::lxdebug->message(0, 'hieur' . $module); $self->run_module($module); } @@ -95,11 +102,10 @@ sub run_module { } or $self->add_errors($::locale->text('Could not load class #1 (#2): "#3"', $module, $file, $@)) && return; eval { - my $worker = $module->new; - $worker->tester($self->tester); - - $worker->run; - 1; + $self->tester->subtest($module => sub { + $module->new->run; + }); + 1 } or $self->add_errors($::locale->text('Could not load class #1, #2', $module, $@)) && return; $self->add_full_diag($output);