From: Bjorn Munch Date: August 30 2010 1:20pm Subject: bzr commit into mysql-5.5-mtr branch (bjorn.munch:3084) List-Archive: http://lists.mysql.com/commits/117144 Message-Id: <201008301320.o7UDKIj2010211@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0146097928==" --===============0146097928== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/bm136801/my/mtr-55/ based on revid:alik@stripped 3084 Bjorn Munch 2010-08-30 [merge] 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-25 10:22:34 +0000 +++ b/.bzr-mysql/default.conf 2010-08-30 13:19:46 +0000 @@ -1,4 +1,4 @@ [MYSQL] post_commit_to = "commits@stripped" post_push_to = "commits@stripped" -tree_name = "mysql-5.5" +tree_name = "mysql-5.5-mtr" === modified file 'client/mysqltest.cc' --- a/client/mysqltest.cc 2010-08-16 06:46:21 +0000 +++ b/client/mysqltest.cc 2010-08-30 13:19:46 +0000 @@ -5255,8 +5255,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) @@ -5542,6 +5544,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 +5617,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: @@ -6228,8 +6236,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(); @@ -7982,8 +7992,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 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-08-30 13:19:46 +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 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 --===============0146097928== 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-55/ # testament_sha1: fc86aa2a11c777710a973aedf42c7fea3bc57ea0 # timestamp: 2010-08-30 15:20:18 +0200 # source_branch: file:///home/bm136801/my/testto-51/ # base_revision_id: alik@stripped # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWcftae4AD0XfgFQwfPf//38m vKX////6YBXs7ve543tr3u+fe9O4FAA99gB3Z9OhezQaNfffYe83sziZk3a7SgKBTqigbB9dQABK TQSZNHqZRtKfqb1T1NNlT0mnogaekBoGgNAeoJJAAQIBEyEGmRRg0MjQRhAyYBqZoIkAm1T9TTTU eRB6gAAAANABoM0qaSegR6iPSabKDCNPUempoYExBkYTEARKIEE0ap+KPTFTegppp6HlCaZNDE0A abKAFSkCZAAp5GmjRoJkyKfkmqHlD01MgAwR4I8T/XM7lN4wx223KXXaTjh7MERMvbTdF/X7+CuZ 73rOzMwz4/qnNz/KeuJd/p8YeSWTUMB9h2cQRGbWeIl24NicKM6KE7WomNOprtUCif5aCgxfvamb JnrgrXW2plDKQtzLdzdd9tO4K+PEJXcEVBlkTL0dIsWCICjaWnHv4/n/3yS1wwZ0w90Q0hl+jEIM o0fGcxOIv2jsYgsP6wHIFhnvJjz86OqA4QGI9kCT4+ju6vXiUNhacvNfvaqvfVPJjGQHQa3g5MUH RxR306xE6ATkKWNIicGkACATBCAbQCGgVNxtvYMFFWnccBQTgU0qYzGZJXV53oMUZCObFd8FWhZb kZ+Sy3KHSEVyQYSzNWpKhEskSwZiXKuwsZZQ8qSptUsgSowuZWHTNUBWbNWvkZlSkwEgkqiBLsRC oWRRKIxJrY1VlhpMoXwFKc3eqxea1GrnEYrOFjeSyS2YY5UTCm5ZkjJhM5QSRj6YTi7HtE9/26dj 4Qi2uWfiN3vhtFS8tRLM8Uu/9GJiT56k5McAUBNsiIj3hYtcjDuy4FKcs4q3WyqOOOq7ujmzUEau dM1uTdho2YX6mI5wwid++oiXhynkFtDQMccICxgGy8pfE0O+UUrv3jg3bjAdQiYaUnCcMmUG5Bs2 sRcteTkyX+rDBR+O8lErEQ8tOHqrUIPHqqAJ0HEhV8MQWG+4lrX1VEqP5RxL1W71W/uZ1lz9LSBP 1tY3HfTudoJ1FVbzfgAMPABQB4UDaYG0EsO9Fv2r6tjbmntHrYemL4LUm4K2HnE9ErTGMc6J7bDI oFJKHamCL1y5kK3UKGvA40RGgaoPsOBx4D2/ROazpLtToCmCwhNAgmaIUYilWtTREBN0HWNoPz2C 08djkkkkikkkTvYZNE1MehVAKW62moaeaiDCAlsVkFbLdltLrBoXyiO0SoX1pYZktvAsArS1gBAM QQGjEEwYIkVNpWlVpVLBSSSLhVIUsCoK1RirRcpzYHoLEwPQgGSLDXJSBzyheOw0R6YQwJ48hcHE wiElP/8tIMOsYgEZFAKwsEZkiSSCghgFIYQiRUm4ZZkSaYxE4GyVSRgkTGMFyYCexVyFF8AjMs8k OK/ruQqOJieJ6MnNfDt6Xv0SS25bYjvKWZ85xEpjE6VfMYixGToNJ7mZa3LxB4OEVQPLSO4oxLbk JMAta6wyIXWNqqp++mZkV7ffiTtU7+Qr3ZMcx3JTFaor6nKSqbBm70/cXgeKkMNDnw46s6zT8uvG kTgXcRw+WR9QDUJhV4A47GJmDrlMIVgVUF674P7i6i0Nyx0pPF8UCYdTeXAdDYMdLwAwzOMkOOXw e6g4nV2uVDaDIYce+9DWOgjU0IUgAVuIZ7VyHGxohcCXQLmHuCODPRCYNdTw0kcnclMBQ7BEceYB wIqoW2jzzLkk9aud0cF2o1rEyjyNpRmmqxGIF2SComEApkQNQwHSByxQyDi6ypZCnOTGgZU40MgP WWdsOm0G2PYBW7QqDxDjBBZDQh169zzNqNOIb2fUY5ZxQDOzjcTxG6EyRtW9bjjka8zDuAi3hywI alG+4CyvunQDjUNwZYN5hxuGDQ02bOzIdbm8hyk8W+4dBFuV6II6YICmdbIj1rrYVaLxD+lksalZ QZk3IJIDgFBz77wM9gAtRDjFS+Nc7K3sUSHiyS6M1+ejOQLnQrOE0hVYAYI70K0ZA50iwDTEUAGH RC50e+BSLbA7bzJBuHbb6C1GJWQbkFobBVwotWLhBUsEMSJJ7JjwKxhD46mMPNpFSLNDmiJgfV2h rP15+o8cMRYKdM7ANs5QPX6eZqWL8jgzW+AmfIPaewtCp/k80FjjuzpdsucNmWzotq+bRcUIHYao h3OAVB5QZWEJ+aSiJF2HA8eEkrsinTuVHdQlD6IlfFpNdnwSLiLnaxWUIGj97RZz9RqZSbUnkjs4 zv9wD5YGAPIiHG73nG5oVN2AgPODNCprSY6I/Eq5iKKTgEOF5Ah2cZGLhSxve+9vMNS0xl3manS+ lWzMM9iLFxRaraQ5IrOJuR3XHqZwuAtjHI1qGRrM0SjBpmtWsgFjAUGw4BBR6abaNkRISaIZzAR5 doji2qKKkFopbJfhk2kQMeyoFVsG0pDgIXcxgGFGD36TBQfq5zWgDDB2UqtUIqZKXm7TSLUVI5hZ EhJYV4vIrUld6yuz25P56GkObGDc6WAKqg3OI7pWrYx7Lmsl5A/sI5L2kTyLnTc1HnBU+JfMZnGz q9OXQ+Qdw0Nnf4GlFZYY0byuJm07c+t02UVMLcNVwXkvnI+U3ocRs0CQ0U8ITPPkUkuqL4vFLFvV ZfgHRq3UbXe5CV4uuHAMXezJHiYP0d8wAxaHDwH/GsNZGbfD6fMvPTHBygdvYQ5ymxgILBX0LEos W5lEwXCAuwnIR9fBq/6xHmExtzW/XHGx0NmWlF7Pfipe7Q7vm9TQdj5GA9DEZz1aNGjVoBtRwTpL VvQLS8AZrUEUV3mYIGvZVwGi7IEw8CrrPK1ybGZlB0+pUi0OpE+U99bxRqXd5B2DPoN5zMd0KGo7 b10wHXsBEZTgNzFgQud+TCtXhqwWZGO+VrWKqzDRtieIaTWaOg7h1mfqOV/EOWejoN0hKm7M/mAV CUffMGYNzlJJZnHpeIA0MPDDvI700rtYsWEUZCKshtNisychCJJ9MjmaVgdTyGWB6qeJm22LLLHi ujipchZsTwQaN9Hl7yNbCc2RhiQ2gveQ7i9PTOB1dTQ1Lw2LxzzNeIjzsZNAk/A1yJQp9YB7ACwh t3SCLsxuONswCZnUqaB2jHEaFUMsTWLUpUUFnCoPN7G9qtVoLiTiZPlGCSLEaNKrWkd3uMOJjaDn S0qAUiaTh5Awi9rFQ8GWyYH+YQ3Y6jHHHExtosV0KZ4M7LaUYtFu4vAwp8yIZMFWe4wYy/NFLLXS jgqwxFr5J10pScy5HrsVraOBOSVRa8jaASkkkYE+ImFMWRM6Inxl42olo0EYNgy0EvUbrwIMrr5f lDiWfXqk7VvZti73XCdQIe1enG3TCZYpGmZoqIxLBiIxgCG952gAgBMUqkRGmNJipg20+hNzP2D2 BXLf1ZgVKr/Pc3ag5AgSLGARQkJHtfk7PIhddSr8mP94cWxvDucN724m0Ct7Y1Lp34ZnGe7nCe/f qDDt5nF9/uHZ0DOQiMBkFYVp53HY76UBbGBBi8245g+w48eHmfr8mURvLipJ+76xTC1zv92Tz1fB sX9j2Mq3CzVpZqK8r8MRH6kl3NNnFNyNxH2vnoffUwe81PM2sao/ZseiEkdTvPlz3mVOpGUZHpUV kheoQ/GPbYDvN6kktxuWtmITOJp+YVOMwLrVD2OGino3wC8g8znMTxNQQ9Eg6LD1sn00DdAzWGcu NRrJp51uFdkfWE/1nuiewie4+cIRqh2Su2hgkaijAuFI+RC5tMuS/aaI3P/hj4ZNTnVEy+NDX2nH IHusbHB6BD4EvzlplyadJ4A2eEH7TxBGiwoSiQoSgQowoMKEokKLBp2jtOrf6dFw9afiDcGQOfnG 9n9oev96Qf8aOgs6mYc2yZXY4dvOo4q66c1iztYd2Jev2dPjmmH1OdbVE08zKnCngtRW/E5DuSvc YMjduaW8y6c/jdd7ndlrx/sHERNXZS2dRPHY64JFVOwLzV4TSiDuGPZ5hMDIbhPgBtavTPNF6UZX r7xUsCHixDdjsDVU2m5sLcfpn6fdAqO8CiHpcYPCEWfqIV9MyFam3vhgQEgfpXvXOux4VSI93Pf7 70uUX1byqEbnvPAFd2Q5rnz+tOW/bfRf09phOwjt83M4k7zTnv9YmdNlZ3ho23vbwtknj29d19d0 uxKLbbIrkRKuTeotTvmEiAe074oM3cQ6APgdA+n5vebUtM009uvh+2HOJM5z6QH6HgRIuFzktBGD Jgzj0O3oZHOPITrFymkOhg3wIQkhGgWFgvodCjZR7wldN8sMohrV3EQNiQ1nPxtsJZ1GsJzmJBI4 YA8cwRjhOddvYKWLerViKiNYKnuOnzHuIrA2YiPkaCYjAMpOyNEZqxIYo66leI7VW+mruEmBK9Wx NvHxdqX7i8jvQ8KkS4qkNE8FdtmLR42p0WzyX/uN1t/q+cUrBaWPcRFH+QSr8Q5C1FJf3ZIE4TCX OTomP99T2Clj9KoVAoyPyzYIN5kTNNJROuVF04Cb3d3rvN62VvIueb6eSltmDi+apbaPmXB3xKlI jpj40WKlfhEWmTrJPD1l8geFP95M+jURVuvbGjdEfhJo+qSiTI4Gd14ppDphwvToKSbUzB0+StPy qbV7D0KSp0RPRZyCg2I8da+mZKKSJorulVU2PNt9IVHk8ajobkzUSv3LbFhJFpRUIq+/Nm/5puMl 3D+eVmZbfaiw7gsnoX14nEsPMyRLXhOLiyO9IUPwpM8lOS1Ow4hy6n6+deDs7UqNSfdB+Lq0zx0q MhiT5zscv/qlZGL8SvpLxs8NxsSEfgZAC9Q/QnHg5wokLl/i2fO4H2T7P1Urr8f2/AfCfNMqXgvm mrMflEq73mD87ToTOnRt7Rgky9r0xHtDyR9w55g6/cs0n+aYySLz6O97KjWZZkp9VBlFHrDyOlcn dInretRxOmXXmDK6XUcUz9XhTZUwRxi3ATCFRSSOiXp5mlcn1ohdO375QxyTumqJIqSapxVJKbed H9vDeM+Nux9TKVjQ85VnZk/A3F/z2JPEeEkDxdguRXkrnuOPb35HwOjFD3RURyoRLz0CpKpN++pM Iz2qJKKt5GPpFRNHp6J5l6ZLsaXkYTycq6H4Yr/sEbxk6tJd3Q0Yn01MglRgQiviOg+4vNBB5aFK VUSolklkqCKkrSyix1lRFh040lqsdQwFSgrredptDGlJiGWVu7rWqOFKOYlKtpVM07M0/Putwyid tEK6SJRBpCsWaUfdZ8TqPWlZSUKakeVXHKdGUsa5z8bcpfq3Wv0C2qITQUT33PkTOoRWlk87ee3P J3/qLbGyL1oqaVHTwsR8AgP1Foha30DTXpJVwWsNvCQ4a3TUlkQ6nFF5r+aUSURKckYiKHwi+pM6 coXc4cTgjxlG3XN6pzPEuw0p2bWlF7ZejTFRslrM0np1O/rOg8DM2nKGikmJlJHvldiw3ftN9NW2 lI40a61LlXjKSbjgXF0lBJLOlK9ZstrrxY0kdSZnrxT3SsjwzJpw27cnYuNG8VayuJy2KkpQiRxy y4WWWQ+r7A+0O+TUG2w1geJz4GAh6hq2jfAd7i0XuErtpWtJMlLqmiDbjC1GuqzqOk746gfCjeJo Eg59fKuWDDbsqMxUe9YxiSISOwWtu2XgBXJaL4DOuaKQjISElX6fgGXijwIQIEIQhCGXlE8ZwBTo A1IDuCOeK3hANKjSgaIacAovlW27cgsgcWoIJoouQjdm6LMkJxmBLvgHB5mpSzAOBYGFdZUaJhAb WA8PeJQOJwMQXgHryuYZYyJL0tJKMymihVcqRb2GFYwVnmirHjHlrkDjeNyaboSeUeipCtFXzpUr q9l1a3BsKySpO04JXGdMnJlfRpS5kUM8sripTKS4Xcpg+ZcwlNTCq18pE3oajc9IWc7aop8Z6kT3 OBuS51Tqd3WdsPVjDyL8dD6a40PzNfAWT5aEvTlKZlJNqd5/FPsTIEdfendexu9m7ZXUNVJHYxmK H2HCGidxvI6x0Mf0c/CW69KdiHR/bn1uBrNu9nZQd57ra3x+m2HFvhpNQbmUfmjxPtPHmeii4+0+ dbWwx5nUXjKVcLu4eaOawdbB9C2JiVuw0OErN0qkHAw8UdcTZLkwpbwNVcksLcDW+HUMLz2PlD1P PrHcaWYkYiqaxktHsbBWi1gfJmxnhE4STIYw2sGpw+Say3RN5VCjS1jWXj9eU/1Of7f42fB/+LuS KcKEhj9rT3A= --===============0146097928==--