MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Bjorn Munch Date:March 3 2010 11:56am
Subject:bzr push into mysql-5.1-mtr branch (Bjorn.Munch:2896 to 2898)
View as plain text  
 2898 Bjorn Munch	2010-03-03
      followup test fix after 49761

    modified:
      mysql-test/t/mysqltest.test
 2897 Bjorn Munch	2010-03-02
      Bug #51590 mysqltest: --disable_abort_on_error does not work inside while/if
      abort_on_error flag for stmt was set at initial parse
      (Re)-set flag before execution instead, also added to test

    modified:
      client/mysqltest.cc
      mysql-test/r/mysqltest.result
      mysql-test/t/mysqltest.test
 2896 Alexander Nozdrin	2010-02-20 [merge]
      Auto-merge from mysql-5.1.

    modified:
      configure.in
      scripts/mysql_install_db.sh
=== modified file 'client/mysqltest.cc'
--- a/client/mysqltest.cc	2010-02-17 15:28:02 +0000
+++ b/client/mysqltest.cc	2010-03-02 11:39:32 +0000
@@ -7571,9 +7571,6 @@ void get_command_type(struct st_command*
          sizeof(saved_expected_errors));
   DBUG_PRINT("info", ("There are %d expected errors",
                       command->expected_errors.count));
-  command->abort_on_error= (command->expected_errors.count == 0 &&
-                            abort_on_error);
-
   DBUG_VOID_RETURN;
 }
 
@@ -7918,6 +7915,10 @@ int main(int argc, char **argv)
       command->type= Q_COMMENT;
     }
 
+    /* (Re-)set abort_on_error for this command */
+    command->abort_on_error= (command->expected_errors.count == 0 &&
+                              abort_on_error);
+    
     /* delimiter needs to be executed so we can continue to parse */
     my_bool ok_to_do= cur_block->ok || command->type == Q_DELIMITER;
     /*

=== modified file 'mysql-test/r/mysqltest.result'
--- a/mysql-test/r/mysqltest.result	2010-02-09 17:13:57 +0000
+++ b/mysql-test/r/mysqltest.result	2010-03-02 11:39:32 +0000
@@ -325,6 +325,7 @@ outer=2 ifval=0
 outer=1 ifval=1
 here is the sourced script
 ERROR 42S02: Table 'test.nowhere' doesn't exist
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'else' at line 1
 
 In loop
 here is the sourced script

=== modified file 'mysql-test/t/mysqltest.test'
--- a/mysql-test/t/mysqltest.test	2010-02-09 17:13:57 +0000
+++ b/mysql-test/t/mysqltest.test	2010-03-03 10:17:00 +0000
@@ -863,7 +863,7 @@ while ($outer)
 }
 
 # Test source in an if in a while which is false on 1st iteration
-# Also test --error in same context
+# Also test --error and --disable_abort_on_error in same context
 let $outer= 2; # Number of outer loops
 let $ifval= 0; # false 1st time
 while ($outer)
@@ -874,6 +874,10 @@ while ($outer)
     --source $MYSQLTEST_VARDIR/tmp/sourced.inc
     --error ER_NO_SUCH_TABLE
     SELECT * from nowhere;
+    --disable_abort_on_error
+# Statement giving a different error, to make sure we don't mask it
+    SELECT * FROM nowhere else;
+    --enable_abort_on_error
   }
   dec $outer;
   inc $ifval;
@@ -1724,7 +1728,16 @@ select 1;
 --reap
 EOF
 --error 1
---exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.in 2>&1
+# Must filter unpredictable extra warning from output
+--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.in > $MYSQL_TMP_DIR/mysqltest.out 2>&1
+--perl
+  my $dir= $ENV{'MYSQL_TMP_DIR'};
+  open (FILE, "$dir/mysqltest.out");
+  while (<FILE>) {
+    print unless /Note: net_clear/; # This shows up on rare occations
+  }
+EOF
+remove_file $MYSQL_TMP_DIR/mysqltest.out;
 remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.in;
 
 drop table t1;


Attachment: [text/bzr-bundle] bzr/bjorn.munch@sun.com-20100303101700-lhdk4akbr2ik0ans.bundle
Thread
bzr push into mysql-5.1-mtr branch (Bjorn.Munch:2896 to 2898) Bjorn Munch3 Mar