From: Bjorn Munch Date: August 30 2010 1:39pm Subject: bzr commit into mysql-trunk-mtr branch (bjorn.munch:2964) List-Archive: http://lists.mysql.com/commits/117146 Message-Id: <201008301339.o7UDduQL010285@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0769953888==" --===============0769953888== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/bm136801/my/mtr-tr/ based on revid:bjorn.munch@stripped 2964 Bjorn Munch 2010-08-30 upmerge 55178,55413 modified: .bzr-mysql/default.conf 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 '.bzr-mysql/default.conf' --- a/.bzr-mysql/default.conf 2010-08-30 08:27:32 +0000 +++ b/.bzr-mysql/default.conf 2010-08-30 13:39:48 +0000 @@ -1,4 +1,4 @@ [MYSQL] post_commit_to = "commits@stripped" post_push_to = "commits@stripped" -tree_name = "mysql-trunk" +tree_name = "mysql-trunk-mtr" === modified file 'client/mysqltest.cc' --- a/client/mysqltest.cc 2010-08-16 07:22:36 +0000 +++ b/client/mysqltest.cc 2010-08-30 13:39:48 +0000 @@ -5257,8 +5257,10 @@ void do_connect(struct st_command *comma } #endif +#ifndef EMBEDDED_LIBRARY if (opt_protocol) mysql_options(&con_slot->mysql, MYSQL_OPT_PROTOCOL, (char*) &opt_protocol); +#endif #ifdef HAVE_SMEM if (con_shm) @@ -5544,6 +5546,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"); @@ -5615,9 +5619,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: @@ -6230,8 +6238,10 @@ get_one_option(int optid, const struct m print_version(); exit(0); case OPT_MYSQL_PROTOCOL: +#ifndef EMBEDDED_LIBRARY opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib, opt->name); +#endif break; case '?': usage(); @@ -7987,8 +7997,10 @@ int main(int argc, char **argv) mysql_options(&con->mysql, MYSQL_SET_CHARSET_DIR, opt_charsets_dir); +#ifndef EMBEDDED_LIBRARY if (opt_protocol) mysql_options(&con->mysql,MYSQL_OPT_PROTOCOL,(char*)&opt_protocol); +#endif #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) === modified file 'mysql-test/lib/mtr_cases.pm' --- a/mysql-test/lib/mtr_cases.pm 2010-08-16 07:22:36 +0000 +++ b/mysql-test/lib/mtr_cases.pm 2010-08-30 13:39:48 +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:57:51 +0000 +++ b/mysql-test/mysql-test-run.pl 2010-08-30 13:39:48 +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; }; @@ -260,6 +259,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; @@ -3552,7 +3562,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 +3762,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 +3771,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); === modified file 'mysql-test/r/mysqltest.result' --- a/mysql-test/r/mysqltest.result 2010-08-16 07:22:36 +0000 +++ b/mysql-test/r/mysqltest.result 2010-08-30 13:39:48 +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 07:22:36 +0000 +++ b/mysql-test/t/mysqltest.test 2010-08-30 13:39:48 +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 --===============0769953888== 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-tr/ # testament_sha1: 41c1760a6b1aa8ce7ba8284c19b15aa587a12565 # timestamp: 2010-08-30 15:39:56 +0200 # source_branch: file:///home/bm136801/my/mysql-trunk/ # base_revision_id: bjorn.munch@stripped\ # okpynabb856pro71 # # Begin bundle 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 56j/ --===============0769953888==--