From: Bjorn Munch Date: September 8 2010 8:04am Subject: bzr commit into mysql-5.1-bugteam branch (bjorn.munch:3503) List-Archive: http://lists.mysql.com/commits/117749 Message-Id: <201009080804.o8884DLa002877@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0534825685==" --===============0534825685== 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:martin.hansson@stripped 3503 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-26 13:14:50 +0000 +++ b/client/mysqltest.cc 2010-09-08 08:03:58 +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 --===============0534825685== 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: a83138bc9831e6927a417c7732ba68287fb5c8d4 # timestamp: 2010-09-08 10:04:13 +0200 # source_branch: file:///home/bm136801/my/mtr-51/ # base_revision_id: martin.hansson@stripped\ # x92t31cz3xa9exn2 # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWW2pGJ8ACrvfgHZwfPf//3MG vAX////6YBDua07uq582ffKe8A+7FB9NPRoH3333Xe7PTx627PF3jdsh7vuAfeNd3B9G+ElAmiaa aEeSbEGmU9RJtT1PKep+qDQAMJ6jeqCSQTAQIaCCJqeIaQDEaAAAAEkTERI0T1NimgBoBoAAAAAA JCiNQFPyEE9U2NUemp6aH6kgemoD1A9Q0BkEUkxT1CangptIeUM1HqBo0NA9R6QADTICKRBGhoDS n6ExDUzJoCk9R7VANAGgCVASpV/O9nxadEwu4X7msN+SRJP+7eE79Hyoklg3g73/30/bb4+NHtH7 i7yGJlyWu9daG+bN7eaFcnB25JKS/fy1NHKe+yFpw6se1s2bOePNPVMtSSsw2yJGd2kDiwzWtCKQ Y19n79jmijMXs4c+9gbF0PdHLOb8yhFm/nOi/Eubxo9GPKINzQGZoBi7GBsyiowbPhh68W5mhgTH 1dL8sHOa2STXz+LGMkT5HOq+UJWP0y9J8QP7A6QGhNtjaGNtJttU1elIPO9N6PIFkN1vpU5yQr8Z RMomQcVeis0X3cGtLszzjus+WOLO8STGIImJtgvjEFDDYOCGiWMO9eVs7Q90Ge9x762eQjOxJxF0 siMOaNeNvtZt0M5qN49nTt5d2Zs0CG6Oy1hLI0VpBrsZ96Hv591REeUTuzU1aXqNlIGVoVfj42kB CeV3urFCpRrMzQ4dGVRoH+ZOiAb4xml0NNsNkJnQY7Ccq1d4aTb92F+HC9uO6kpoO1eXlsXYP6D8 ud/c5zXRl8+O8B5Dem/rvZxTv2TCC9oWv9spJL3cw5RiFlO3upQO3hAbswjVzUBl/fB6pe+5d9A1 FLguDugQOvlyp7X15HZ25FC4z99HTSV09v3pLzCS8BwBzHmoBJ+3faT1yCXw93qBmFy00A8kknsN D6mAgSGAmhtSsSoxPkWEzzRjYuSRGZmpi+ntuvsDz+alFM25gQQXEJOTJDAA8rFyKot9QK7r1JCS SSSZ/VW0KZuMywIzdRvSAqsGwGwbQFK88RFWAshLFbpUMhSwzGBKDeIUAsKdgmlrFFskAXE6AHKB xYMDhdSHOILRGos42WsYT5RttAGgC1q0D5FyjOArRArWTXLwZDAFBgW69IEKGo53CUSrVC4vmJuF JqLDFzAgcFvRBu0SP6twqUSh1mfwWVMINy97bjOyWbIo03mB2iw5FyRb6izcpEAohAhRA0iyDJMX KJN/hfjcCGQoo4CfhpuL00sytFE5owGRgKOWaGFCEua0667Z8tIaI7idZdcxRMxJjViMyuR2EHRA 9Y0kbf8RzRMwcjti5AInag0dwus2Exrtv8Gy5Ob20pEwLXQkxyOEh+wE9io4Y3cuYFzU6d+aHRAH QGOYvMUsaCImhvXIc4eNHNfMAZIZIAePD7JHGp5RtupmF057HQfsYB+RdqHyFHIN7lxrdfHpMwXk YtXIHsVC2ATK9Ke1NHlR2an5zICKOn/3k79AtV0MQDpsaaYQdzl1HldHOnfZgbZ7xZ5k9+oj1kSC U0wGS7Os2a7m5CPnHWSlwKwW5UirXWqpRN7BmD707McM5PwZtenbM152hJFBrwsQgqnODQKfNj7y mZykzymex5c4m519TZbYTLcj8yDlAMvVwlUU3Fas9LyRwdDlXDHOPO8mrq0SPBWO+KPNGPW28bLI a1jghe+Nb41yuN/49Tz6INPieF9yrzK7ajYZpnSa6ENRBcsWEDJKwazBAtjK20u/UJhlKqmHSJSJ XxYoOn77DjGgu3eMhs2o/vrRpZ5D93A55C8YKc8ooZADIZeELee5x6b2Mcrw8weYNBjpm4mUeKBc jGB7XLCD0CaOohgyPqOweoodjjosaU1Ooz5sznA4dpNHZt6igCeFMnrlA5IyVzLkWqazr3mL51nt FwttpvbMZGUMs1MCmLNNEDZHLkyK8VmH4PQ8aHhRLQYahbMJaWoeDeyDWvMz8zczBGxsWHPgO53J fAHV9nx7yM6Dix7ynTbQ03Hy+B7B2PeFhDlhJgTcTvLHDNEhxF77bIw6qr2e2GpacqOYNBqKvA3X z4efWmKa5iGCGQLjjX0sJ0Iw0lO5nbjKdYSN9uuUpGCJ76U8h0iWUhm2KlYoz9iICVjd30aEiRj4 aY4zz1OKFJdXVHAX6nmFptuKx5lj1L8uDJWFsX6qJ5xoQsodk0zej5hLvx1IZX0Q8u9XpnHbWaDg gI6kHKZwt+92OATukGbXPz3sb4pkSppubozEFCGIuGJysQc+BWD+JPLUBeBah5HQ+gXmcVpyavjc i2jb802ptQlmMK5IcmARfDiV3dpvOUiqScsiKSU1UZ894VJXXQrUZYxJUxSp2gVKVJ4KSrlGLirX dMvmyPqIdUVt4nc2KWIFn4PgVM3O1M/pEuol4vnynnAM3OHIgP0yZw+EKwTGnm9Iyi42m5ej3AuX VyQZjvcp9ImetIeq1FtEyLTO56GEaXlO5rPsY0LuHMmdLujwMjnaJU1oUKWU+Z2QeKdiBIfVUOZg XmMD4ZvuhyRBHAznoA0Q6aQE0vpFElDnrdhSiNUkIQM0iqNlBJKkxE+f/GEfE6/f6a3m/pS3umh+ u9Hohfn452+maMrtKxutQgma2hth7FixtttwoBABldfj1I/oBO3R3J+cKMqIGR/LU/1tZAQQEKxB EX9FtE+mk/3C6YOeM0UI3aAjm1ZQvc/Tt3Op0JAGJRieCRMNk5gE2GBhaLeJaHVrEPQ8iQHmOyPb 4D3+Hmjy1d8bJnDCTxfofNDmVafsUWqnnKXY7SjRRn/VmeEIDlxPTpORyNo5eCiKpB5Ffre33ZOU QNkUTJpcY+kTVnVeiLA8jG9UA9jvxTBC1ITDV65kKz3fh7pbJqsDYbS0jGNoy6iaSY/HaPcciSM4 wG3juE5cOYSkaSYgNPU0nPSZ1AtNF2RQRKCk7ZGnHrw5jqA+s6waghkTIhkHEMg4DIMb/qKzzyei 9foBgXhWGs8FzSSPhjUr8wrDTYXcnXDjfhBri3gOYV75qAX0hMUnF4hh6KwC5O5Fu0gzlz4FMHB0 fBJnwl+IvumqBEMvZGN3ETKYQhUDm2gIbE9hooqNYmZ/kM33ICYHAkSO+pOOG8qMvWRR3ce/Z2xc lgdlcF4uHfYZhDPHWSL613IZoRIPdaeKZlSREbnplSO3579dGCTe22muRqzbD1Hcj9ZOVTgcwcSd Lw+iHLOce1D0usen+QwkrT0OQkDXGd8+6aYtORLWJw3sqXKW+0iXrfGZMiMNbqKBqUPaceYylp7W 5mx29DA5x5AbwN5mNaYWbbGmyKpUDSkGG5n0qC1cLqBeOEuoxUORtbZI5zZC02nVAHj9BhOorciG 7ProgiVHnv4cAl73i9hMjDtNeiiGjjUijLV1VQRRe/Gv1RIJhjiyO+jxK9yQhUkoZSRKtOt3aJ1Z 1dluRnsjhSZYLTwaijT7BW2wMiYkq/2FAkmVSSsPgcG6RxixN267huVIN45dbjwonAYkzORWK8A4 HEmOOzI34Dhg/IZ1mOOI6MhLHONHe15DRx6xeWPiajx+KYwhNIwchL6wMfIBgIHY27oKHQcJfb7N 0xuT1F2HvNI7MXUIlF4PWgc48nCEQCYq4hznl1YNHhqG40D0hPgJEkQJhBIR/Mzx/lGonrwY8PpS UPMWh8SruJHIzg1HkXkxxSExKcVo9DkG0s2YtiWoYGdHFCNUHImcxBfbyaHg6JGlG9nDHlciDy4B WzDaih1K49NQHdG98/TyF5pxTAldYDgfQHsNip9qHSNCPPTaLMBqtkDBZcxKcS8AoD70ZIQGsUVj v7RpqLzczJiD2K9WQRkkEjxGdPkIk2yxWrq52Z8IG0wglThVKk8C2kEofCvzwIcXKiBIC8gDj3Qf +5XDgNF9jknZYnyZE/dqKpuZBmmkofCvf6ZfA2bVANJ0F70JpraB13SSgtAg3awSsCBOnROgVJWl SPhZvPiX+/hFbz6nGmmC8ZYCAxtB1cD2nEbhibx4nVtooBcrlJFZDck+NkUshqC4AqYQITOkIgVB HZDJD5vdDaIr9ukYp1oQ+wNBrQTSyAN8KzhQhFkOQT37fZvDrEwhgItEzysMJowGboAhYEJmtiBK yAKGE9U50+dg8P1LQTzp+KIGZQkvtCl4iHQoVs+R3kzeOr1s+ihkznilwDhQ2m4TT4pAECEcBrRg PgcEhtTm+juNyH0NR3PW1LcdPfjQ1FB9x1lpd2IXNIWZXehuQhOWIFs3EzR8uiMueIL88ibVC6Am UJACk+KRJctar2GCxlI1xe0dShPNJo2JVkz2WFLj0DaSUuYSIRAjNZmSzfI/AFSw1xVZKQ9DgfAo EDsQST5HxintNyk9EmeeahYwimIuBeCrzaOnosjafOCsI0CGjDjwSqbIKGs39m+5Nrkq2DY2Nh5Q K/E7JIvqB07ksGm02mx0Xy+Abl7APBtNNtsZiu8jeC8RuG9NzCrwI0QqYQgC5QhOJnHoCL1q+/oU stnm+Qc5286pHqdTbI7roymJfdE7KjBMgzJsSUchRbbZDowySx6Rcasce6UJfjxZjNDZq4FFkAM8 bJgdEcCI+hN4Ex57DKyxLZ4j0K0qTSGiPJ75kE5CHJJk7vmqc6glsIAJJxNgzC1MXAxnmZkqMRAW tE0kRjEpagIvw+JUYWM5hlrUL1c56oX+Q0UjGSBD1NpclJuC3bKztHecHrjF8CxPLQ/HyHMduVK2 wh1DuP3p7AXordyGs5cuKSyAZYUvMJFeIuxcSsLRVlvHktCuSWx/RvDd2FWbroSRecmlLfocZWYB +9A48W59SCpg2GtCu4pHvZabx+onaTHJg82kGTpfoHLW0BCD+B2ibQdAXpj2MhLAowGg9zgOo6Fz 4nLmPaZivGC4A0DSPQ5ILiJlV2rVfAF4QWORM45o2OCK/CJ2e4t1jH3cIfENcubbLyh/xdyRThQk G2pGJ8A= --===============0534825685==--