From: Bjorn Munch Date: September 8 2010 8:06am Subject: bzr commit into mysql-5.5-merge branch (bjorn.munch:3197) List-Archive: http://lists.mysql.com/commits/117750 Message-Id: <201009080806.o8886LY9002908@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1605891443==" --===============1605891443== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/bm136801/my/merge-55/ based on revid:martin.hansson@stripped 3197 Bjorn Munch 2010-09-08 [merge] merge 55178,55413,56383 modified: client/mysqltest.cc mysql-test/lib/mtr_cases.pm mysql-test/mysql-test-run.pl mysql-test/r/mysqltest.result mysql-test/t/mysqltest.test === modified file 'client/mysqltest.cc' --- a/client/mysqltest.cc 2010-08-27 11:33:32 +0000 +++ b/client/mysqltest.cc 2010-09-01 13:49:43 +0000 @@ -5542,6 +5542,8 @@ int read_line(char *buf, int size) char c, UNINIT_VAR(last_quote), last_char= 0; char *p= buf, *buf_end= buf + size - 1; int skip_char= 0; + my_bool have_slash= FALSE; + enum {R_NORMAL, R_Q, R_SLASH_IN_Q, R_COMMENT, R_LINE_START} state= R_LINE_START; DBUG_ENTER("read_line"); @@ -5613,9 +5615,13 @@ int read_line(char *buf, int size) } else if (c == '\'' || c == '"' || c == '`') { - last_quote= c; - state= R_Q; + if (! have_slash) + { + last_quote= c; + state= R_Q; + } } + have_slash= (c == '\\'); break; case R_COMMENT: === modified file 'mysql-test/lib/mtr_cases.pm' --- a/mysql-test/lib/mtr_cases.pm 2010-08-16 06:46:21 +0000 +++ b/mysql-test/lib/mtr_cases.pm 2010-08-30 13:19:46 +0000 @@ -701,6 +701,13 @@ sub process_opts_file { next; } + $value= mtr_match_prefix($opt, "--testcase-timeout="); + if ( defined $value ) { + # Overrides test case timeout for this test + $tinfo->{'case-timeout'}= $value; + next; + } + # Ok, this was a real option, add it push(@{$tinfo->{$opt_name}}, $opt); } === modified file 'mysql-test/mysql-test-run.pl' --- a/mysql-test/mysql-test-run.pl 2010-08-25 13:55:22 +0000 +++ b/mysql-test/mysql-test-run.pl 2010-09-01 13:52:31 +0000 @@ -231,7 +231,6 @@ my $opt_suite_timeout = $ENV{MTR_SUITE my $opt_shutdown_timeout= $ENV{MTR_SHUTDOWN_TIMEOUT} || 10; # seconds my $opt_start_timeout = $ENV{MTR_START_TIMEOUT} || 180; # seconds -sub testcase_timeout { return $opt_testcase_timeout * 60; }; sub suite_timeout { return $opt_suite_timeout * 60; }; sub check_timeout { return $opt_testcase_timeout * 6; }; @@ -245,6 +244,7 @@ my $opt_repeat= 1; my $opt_retry= 3; my $opt_retry_failure= env_or_val(MTR_RETRY_FAILURE => 2); my $opt_reorder= 1; +my $opt_force_restart= 0; my $opt_strace_client; @@ -260,6 +260,17 @@ my $opt_callgrind; my %mysqld_logs; my $opt_debug_sync_timeout= 300; # Default timeout for WAIT_FOR actions. +sub testcase_timeout ($) { + my ($tinfo)= @_; + if (exists $tinfo->{'case-timeout'}) { + # Return test specific timeout if *longer* that the general timeout + my $test_to= $tinfo->{'case-timeout'}; + $test_to*= 10 if $opt_valgrind; + return $test_to * 60 if $test_to > $opt_testcase_timeout; + } + return $opt_testcase_timeout * 60; +} + our $opt_warnings= 1; our $opt_skip_ndbcluster= 0; @@ -934,6 +945,7 @@ sub command_line_setup { 'report-features' => \$opt_report_features, 'comment=s' => \$opt_comment, 'fast' => \$opt_fast, + 'force-restart' => \$opt_force_restart, 'reorder!' => \$opt_reorder, 'enable-disabled' => \&collect_option, 'verbose+' => \$opt_verbose, @@ -3552,7 +3564,7 @@ sub run_testcase ($) { } } - my $test_timeout= start_timer(testcase_timeout()); + my $test_timeout= start_timer(testcase_timeout($tinfo)); do_before_run_mysqltest($tinfo); @@ -3752,7 +3764,7 @@ sub run_testcase ($) { { my $log_file_name= $opt_vardir."/log/".$tinfo->{shortname}.".log"; $tinfo->{comment}= - "Test case timeout after ".testcase_timeout(). + "Test case timeout after ".testcase_timeout($tinfo). " seconds\n\n"; # Add 20 last executed commands from test case log file if (-e $log_file_name) @@ -3761,7 +3773,7 @@ sub run_testcase ($) { "== $log_file_name == \n". mtr_lastlinesfromfile($log_file_name, 20)."\n"; } - $tinfo->{'timeout'}= testcase_timeout(); # Mark as timeout + $tinfo->{'timeout'}= testcase_timeout($tinfo); # Mark as timeout run_on_all($tinfo, 'analyze-timeout'); report_failure_and_restart($tinfo); @@ -4567,6 +4579,11 @@ sub server_need_restart { return 1; } + if ( $opt_force_restart ) { + mtr_verbose_restart($server, "forced restart turned on"); + return 1; + } + if ( $tinfo->{template_path} ne $current_config_name) { mtr_verbose_restart($server, "using different config file"); @@ -5595,6 +5612,7 @@ Misc options servers to exit before finishing the process fast Run as fast as possible, dont't wait for servers to shutdown etc. + force-restart Always restart servers between tests parallel=N Run tests in N parallel threads (default=1) Use parallel=auto for auto-setting of N repeat=N Run each test N number of times === modified file 'mysql-test/r/mysqltest.result' --- a/mysql-test/r/mysqltest.result 2010-08-16 06:46:21 +0000 +++ b/mysql-test/r/mysqltest.result 2010-08-30 13:19:46 +0000 @@ -262,6 +262,9 @@ a long \$where variable content banana = banana Not a banana: ba\$cat\$cat +with\`some"escaped\'quotes +with\`some"escaped\'quotes +single'tick`backtick mysqltest: At line 1: Missing arguments to let mysqltest: At line 1: Missing variable name in let mysqltest: At line 1: Missing assignment operator in let === modified file 'mysql-test/t/mysqltest.test' --- a/mysql-test/t/mysqltest.test 2010-08-16 06:46:21 +0000 +++ b/mysql-test/t/mysqltest.test 2010-08-30 13:19:46 +0000 @@ -701,6 +701,16 @@ echo banana = $cat; let $cat=ba\\\$cat\\\$cat; echo Not a banana: $cat; +# Bug #55413 would cause this to fail +let $escape= with\`some\"escaped\'quotes; +echo $escape; + +--let $escape= with\`some\"escaped\'quotes +echo $escape; + +# This only works with "--let" syntax +--let $tick= single'tick`backtick +echo $tick; # Test illegal uses of let --===============1605891443== 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/merge-55/ # testament_sha1: b509f74fe741b858cb7ad1bcc5f54445b83c3ce5 # timestamp: 2010-09-08 10:06:21 +0200 # source_branch: file:///home/bm136801/my/mtr-55/ # base_revision_id: martin.hansson@stripped\ # 3cucxdplavhqlqqn # # Begin bundle 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 --===============1605891443==--