List:Commits« Previous MessageNext Message »
From:Bjorn Munch Date:November 27 2010 10:52am
Subject:bzr commit into mysql-5.5-bugteam branch (bjorn.munch:3146)
View as plain text  
#At file:///home/bm136801/my/merge-55/ based on revid:wlad@stripped

 3146 Bjorn Munch	2010-11-27 [merge]
      merge from 5.5-mtr

    modified:
      client/mysqltest.cc
      mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
      mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test
      mysql-test/include/restart_mysqld.inc
      mysql-test/lib/mtr_cases.pm
      mysql-test/mysql-test-run.pl
      mysql-test/r/mysqltest.result
      mysql-test/suite/binlog/t/binlog_max_extension.test
      mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
      mysql-test/suite/rpl/t/rpl_trigger.test
      mysql-test/t/mysqltest.test
=== modified file 'client/mysqltest.cc'
--- a/client/mysqltest.cc	2010-11-19 11:35:53 +0000
+++ b/client/mysqltest.cc	2010-11-27 10:52:17 +0000
@@ -5684,6 +5684,17 @@ void do_block(enum block_cmd cmd, struct
     while (my_isspace(charset_info, *curr_ptr))
       curr_ptr++;
 
+    /* Strip off trailing white space */
+    while (my_isspace(charset_info, expr_end[-1]))
+      expr_end--;
+    /* strip off ' or " around the string */
+    if (*curr_ptr == '\'' || *curr_ptr == '"')
+    {
+      if (expr_end[-1] != *curr_ptr)
+        die("Unterminated string value");
+      curr_ptr++;
+      expr_end--;
+    }
     VAR v2;
     var_init(&v2,0,0,0,0);
     eval_expr(&v2, curr_ptr, &expr_end);

=== modified file 'mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test'
--- a/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test	2010-10-21 13:24:31 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test	2010-11-26 13:30:22 +0000
@@ -53,9 +53,7 @@ source include/wait_for_slave_to_start.i
 connection master;
 # Write file to make mysql-test-run.pl expect the "crash", but don't start
 # it until it's told to
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 
 # Send shutdown to the connected server and give
 # it 10 seconds to die before zapping it
@@ -85,9 +83,7 @@ source include/wait_for_slave_io_error.i
 eval set @@global.debug = "-d,$dbug_sync_point";
 
 # Write file to make mysql-test-run.pl start up the server again
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 
 connection master;
 # Turn on reconnect

=== modified file 'mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test'
--- a/mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test	2010-11-17 10:16:13 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test	2010-11-26 09:57:01 +0000
@@ -36,8 +36,8 @@ let $ddl_cases= 41;
 while ($ddl_cases >= 1)
 {
   --echo -b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-  let $in_temporary= "no";
-  let $ok= "yes";
+  let $in_temporary= no;
+  let $ok= yes;
   #
   # In SBR and MIXED modes, the commit event is usually the third event in the
   # binary log:
@@ -91,7 +91,7 @@ while ($ddl_cases >= 1)
     {
       # This seems to be related to epochs.
       # We need to check this against an updated version or avoid it.
-      let $ok= "no";
+      let $ok= no;
       let $commit_event_row_number= 6;
     }
   }
@@ -356,7 +356,7 @@ while ($ddl_cases >= 1)
   if ($ddl_cases == 11)
   {
     let $cmd= CREATE TEMPORARY TABLE tt_xx (a int);
-    let $in_temporary= "yes";
+    let $in_temporary= yes;
     # In SBR and MIXED modes, the DDL statement is written to the binary log but
     # does not commit the current transaction.
     #
@@ -478,7 +478,7 @@ while ($ddl_cases >= 1)
   if ($ddl_cases == 8)
   {
     let $cmd= DROP TEMPORARY TABLE IF EXISTS new_tt_xx;
-    let $in_temporary= "yes";
+    let $in_temporary= yes;
     #
     # In SBR and MIXED modes, the DDL statement is written to the binary log
     # but does not commit the current transaction:
@@ -618,14 +618,14 @@ while ($ddl_cases >= 1)
   # commit. The flag in_temporary is used to avoid aborting the test in such
   # cases. Thus we force the commit.
   #
-  if ($in_temporary == "yes")
+  if ($in_temporary == yes)
   {
     --eval COMMIT
   }
   let $event_commit= query_get_value("SHOW BINLOG EVENTS FROM $first_binlog_position", Info, $commit_event_row_number);
   if (`SELECT SUBSTRING("$event_commit",1,6) != "COMMIT"`)
   {
-    if ($ok == "yes")
+    if ($ok == yes)
     {
       --echo it *does not* commit the current transaction.
       --echo $cmd

=== modified file 'mysql-test/include/restart_mysqld.inc'
--- a/mysql-test/include/restart_mysqld.inc	2008-12-25 09:53:24 +0000
+++ b/mysql-test/include/restart_mysqld.inc	2010-11-26 12:59:39 +0000
@@ -1,18 +1,14 @@
 
 # Write file to make mysql-test-run.pl expect the "crash", but don't start
 # it until it's told to
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 
 # Send shutdown to the connected server and give
 # it 10 seconds to die before zapping it
 shutdown_server 10;
 
 # Write file to make mysql-test-run.pl start up the server again
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 
 # Turn on reconnect
 --enable_reconnect

=== modified file 'mysql-test/lib/mtr_cases.pm'
--- a/mysql-test/lib/mtr_cases.pm	2010-11-19 10:26:43 +0000
+++ b/mysql-test/lib/mtr_cases.pm	2010-11-27 10:52:17 +0000
@@ -150,7 +150,7 @@ sub collect_test_cases ($$$$) {
       {
 	last unless $opt_reorder;
 	# test->{name} is always in suite.name format
-	if ( $test->{name} =~ /.*\.$tname/ )
+	if ( $test->{name} =~ /^$sname.*\.$tname$/ )
 	{
 	  $found= 1;
 	  last;

=== modified file 'mysql-test/mysql-test-run.pl'
--- a/mysql-test/mysql-test-run.pl	2010-11-19 10:26:43 +0000
+++ b/mysql-test/mysql-test-run.pl	2010-11-27 10:52:17 +0000
@@ -607,7 +607,10 @@ sub run_test_server ($$$) {
 	    if ( !$opt_force ) {
 	      # Test has failed, force is off
 	      push(@$completed, $result);
-	      return $completed;
+	      return $completed unless $result->{'dont_kill_server'};
+	      # Prevent kill of server, to get valgrind report
+	      print $sock "BYE\n";
+	      next;
 	    }
 	    elsif ($opt_max_test_fail > 0 and
 		   $num_failed_test >= $opt_max_test_fail) {
@@ -854,15 +857,16 @@ sub run_worker ($) {
       mtr_report("Server said BYE");
       stop_all_servers($opt_shutdown_timeout);
       mark_time_used('restart');
+      my $valgrind_reports= 0;
       if ($opt_valgrind_mysqld) {
-        valgrind_exit_reports();
+        $valgrind_reports= valgrind_exit_reports();
       }
       if ( $opt_gprof ) {
 	gprof_collect (find_mysqld($basedir), keys %gprof_dirs);
       }
       mark_time_used('init');
       print_times_used($server, $thread_num);
-      exit(0);
+      exit($valgrind_reports);
     }
     else {
       mtr_error("Could not understand server, '$line'");
@@ -3846,7 +3850,6 @@ sub run_testcase ($) {
     # ----------------------------------------------------
     # Check if it was an expected crash
     # ----------------------------------------------------
-    SRVDIED:
     my $check_crash = check_expected_crash_and_restart($proc);
     if ($check_crash)
     {
@@ -3856,6 +3859,7 @@ sub run_testcase ($) {
       next;
     }
 
+  SRVDIED:
     # ----------------------------------------------------
     # Stop the test case timer
     # ----------------------------------------------------
@@ -4386,7 +4390,12 @@ sub after_failure ($) {
 sub report_failure_and_restart ($) {
   my $tinfo= shift;
 
-  stop_all_servers();
+  if ($opt_valgrind_mysqld && ($tinfo->{'warnings'} || $tinfo->{'timeout'})) {
+    # In these cases we may want valgrind report from normal termination
+    $tinfo->{'dont_kill_server'}= 1;
+  }
+  # Shotdown properly if not to be killed (for valgrind)
+  stop_all_servers($tinfo->{'dont_kill_server'} ? $opt_shutdown_timeout : 0);
 
   $tinfo->{'result'}= 'MTR_RES_FAILED';
 
@@ -5526,6 +5535,8 @@ sub valgrind_arguments {
 #
 
 sub valgrind_exit_reports() {
+  my $found_err= 0;
+
   foreach my $log_file (keys %mysqld_logs)
   {
     my @culprits= ();
@@ -5561,7 +5572,7 @@ sub valgrind_exit_reports() {
         next;
       }
       # This line marks the start of a valgrind report
-      $found_report= 1 if $line =~ /ERROR SUMMARY:/;
+      $found_report= 1 if $line =~ /^==\d+== .* SUMMARY:/;
 
       if ($found_report) {
         $line=~ s/^==\d+== //;
@@ -5578,8 +5589,11 @@ sub valgrind_exit_reports() {
       mtr_print ("Valgrind report from $log_file after tests:\n", @culprits);
       mtr_print_line();
       print ("$valgrind_rep\n");
+      $found_err= 1;
     }
   }
+
+  return $found_err;
 }
 
 #

=== modified file 'mysql-test/r/mysqltest.result'
--- a/mysql-test/r/mysqltest.result	2010-11-18 15:41:35 +0000
+++ b/mysql-test/r/mysqltest.result	2010-11-26 09:57:01 +0000
@@ -423,7 +423,10 @@ while with string, only once
 hello == hello
 hello   ==   hello
 hello != goodbye
+'quoted' == ''quoted''
 two words
+'two words'
+"two words"
 two words are two words
 right answer
 anything goes

=== modified file 'mysql-test/suite/binlog/t/binlog_max_extension.test'
--- a/mysql-test/suite/binlog/t/binlog_max_extension.test	2009-11-22 03:59:48 +0000
+++ b/mysql-test/suite/binlog/t/binlog_max_extension.test	2010-11-26 13:30:22 +0000
@@ -38,9 +38,7 @@ RESET MASTER;
 ##########
 
 # 1. Stop master server
--- write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 -- shutdown_server 10
 -- source include/wait_until_disconnected.inc
 
@@ -52,9 +50,7 @@ master-bin.2147483646
 EOF
 
 # 3. Restart the server
--- append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+-- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 -- enable_reconnect
 -- source include/wait_until_connected_again.inc
 
@@ -70,9 +66,7 @@ FLUSH LOGS;
 ##############
 
 # 1. Stop the server
--- write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 -- shutdown_server 10
 -- source include/wait_until_disconnected.inc
 
@@ -85,8 +79,6 @@ EOF
 -- remove_file $MYSQLD_DATADIR/master-bin.2147483647
 
 # 3. Restart the server
--- append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+-- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 -- enable_reconnect
 -- source include/wait_until_connected_again.inc

=== modified file 'mysql-test/suite/rpl/t/rpl_heartbeat_basic.test'
--- a/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test	2010-03-16 19:23:55 +0000
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test	2010-11-26 13:30:22 +0000
@@ -153,15 +153,11 @@ SET @@global.slave_net_timeout=50;
 --enable_warnings
 --replace_result $MASTER_MYPORT MASTER_PORT
 eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=30;
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
 --echo Reload slave
 --shutdown_server 10
 --source include/wait_until_disconnected.inc
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-restart
-EOF
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
 --enable_reconnect
 --source include/wait_until_connected_again.inc
 SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
@@ -456,15 +452,11 @@ let $status_var_comparsion= >;
 --source include/wait_for_status_var.inc
 --echo Heartbeat event received
 --connection master
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 --echo Reload master
 --shutdown_server 10
 --source include/wait_until_disconnected.inc
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 --enable_reconnect
 --source include/wait_until_connected_again.inc
 --connection slave

=== modified file 'mysql-test/suite/rpl/t/rpl_trigger.test'
--- a/mysql-test/suite/rpl/t/rpl_trigger.test	2010-04-28 12:47:49 +0000
+++ b/mysql-test/suite/rpl/t/rpl_trigger.test	2010-11-26 13:30:22 +0000
@@ -315,9 +315,7 @@ FLUSH LOGS;
 
 # Stop master server
 --echo --> Stop master server
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 --shutdown_server 10
 --source include/wait_until_disconnected.inc
 # Replace binlog
@@ -325,9 +323,7 @@ remove_file $MYSQLD_DATADIR/master-bin.0
 copy_file $MYSQL_TEST_DIR/std_data/bug16266.000001 $MYSQLD_DATADIR/master-bin.000001;
   
 --echo --> Start master server
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 --enable_reconnect
 --source include/wait_until_connected_again.inc
 let $binlog_version= query_get_value(SHOW BINLOG EVENTS, Info, 1);

=== modified file 'mysql-test/t/mysqltest.test'
--- a/mysql-test/t/mysqltest.test	2010-11-18 15:41:35 +0000
+++ b/mysql-test/t/mysqltest.test	2010-11-26 09:57:01 +0000
@@ -1276,12 +1276,24 @@ if ($ifvar != goodbye)
 {
   echo hello != goodbye;
 }
-
+let $ifvar= 'quoted';
+if ($ifvar == ''quoted'')
+{
+  echo 'quoted' == ''quoted'';
+}
 let $ifvar= two words;
 if ($ifvar == two words)
 {
   echo two words;
 }
+if ($ifvar == 'two words')
+{
+  echo 'two words';
+}
+if ($ifvar == "two words")
+{
+  echo "two words";
+}
 if ($ifvar == `SELECT 'two words'`)
 {
   echo two words are two words;

No bundle (reason: revision is a merge).
Thread
bzr commit into mysql-5.5-bugteam branch (bjorn.munch:3146) Bjorn Munch27 Nov