diff --git a/mysql-test/lib/mtr_report.pm b/mysql-test/lib/mtr_report.pm
index 6c65982bafa..0b99eafa4cf 100644
--- a/mysql-test/lib/mtr_report.pm
+++ b/mysql-test/lib/mtr_report.pm
@@ -472,12 +472,15 @@ sub mtr_report_stats ($$$$) {
my $comment = $test->{'comment'};
$comment =~ s/[\"]//g;
- if ($test->{'result'} eq "MTR_RES_FAILED") {
- $xml_report .= qq(>\n\t\t\t\n{'logfile'}]]>\n\t\t\t\n\t\t\n);
+ # 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" || $test->{'retries'}) {
+ my $logcontents = $test->{'logfile-failed'} || $test->{'logfile'};
+
+ $xml_report .= qq(>\n\t\t\t\n\n\t\t\t\n\t\t\n);
} elsif ($test->{'result'} eq "MTR_RES_SKIPPED" && $test->{'disable'}) {
- $xml_report .= qq(>\n\t\t\t\n\t\t\n);
+ $xml_report .= qq(>\n\t\t\t\n\t\t\n);
} elsif ($test->{'result'} eq "MTR_RES_SKIPPED") {
- $xml_report .= qq(>\n\t\t\t\n\t\t\n);
+ $xml_report .= qq(>\n\t\t\t\n\t\t\n);
} else {
$xml_report .= " />\n";
}
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index 43e35bdab6d..2850aafa67a 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -769,6 +769,7 @@ sub run_test_server ($$$) {
if ( $result->is_failed() ) {
my $worker_logdir= $result->{savedir};
my $log_file_name=dirname($worker_logdir)."/".$result->{shortname}.".log";
+ $result->{'logfile-failed'} = mtr_lastlinesfromfile($log_file_name, 20);
rename $log_file_name,$log_file_name.".failed";
}
delete($result->{result});