#At file:///home/bm136801/my/mtr-55/ based on revid:bjorn.munch@stripped
3096 Bjorn Munch 2010-09-30 [merge]
upmerge 52828
modified:
client/mysqltest.cc
mysql-test/mysql-test-run.pl
=== modified file 'client/mysqltest.cc'
--- a/client/mysqltest.cc 2010-09-29 11:14:21 +0000
+++ b/client/mysqltest.cc 2010-09-30 10:48:19 +0000
@@ -3926,7 +3926,18 @@ void do_perl(struct st_command *command)
if (!error)
my_delete(temp_file_path, MYF(0));
- handle_command_error(command, WEXITSTATUS(error));
+ /* Check for error code that indicates perl could not be started */
+ int exstat= WEXITSTATUS(error);
+#ifdef __WIN__
+ if (exstat == 1)
+ /* Text must begin 'perl not found' as mtr looks for it */
+ abort_not_supported_test("perl not found in path or did not start");
+#else
+ if (exstat == 127)
+ abort_not_supported_test("perl not found in path");
+#endif
+ else
+ handle_command_error(command, exstat);
}
dynstr_free(&ds_delimiter);
DBUG_VOID_RETURN;
=== modified file 'mysql-test/mysql-test-run.pl'
--- a/mysql-test/mysql-test-run.pl 2010-09-28 14:00:11 +0000
+++ b/mysql-test/mysql-test-run.pl 2010-09-30 10:48:19 +0000
@@ -2194,6 +2194,11 @@ sub environment_setup {
# to detect that valgrind is being used from test cases
$ENV{'VALGRIND_TEST'}= $opt_valgrind;
+ # Add dir of this perl to aid mysqltest in finding perl
+ my $perldir= dirname($^X);
+ my $pathsep= ":";
+ $pathsep= ";" if IS_WINDOWS && ! IS_CYGWIN;
+ $ENV{'PATH'}= "$ENV{'PATH'}".$pathsep.$perldir;
}
@@ -3666,6 +3671,9 @@ sub run_testcase ($) {
# Try to get reason from test log file
find_testcase_skipped_reason($tinfo);
mtr_report_test_skipped($tinfo);
+ # Restart if skipped due to missing perl, it may have had side effects
+ stop_all_servers($opt_shutdown_timeout)
+ if ($tinfo->{'comment'} =~ /^perl not found/);
}
elsif ( $res == 65 )
{
Attachment: [text/bzr-bundle] bzr/bjorn.munch@oracle.com-20100930104819-ibm2nch6qk4sfpwc.bundle
| Thread |
|---|
| • bzr commit into mysql-5.5 branch (bjorn.munch:3096) | Bjorn Munch | 30 Sep |