Commit f776fa96 authored by Dmitriy Karpovskiy's avatar Dmitriy Karpovskiy Committed by Anel

MDEV-24135: Print warnings in XML, save test retries in XML, save the...

MDEV-24135: Print warnings in XML, save test retries in XML, save the combinations in XML, replace the special symbols in the XML comment
parent 68e0defc
...@@ -497,23 +497,21 @@ sub mtr_report_stats ($$$$) { ...@@ -497,23 +497,21 @@ sub mtr_report_stats ($$$$) {
$test_time = sprintf("%.3f", $test->{timer} / 1000); $test_time = sprintf("%.3f", $test->{timer} / 1000);
$test->{'name'} =~ s/$current_suite\.//; $test->{'name'} =~ s/$current_suite\.//;
my $test_result; my $combinations;
if (defined($test->{combinations})){
# if a test case has to be retried it should have the result MTR_RES_FAILED in jUnit XML $combinations = join ',', sort @{$test->{combinations}};
if ($test->{'retries'} > 0) {
$test_result = "MTR_RES_FAILED";
} else { } else {
$test_result = $test->{'result'}; $combinations = "";
} }
$xml_report .= qq(\t\t<testcase assertions="" classname="$current_suite" name="$test->{'name'}" status="$test_result" time="$test_time"); $xml_report .= qq(\t\t<testcase assertions="" classname="$current_suite" name="$test->{'name'}" ).
qq(status="$test->{'result'}" time="$test_time" combinations="$combinations");
my $comment = $test->{'comment'}; my $comment= replace_special_symbols($test->{'comment'});
$comment =~ s/[\"]//g;
# if a test case has to be retried it should have the result MTR_RES_FAILED in jUnit XML if ($test->{'result'} eq "MTR_RES_FAILED") {
if ($test->{'result'} eq "MTR_RES_FAILED" || $test->{'retries'} > 0) {
my $logcontents = $test->{'logfile-failed'} || $test->{'logfile'}; my $logcontents = $test->{'logfile-failed'} || $test->{'logfile'};
$logcontents= $logcontents.$test->{'warnings'}."\n";
# remove any double ] that would end the cdata # remove any double ] that would end the cdata
$logcontents =~ s/]]/\x{fffd}/g; $logcontents =~ s/]]/\x{fffd}/g;
# replace wide characters that aren't allowed in XML 1.0 # replace wide characters that aren't allowed in XML 1.0
...@@ -576,6 +574,16 @@ sub mtr_print_line () { ...@@ -576,6 +574,16 @@ sub mtr_print_line () {
print '-' x 74 . "\n"; print '-' x 74 . "\n";
} }
sub replace_special_symbols($) {
my $text= shift;
$text =~ s/&/&#38;/g;
$text =~ s/'/&#39;/g;
$text =~ s/"/&#34;/g;
$text =~ s/</&lt;/g;
$text =~ s/>/&gt;/g;
return $text;
}
sub mtr_print_thick_line { sub mtr_print_thick_line {
my $char= shift || '='; my $char= shift || '=';
......
...@@ -888,9 +888,13 @@ sub run_test_server ($$$) { ...@@ -888,9 +888,13 @@ sub run_test_server ($$$) {
rename $log_file_name, $log_file_name.".failed"; rename $log_file_name, $log_file_name.".failed";
} }
delete($result->{result}); {
$result->{retries}= $retries+1; local @$result{'retries', 'result'};
$result->write_test($sock, 'TESTCASE'); delete $result->{result};
$result->{retries}= $retries+1;
$result->write_test($sock, 'TESTCASE');
}
push(@$completed, $result);
next; next;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment