From: Bjorn Munch Date: September 10 2010 7:58am Subject: bzr commit into mysql-5.1-bugteam branch (bjorn.munch:3505) List-Archive: http://lists.mysql.com/commits/117968 Message-Id: <201009100758.o8A7weQv016715@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0592467344==" --===============0592467344== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/bm136801/my/merge-51/ based on revid:alexey.kopytov@stripped 3505 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-26 13:14:50 +0000 +++ b/client/mysqltest.cc 2010-09-10 07:58:26 +0000 @@ -5507,6 +5507,8 @@ int read_line(char *buf, int size) char c, UNINIT_VAR(last_quote); 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"); @@ -5578,9 +5580,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-04 10:19:51 +0000 +++ b/mysql-test/lib/mtr_cases.pm 2010-08-30 09:25:10 +0000 @@ -684,6 +684,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-04 10:19:51 +0000 +++ b/mysql-test/mysql-test-run.pl 2010-08-31 09:27:57 +0000 @@ -212,7 +212,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; }; @@ -226,6 +225,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; @@ -241,6 +241,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; @@ -914,6 +925,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, @@ -3469,7 +3481,7 @@ sub run_testcase ($) { } } - my $test_timeout= start_timer(testcase_timeout()); + my $test_timeout= start_timer(testcase_timeout($tinfo)); do_before_run_mysqltest($tinfo); @@ -3669,7 +3681,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) @@ -3678,7 +3690,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); @@ -4502,6 +4514,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"); @@ -5531,6 +5548,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-04 08:52:45 +0000 +++ b/mysql-test/r/mysqltest.result 2010-08-10 10:13:58 +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-04 08:52:45 +0000 +++ b/mysql-test/t/mysqltest.test 2010-08-10 10:13:58 +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 --===============0592467344== 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-51/ # testament_sha1: 36acc29c419d49eed396bd05ae80bed7586e2279 # timestamp: 2010-09-10 09:58:40 +0200 # source_branch: file:///home/bm136801/my/mtr-51/ # base_revision_id: alexey.kopytov@stripped\ # iv2v3a2j0uwxlxmn # # Begin bundle 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 90uIf+LuSKcKEgywyYbg --===============0592467344==--