diff --git a/mysql-test/lib/mtr_cases.pm b/mysql-test/lib/mtr_cases.pm index fd3c9a8c00f..3ca766039ec 100644 --- a/mysql-test/lib/mtr_cases.pm +++ b/mysql-test/lib/mtr_cases.pm @@ -699,6 +699,12 @@ sub collect_one_test_case { # should fail by default $tinfo->{result_file}= $result_file; } + else { + # No .result file exist + # Remember the path where it should be + # saved in case of --record + $tinfo->{record_file}= $result_file; + } # ---------------------------------------------------------------------- # Skip some tests but include in list, just mark them as skipped diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 09733007d1e..cbb56e634d1 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2638,12 +2638,14 @@ sub do_before_run_mysqltest($) my $tinfo= shift; # Remove old files produced by mysqltest - my $base_file= mtr_match_extension($tinfo->{'result_file'}, - "result"); # Trim extension - unlink("$base_file.reject"); - unlink("$base_file.progress"); - unlink("$base_file.log"); - unlink("$base_file.warnings"); + my $base_file= mtr_match_extension($tinfo->{result_file}, + "result"); # Trim extension + if (defined $base_file ){ + unlink("$base_file.reject"); + unlink("$base_file.progress"); + unlink("$base_file.log"); + unlink("$base_file.warnings"); + } if ( $mysql_version_id < 50000 ) { # Set environment variable NDB_STATUS_OK to 1 @@ -4332,6 +4334,7 @@ sub start_mysqltest ($) { if ( $opt_record ) { mtr_add_arg($args, "--record"); + mtr_add_arg($args, "--result-file=%s", $tinfo->{record_file}); } if ( $opt_client_gdb )