From: Bjorn Munch Date: September 30 2010 10:33am Subject: bzr commit into mysql-5.1-mtr branch (bjorn.munch:2937) Bug#52828 List-Archive: http://lists.mysql.com/commits/119500 X-Bug: 52828 Message-Id: <201009301033.o8UAXuep016023@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1106172087==" --===============1106172087== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/bm136801/my/perlpath-51/ based on revid:bjorn.munch@stripped 2937 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:32:56 +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:32:56 +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 ) { --===============1106172087== 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/perlpath-51/ # testament_sha1: fc49b0300b3f1bc8920cdb5feee3a1b099d20c0b # timestamp: 2010-09-30 12:33:56 +0200 # base_revision_id: bjorn.munch@stripped\ # e7w42ulr0elw680x # # Begin bundle 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 /i7kinChIQxdijA= --===============1106172087==--