Projekt

Allgemein

Profil

Fehler #301

SelfTest Transactions - all_passed nicht gesetzt

Von Jan Büren vor etwa 7 Jahren hinzugefügt. Vor etwa 6 Jahren aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
-
Zielversion:
-
Beginn:
05.09.2017
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

Der SelfTest-Controller prüft auf all_passed, obwohl alle Tests positiv durchlaufen, wird der Wert aufgrund einer scheinbaren "No Test Found" Rückmeldung nicht gesetzt.

Hier der komplette Dump von $self:


$VAR1 = bless( {
                 'descriptions_for_skipped' => [],
                 'descriptions_for_parse_errors' => [
                                                      'SL::BackgroundJob::SelfTest::Transactions'
                                                    ],
                 'descriptions_for_wait' => [],
                 'descriptions_for_exit' => [],
                 'total' => 1,
                 'descriptions_for_total' => [
                                               'SL::BackgroundJob::SelfTest::Transactions'
                                             ],
                 'descriptions_for_failed' => [],
                 'descriptions_for_todo_passed' => [],
                 'planned' => 0,
                 'exit' => 0,
                 'failed' => 0,
                 'descriptions_for_passed' => [
                                                'SL::BackgroundJob::SelfTest::Transactions'
                                              ],
                 'todo' => 0,
                 'wait' => 0,
                 'todo_passed' => 0,
                 'skipped' => 0,
                 'passed' => 1,
                 'parse_order' => [
                                    'SL::BackgroundJob::SelfTest::Transactions'
                                  ],
                 'descriptions_for_planned' => [],
                 'descriptions_for_todo' => [],
                 'parser_for' => {
                                   'SL::BackgroundJob::SelfTest::Transactions' => bless( {
                                                                                         'in_todo' => '',
                                                                                         '_iter' => sub { "DUMMY" },
                                                                                         '_iterator' => undef,
                                                                                         'tests_run' => 1,
                                                                                         'failed' => [],
                                                                                         'exit' => 0,
                                                                                         'version' => 12,
                                                                                         'todo' => [],
                                                                                         'is_good_plan' => 0,
                                                                                         'wait' => 0,
                                                                                         'ok_callbacks' => {
                                                                                                             'version' => 1,
                                                                                                             'bailout' => 1,
                                                                                                             'unknown' => 1,
                                                                                                             'comment' => 1,
                                                                                                             'test' => 1,
                                                                                                             'EOF' => 1,
                                                                                                             'plan' => 1,
                                                                                                             'ELSE' => 1,
                                                                                                             'ALL' => 1,
                                                                                                             'yaml' => 1
                                                                                                           },
                                                                                         'pragma' => {},
                                                                                         '_grammar' => undef,
                                                                                         'start_times' => [
                                                                                                            '1.14',
                                                                                                            '0.05',
                                                                                                            '0',
                                                                                                            '0'
                                                                                                          ],
                                                                                         'end_times' => [
                                                                                                          '1.14',
                                                                                                          '0.05',
                                                                                                          '0',
                                                                                                          '0'
                                                                                                        ],
                                                                                         'plan' => '',
                                                                                         'actual_passed' => [
                                                                                                              1
                                                                                                            ],
                                                                                         'passed' => [
                                                                                                       1
                                                                                                     ],
                                                                                         'start_time' => '1504597799.27743',
                                                                                         '_spool' => undef,
                                                                                         'actual_failed' => [],
                                                                                         'parse_errors' => [
                                                                                                             'No plan found in TAP output'
                                                                                                           ],
                                                                                         'iterator_factory_class' => 'TAP::Parser::IteratorFactory',
                                                                                         'result_factory_class' => 'TAP::Parser::ResultFactory',
                                                                                         'grammar_class' => 'TAP::Parser::Grammar',
                                                                                         'todo_passed' => [],
                                                                                         'code_for' => {},
                                                                                         'end_time' => '1504597799.27799',
                                                                                         'skipped' => []
                                                                                       }, 'TAP::Parser' )
                                 },
                 'parse_errors' => 1
               }, 'TAP::Parser::Aggregator' );
 at SL/DB/BackgroundJob.pm line 45.

Historie

#1

Von Jan Büren vor etwa 7 Jahren aktualisiert

Die erste Idee wäre:


-  if (!$self->aggreg->all_passed || $self->config->{send_email_on_success}) {

+  if ($self->aggreg->failed || $self->config->{send_email_on_success}) {

#2

Von Andreas Rudin vor fast 7 Jahren aktualisiert

Sehe ich das richtig, dass mit diesem Bug / Ticket folgendes Verhalten gemeint ist:

Im Mail mit dem self test report steht: "Result: FAIL", obwohl alle 24 Tests mit ok angezeigt werden.

Dieses Verhalten gibt es in der 3.4.1 noch nicht (mit nur 23 Tests), sondern erst in der 3.5. Hilft das weiter?
Bzw. wer hat in SL::BackgroundJob::SelfTest::Transactions zwischen der 3.4.1 und der 3.5.1 den Test Nr. 24 eingefügt oder sonst noch etwas verändert?
Vermutlich kann diese Person am schnellsten den Bug finden und korrigieren ....

Hier noch das komplette Mail mit dem self test report:

kivitendo selftest report.

Host:   ....
Path:   ..../kivitendo-erp/scripts
DB:     ....
Client: ....
Result: FAIL

------------
Full report:
------------

Module: SL::BackgroundJob::SelfTest::Transactions
--------------------

    1..24
    ok 1 - Erfolgskonten mit Saldo nicht in GuV (Saldenvortragskonten können ignoriert werden, sollten aber 0 sein)
    ok 2 - Keine Bilanzkonten in der GuV
    ok 3 - Alle acc_trans Transaktionen ergeben in Summe 0, keine unausgeglichenen Transaktionen
    ok 4 - Keine verwaisten acc-trans Einträge (wo ar/ap/gl-Eintrag fehlt)
    ok 5 - Keine verwaisten invoice Einträge (wo ar/ap-Eintrag fehlt)
    ok 6 - Hauptbuch-Nettowert und Debitoren-Nebenbuch-Nettowert  stimmen überein.
    ok 7 - Hauptbuch-Nettowert und Kreditoren-Nebenbuch-Nettowert stimmen überein.
    ok 8 - Summe laut Verkaufsbericht sollte gleich Summe aus Verkauf -> Berichte -> Rechnungen sein
    ok 9 - Alle Rechnungsnummern sind eindeutig
    ok 10 - Summe aller Einkaufsrechnungen (stornos + stornierte) soll 0 sein
    ok 11 - Summe aller Verkaufsrechnungen (stornos + stornierte) soll 0 sein
    ok 12 - Vergleich ar paid mit acc_trans AR_paid
    ok 13 - Vergleich ap paid mit acc_trans AP_paid
    ok 14 - Keine Überzahlungen laut ar.paid
    ok 15 - Überzahlungen laut ap.paid:
    ok 16 - Keine bezahlten Stornos
    ok 17 - Es sollte keine Stornos ohne Partner geben
    ok 18 - Vergleich ar.paid und das was laut acc_trans bezahlt wurde
    ok 19 - Jedes Konto hat einen gültigen Steuerschlüssel!
    # Saldo 9000 am 01.01.2018: 0    (sollte 0 sein)
    # Saldo 9000 am 31.12.2018: 0    (sollte 0 sein)
    ok 20 - Hauptbuch-Nettowert und Nebenbuch-Nettowert stimmen überein.
    ok 21 - Keine überbuchte Banktransaktion (der zugeordnete Betrag ist nicht höher, als der Überweisungsbetrag).
    ok 22 - Hauptbuch-Bezahlwert und Debitoren-Nebenbuch-Bezahlwert stimmen überein.
    ok 23 - Hauptbuch Bezahl-Wert und Kreditoren-Nebenbuch-Bezahlwert stimmen überein.
    ok 24 - Kein Bezahl-Datum ohne Bezahl-Wert und ohne wirkliche Zahlungen gefunden (arap.datepaid, arap.paid konsistent).
ok 1 - SL::BackgroundJob::SelfTest::Transactions
#3

Von Jan Büren vor etwa 6 Jahren aktualisiert

  • Status wurde von Neu zu Erledigt geändert

Ist mittlerweile im Standard entschärft (geprüft wird auf $self->aggreg->failed).

Auch abrufbar als: Atom PDF