From: Bjorn Munch Date: September 30 2010 10:44am Subject: bzr commit into mysql-5.1-mtr branch (bjorn.munch:2938) Bug#52828 List-Archive: http://lists.mysql.com/commits/119504 X-Bug: 52828 Message-Id: <201009301045.o8UAj1rB022345@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1929103179==" --===============1929103179== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/bm136801/my/mtr-51/ based on revid:bjorn.munch@stripped 2938 Bjorn Munch 2010-09-30 Bug #52828 Tests that use perl fail when perl is not in path Trying to run perl fails, just like it does when perl is started but fails Trap the case that perl was not found/could not be started, and skip test Also force a restart of servers since test may already have done something mtr now also appends path of current perl to PATH to aid mysqltest modified: client/mysqltest.cc mysql-test/mysql-test-run.pl === modified file 'client/mysqltest.cc' --- a/client/mysqltest.cc 2010-09-29 10:56:10 +0000 +++ b/client/mysqltest.cc 2010-09-30 10:42:37 +0000 @@ -3853,7 +3853,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 13:58:01 +0000 +++ b/mysql-test/mysql-test-run.pl 2010-09-30 10:42:37 +0000 @@ -2107,6 +2107,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; } @@ -3583,6 +3588,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 ) { --===============1929103179== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/bjorn.munch@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: bjorn.munch@stripped # target_branch: file:///home/bm136801/my/mtr-51/ # testament_sha1: aa2ff04b8dd7b6b84d8797cbff3ad60c9f555fe0 # timestamp: 2010-09-30 12:45:01 +0200 # source_branch: file:///home/bm136801/my/mysql-5.1/ # base_revision_id: bjorn.munch@stripped\ # o02tihhlov344ged # # Begin bundle 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 --===============1929103179==--