From: Bjorn Munch Date: September 10 2010 7:59am Subject: bzr commit into mysql-5.5-merge branch (bjorn.munch:3199) List-Archive: http://lists.mysql.com/commits/117969 Message-Id: <201009100800.o8A802Au016740@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2058452514==" --===============2058452514== 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:alexey.kopytov@stripped 3199 Bjorn Munch 2010-09-10 [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 --===============2058452514== 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: b6bae2b0155cc8df4e56943e967b7fe59f2da67e # timestamp: 2010-09-10 10:00:02 +0200 # source_branch: file:///home/bm136801/my/mtr-55/ # base_revision_id: alexey.kopytov@stripped\ # gtnby55f059gxn60 # # Begin bundle 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 --===============2058452514==--