ASNMTAP
view release on metacpan or search on metacpan
plugins/jUnit/check_jUnit.pl view on Meta::CPAN
print "xml->{server}<->\n", $xml->{server}, "\n";
print "xml->{Test_success}<->\n", $xml->{Test_success}, "\n";
print "xml->{testClass}->{tests}<->\n", $xml->{testClass}->{tests}, "\n";
print "xml->{testClass}->{failures}<->\n", $xml->{testClass}->{failures}, "\n";
print "xml->{testClass}->{errors}<->\n", $xml->{testClass}->{errors}, "\n";
print "xml->{testClass}->{name}<->\n", $xml->{testClass}->{name}, "\n";
print "xml->{testClass}->{package}<->\n", $xml->{testClass}->{package}, "\n";
if (defined $xml->{testClass}->{testcase}->{name}) {
print "xml->{testClass}->{testcase}->{name}<->\n", $xml->{testClass}->{testcase}->{name}, "\n";
print "xml->{testClass}->{testcase}->{time}<->\n", $xml->{testClass}->{testcase}->{time}, "\n";
if ( defined $xml->{testClass}->{testcase}->{error} ) {
print "xml->{testClass}->{testcase}->{error}->{content}<->\n", $xml->{testClass}->{testcase}->{error}->{content}, "\n";
print "xml->{testClass}->{testcase}->{error}->{type}<->\n", $xml->{testClass}->{testcase}->{error}->{type}, "\n";
print "xml->{testClass}->{testcase}->{error}->{message}<->\n", $xml->{testClass}->{testcase}->{error}->{message}, "\n";
}
if ( defined $xml->{testClass}->{testcase}->{failure} ) {
print "xml->{testClass}->{testcase}->{failure}->{content}<->\n", $xml->{testClass}->{testcase}->{failure}->{content}, "\n";
print "xml->{testClass}->{testcase}->{failure}->{type}<->\n", $xml->{testClass}->{testcase}->{failure}->{type}, "\n";
print "xml->{testClass}->{testcase}->{failure}->{message}<->\n", $xml->{testClass}->{testcase}->{failure}->{message}, "\n";
}
} else {
foreach my $testcase_name (keys %{$xml->{testClass}->{testcase}}) {
print "xml->{testClass}->{testcase}->{$testcase_name}->{time}<->\n", $xml->{testClass}->{testcase}->{$testcase_name}->{time}, "\n";
if ( defined $xml->{testClass}->{testcase}->{$testcase_name}->{error} ) {
print "xml->{testClass}->{testcase}->{$testcase_name}->{error}->{content}<->\n", $xml->{testClass}->{testcase}->{$testcase_name}->{error}->{content}, "\n";
print "xml->{testClass}->{testcase}->{$testcase_name}->{error}->{type}<->\n", $xml->{testClass}->{testcase}->{$testcase_name}->{error}->{type}, "\n";
print "xml->{testClass}->{testcase}->{$testcase_name}->{error}->{message}<->\n", $xml->{testClass}->{testcase}->{$testcase_name}->{error}->{message}, "\n";
}
if ( defined $xml->{testClass}->{testcase}->{$testcase_name}->{failure} ) {
print "xml->{testClass}->{testcase}->{$testcase_name}->{failure}->{content}<->\n", $xml->{testClass}->{testcase}->{$testcase_name}->{failure}->{content}, "\n";
print "xml->{testClass}->{testcase}->{$testcase_name}->{failure}->{type}<->\n", $xml->{testClass}->{testcase}->{$testcase_name}->{failure}->{type}, "\n";
print "xml->{testClass}->{testcase}->{$testcase_name}->{failure}->{message}<->\n", $xml->{testClass}->{testcase}->{$testcase_name}->{failure}->{message}, "\n";
}
}
}
}
if ( defined $xml->{Test_success} and $xml->{Test_success} !~ /^True$/i ) {
$performanceDataTests += $xml->{testClass}->{tests};
$performanceDataFailures += $xml->{testClass}->{failures};
$performanceDataErrors += $xml->{testClass}->{errors};
$performanceDataTime += $xml->{testClass}->{time};
if (defined $xml->{testClass}->{testcase}->{name}) {
$objectPlugins->appendPerformanceData ( "'" .$xml->{testClass}->{testcase}->{name}.$testresultName. "'=". $xml->{testClass}->{testcase}->{time} .'s;;;;' );
} else {
foreach my $testcase_name (keys %{$xml->{testClass}->{testcase}}) {
print "xml->{testClass}->{testcase}->{$testcase_name}->{time}<->\n", $xml->{testClass}->{testcase}->{$testcase_name}->{time}, "\n" if ($debug == 2);
$objectPlugins->appendPerformanceData ( "'".$testcase_name.$testresultName."'=". $xml->{testClass}->{testcase}->{$testcase_name}->{time} .'s;;;;' );
}
}
$objectPlugins->pluginValue ( stateValue => $ERRORS{CRITICAL} );
unless (defined $httpdumpMessage) {
$httpdumpMessage = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<HTML><HEAD><TITLE>jUnit XML::Parser \@ $APPLICATION</TITLE></HEAD><BODY><HR><H1 style=\"margin: 0px 0px 5px; font: 125% verdana,arial,helvetica\"...
} else {
$httpdumpMessage .= "<BR>";
}
$httpdumpMessage .= "<H2 style=\"margin-top: 1em; margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica\">Server : $xml->{server}</H2>";
$httpdumpMessage .= "<H2 style=\"margin-top: 1em; margin-bottom: 0.5em; font: bold 90% verdana,arial,helvetica\">Summary: $xml->{name} ($xml->{version}) - $xml->{Test_success}</H2>";
$httpdumpMessage .= "<TABLE WIDTH=\"100%\"><TR style=\"font: normal 68% bold verdana,arial,helvetica; text-align:left; background:#a6caf0;\"><TH>Tests</TH><TH>Failures</TH><TH>Errors</TH><TH>Time</TH></TR>";
$httpdumpMessage .= "<TR style=\"background:#eeeee0; font: normal 68% bold verdana,arial,helvetica; color:purple;\"><TD>$xml->{testClass}->{tests}</TD><TD>$xml->{testClass}->{failures}</TD><TD>$xml->{testClass}->{errors}</TD><TD>$xml->{...
$httpdumpMessage .= "</TD></TR></TABLE>\n";
$httpdumpMessage .= "<table width=\"100%\" border=\"0\"><tr><td style=\"font: verdana,arial,helvetica; text-align: justify;\">Note: <i>failures</i> are anticipated and checked for with assertions while <i>errors</i> are unanticipated.</...
$httpdumpMessage .= "<H3 style=\"margin-bottom: 0.5em; font: bold 90% verdana,arial,helvetica\">Testcase: $xml->{testClass}->{name} ($xml->{testClass}->{package})</H3>\n";
$httpdumpMessage .= "<TABLE WIDTH=\"100%\"><TR style=\"font: normal 68% bold verdana,arial,helvetica; text-align:left; background:#a6caf0;\"><TH>Name</TH><TH>Status</TH><TH>Type</TH><TH>Time</TH></TR>\n";
if (defined $xml->{testClass}->{testcase}->{name}) {
my ($status, $type, $message, $content);
if (defined $xml->{testClass}->{testcase}->{error}) {
$status = 'ERROR';
$type = $xml->{testClass}->{testcase}->{error}->{type};
$message = $xml->{testClass}->{testcase}->{error}->{message};
$content = $xml->{testClass}->{testcase}->{error}->{content};
} elsif (defined $xml->{testClass}->{testcase}->{failure}) {
$status = 'FAILURE';
$type = $xml->{testClass}->{testcase}->{failure}->{type};
$message = $xml->{testClass}->{testcase}->{failure}->{message};
} else {
$status = 'OK';
$type = $message = '';
}
$httpdumpMessage .= "<TR style=\"background:#eeeee0; font: normal 68% bold verdana,arial,helvetica; color:red;\"><TD>$xml->{testClass}->{testcase}->{name}</TD><TD>$status</TD><TD>$type</TD><TD>$xml->{testClass}->{testcase}->{time}</TD...
if ($status ne 'OK') {
$httpdumpMessage .= "<TR style=\"background:#eeeee0; font: normal 68% bold verdana,arial,helvetica; color:red;\"><TD></TD><TD colspan=\"3\"><PRE>$message</PRE></TD></TR>\n";
$httpdumpMessage .= "<TR style=\"background:#eeeee0; font: normal 68% bold verdana,arial,helvetica; color:red;\"><TD></TD><TD colspan=\"3\"><PRE>$content</PRE></TD></TR>\n" if (defined $content);
}
} else {
foreach my $testcase_name (keys %{$xml->{testClass}->{testcase}}) {
my ($status, $type, $message, $content);
if (defined $xml->{testClass}->{testcase}->{$testcase_name}->{error}) {
$status = 'ERROR';
$type = $xml->{testClass}->{testcase}->{$testcase_name}->{error}->{type};
$message = $xml->{testClass}->{testcase}->{$testcase_name}->{error}->{message};
$content = $xml->{testClass}->{testcase}->{$testcase_name}->{error}->{content};
} elsif (defined $xml->{testClass}->{testcase}->{$testcase_name}->{failure}) {
$status = 'FAILURE';
$type = $xml->{testClass}->{testcase}->{$testcase_name}->{failure}->{type};
$message = $xml->{testClass}->{testcase}->{$testcase_name}->{failure}->{message};
} else {
$status = 'OK';
$type = $message = '';
}
$httpdumpMessage .= "<TR style=\"background:#eeeee0; font: normal 68% bold verdana,arial,helvetica; color:red;\"><TD>$testcase_name</TD><TD>$status</TD><TD>$type</TD><TD>$xml->{testClass}->{testcase}->{$testcase_name}->{time}</TD></...
if ($status ne 'OK') {
$httpdumpMessage .= "<TR style=\"background:#eeeee0; font: normal 68% bold verdana,arial,helvetica; color:red;\"><TD></TD><TD colspan=\"3\"><PRE>$message</PRE></TD></TR>\n";
$httpdumpMessage .= "<TR style=\"background:#eeeee0; font: normal 68% bold verdana,arial,helvetica; color:red;\"><TD></TD><TD colspan=\"3\"><PRE>$content</PRE></TD></TR>\n" if (defined $content);
}
}
}
$httpdumpMessage .= "</TABLE>\n";
}
$alertError .= (defined $testresultSuffix) ? $testresultSuffix : $xml->{name};
$alertError .= '+';
}
} else {
print "$EXCEPTION\n" if ($debug == 2);
}
print "$INPUT_XML\n" if ($debug == 2);
} elsif ($STATUS eq 'LAUNCH_FAILED') {
$objectPlugins->pluginValues ( { stateValue => $ERRORS{CRITICAL}, alert => $EXCEPTION }, $TYPE{APPEND} );
} elsif ($STATUS eq 'XML_WRONG_FORMAT') {
$objectPlugins->pluginValues ( { stateValue => $ERRORS{CRITICAL}, alert => 'Under construction: '. $STATUS }, $TYPE{APPEND} );
} else {
$objectPlugins->pluginValues ( { stateValue => $ERRORS{CRITICAL}, alert => "Undefined error: '$STATUS'" }, $TYPE{APPEND} );
}
my $sqlMOVE = 'REPLACE INTO `' .$jUnitServerTablDRA. '` SELECT * FROM `' .$jUnitServerTablDR. '` WHERE RESULT_ID = "' .$RESULT_ID. '"';
$dbh->do( $sqlMOVE ) or $rv = errorTrapDBI (\$objectPlugins, "Cannot dbh->do: $sqlMOVE");
if ( $rv ) {
$sqlMOVE = 'DELETE FROM `' .$jUnitServerTablDR. '` WHERE RESULT_ID = "' .$RESULT_ID. '"';
$dbh->do( $sqlMOVE ) or $rv = errorTrapDBI (\$objectPlugins, "Cannot dbh->do: $sqlMOVE");
}
}
$httpdumpMessage .= "</BODY>\n</HTML>" if (defined $httpdumpMessage);
$objectPlugins->appendPerformanceData ( 'tests='. $performanceDataTests .';;;;' );
$objectPlugins->appendPerformanceData ( 'failures='. $performanceDataFailures .';1;;0;'. $performanceDataTests );
$objectPlugins->appendPerformanceData ( 'errors='. $performanceDataErrors .';;1;0;'. $performanceDataTests );
$objectPlugins->appendPerformanceData ( 'time='. $performanceDataTime .'s;;;;' );
if ( $recordCount ) {
if ( $numberRecordsSameUkey != $recordCount ) {
$objectPlugins->pluginValues ( { stateValue => $ERRORS{CRITICAL}, alert => "Only $recordCount from the wanted $numberRecordsSameUkey results into the table $jUnitServerTablDR from database $jUnitServerDbDR" }, $TYPE{APPEND} );
}
if ($alertError eq '+') {
$objectPlugins->pluginValues ( { alert => 'All test succeed' }, $TYPE{APPEND} );
} else {
$objectPlugins->pluginValues ( { alert => $alertError }, $TYPE{APPEND} );
}
if (defined $httpdumpMessage) {
print "$httpdumpMessage\n" if ($debug == 4);
$objectPlugins->write_debugfile ( \$httpdumpMessage, 0 );
}
} else {
$objectPlugins->pluginValues ( { stateValue => $ERRORS{UNKNOWN}, alert => "No results into the table $jUnitServerTablDR from database $jUnitServerDbDR" }, $TYPE{APPEND} );
}
$sth->finish() or $rv = errorTrapDBI (\$objectPlugins, "sth->finish: $sql");
}
( run in 1.590 second using v1.01-cache-2.11-cpan-d8267643d1d )