List:Commits« Previous MessageNext Message »
From:Bjorn Munch Date:January 12 2011 10:32pm
Subject:bzr commit into mysql-5.5 branch (bjorn.munch:3231)
View as plain text  
#At file:///home/bm136801/my/main-55/ based on revid:epotemkin@stripped

 3231 Bjorn Munch	2011-01-12 [merge]
      merge from 5.5-mtr

    added:
      mysql-test/include/plugin.defs
    modified:
      client/mysqltest.cc
      mysql-test/collections/README.experimental
      mysql-test/collections/default.experimental
      mysql-test/lib/mtr_cases.pm
      mysql-test/lib/mtr_report.pm
      mysql-test/mysql-test-run.pl
      mysql-test/r/mysqltest.result
      mysql-test/suite/bugs/t/bug57108.test
      mysql-test/t/bug46261.test
      mysql-test/t/fulltext_plugin.test
      mysql-test/t/mysqltest.test
      mysql-test/t/plugin.test
      mysql-test/t/plugin_auth_qa_2-master.opt
      mysql-test/t/plugin_auth_qa_3-master.opt
      mysql-test/t/plugin_not_embedded.test
=== modified file 'client/mysqltest.cc'
--- a/client/mysqltest.cc	2010-12-20 14:15:01 +0000
+++ b/client/mysqltest.cc	2011-01-11 14:23:39 +0000
@@ -468,6 +468,8 @@ TYPELIB command_typelib= {array_elements
 			  command_names, 0};
 
 DYNAMIC_STRING ds_res;
+/* Points to ds_warning in run_query, so it can be freed */
+DYNAMIC_STRING *ds_warn= 0;
 
 char builtin_echo[FN_REFLEN];
 
@@ -488,7 +490,7 @@ VAR* var_init(VAR* v, const char *name,
 VAR* var_get(const char *var_name, const char** var_name_end,
              my_bool raw, my_bool ignore_not_existing);
 void eval_expr(VAR* v, const char *p, const char** p_end,
-               bool open_end=false, bool backtick=true);
+               bool open_end=false, bool do_eval=true);
 my_bool match_delimiter(int c, const char *delim, uint length);
 void dump_result_to_reject_file(char *buf, int size);
 void dump_warning_messages();
@@ -1275,6 +1277,8 @@ void free_used_memory()
     my_free(embedded_server_args[--embedded_server_arg_count]);
   delete_dynamic(&q_lines);
   dynstr_free(&ds_res);
+  if (ds_warn)
+    dynstr_free(ds_warn);
   free_all_replace();
   my_free(opt_pass);
   free_defaults(default_argv);
@@ -1318,6 +1322,17 @@ static void cleanup_and_exit(int exit_co
   exit(exit_code);
 }
 
+void print_file_stack()
+{
+  for (struct st_test_file* err_file= cur_file;
+       err_file != file_stack;
+       err_file--)
+  {
+    fprintf(stderr, "included from %s at line %d:\n",
+            err_file->file_name, err_file->lineno);
+  }
+}
+
 void die(const char *fmt, ...)
 {
   static int dying= 0;
@@ -1337,8 +1352,12 @@ void die(const char *fmt, ...)
   /* Print the error message */
   fprintf(stderr, "mysqltest: ");
   if (cur_file && cur_file != file_stack)
-    fprintf(stderr, "In included file \"%s\": ",
+  {
+    fprintf(stderr, "In included file \"%s\": \n",
             cur_file->file_name);
+    print_file_stack();
+  }
+  
   if (start_lineno > 0)
     fprintf(stderr, "At line %u: ", start_lineno);
   if (fmt)
@@ -1368,20 +1387,14 @@ void die(const char *fmt, ...)
 void abort_not_supported_test(const char *fmt, ...)
 {
   va_list args;
-  struct st_test_file* err_file= cur_file;
   DBUG_ENTER("abort_not_supported_test");
 
   /* Print include filestack */
   fprintf(stderr, "The test '%s' is not supported by this installation\n",
           file_stack->file_name);
   fprintf(stderr, "Detected in file %s at line %d\n",
-          err_file->file_name, err_file->lineno);
-  while (err_file != file_stack)
-  {
-    err_file--;
-    fprintf(stderr, "included from %s at line %d\n",
-            err_file->file_name, err_file->lineno);
-  }
+          cur_file->file_name, cur_file->lineno);
+  print_file_stack();
 
   /* Print error message */
   va_start(args, fmt);
@@ -2519,7 +2532,7 @@ void var_set_query_get_value(struct st_c
         break;
       }
     }
-    eval_expr(var, value, 0);
+    eval_expr(var, value, 0, false, false);
   }
   dynstr_free(&ds_query);
   mysql_free_result(res);
@@ -2551,12 +2564,16 @@ void var_copy(VAR *dest, VAR *src)
 
 
 void eval_expr(VAR *v, const char *p, const char **p_end,
-               bool open_end, bool backtick)
+               bool open_end, bool do_eval)
 {
 
   DBUG_ENTER("eval_expr");
   DBUG_PRINT("enter", ("p: '%s'", p));
 
+  /* Skip to treat as pure string if no evaluation */
+  if (! do_eval)
+    goto NO_EVAL;
+  
   if (*p == '$')
   {
     VAR *vp;
@@ -2576,7 +2593,7 @@ void eval_expr(VAR *v, const char *p, co
     DBUG_VOID_RETURN;
   }
 
-  if (*p == '`' && backtick)
+  if (*p == '`')
   {
     var_query_set(v, p, p_end);
     DBUG_VOID_RETURN;
@@ -2599,6 +2616,7 @@ void eval_expr(VAR *v, const char *p, co
     }
   }
 
+ NO_EVAL:
   {
     int new_val_len = (p_end && *p_end) ?
       (int) (*p_end - p) : (int) strlen(p);
@@ -7679,6 +7697,8 @@ void run_query(struct st_connection *cn,
     die ("Cannot reap on a connection without pending send");
   
   init_dynamic_string(&ds_warnings, NULL, 0, 256);
+  ds_warn= &ds_warnings;
+  
   /*
     Evaluate query if this is an eval command
   */
@@ -7836,6 +7856,7 @@ void run_query(struct st_connection *cn,
 		     ds, &ds_warnings);
 
   dynstr_free(&ds_warnings);
+  ds_warn= 0;
   if (command->type == Q_EVAL || command->type == Q_SEND_EVAL)
     dynstr_free(&eval_query);
 

=== modified file 'mysql-test/collections/README.experimental'
--- a/mysql-test/collections/README.experimental	2009-08-13 13:29:19 +0000
+++ b/mysql-test/collections/README.experimental	2011-01-11 09:53:22 +0000
@@ -15,9 +15,13 @@ The syntax is as follows:
    and any subsequent characters are ignored.
 
 4) The full test case name including the suite and execution mode
-   must be specified, for example:
+   may be specified, for example:
         main.alias 'row'     # bug#00000
 
+4b) Now, combinations will also be covered if only the test name is
+    specified, for example:
+        rpl.rpl_ps       # Covers 'row', 'mix' and 'stmt'
+
 5) As an exception to item 4, the last character of the test case
    specification may be an asterisk (*). In that case, all test cases that
    start with the same characters up to the last letter before the asterisk

=== modified file 'mysql-test/collections/default.experimental'
--- a/mysql-test/collections/default.experimental	2011-01-11 08:01:51 +0000
+++ b/mysql-test/collections/default.experimental	2011-01-12 14:25:59 +0000
@@ -21,7 +21,7 @@ main.wait_timeout @solaris
 
 rpl.rpl_heartbeat_basic                  # BUG#54820 2010-06-26 alik rpl.rpl_heartbeat_basic fails sporadically again
 rpl.rpl_heartbeat_2slaves                # BUG#43828 2009-10-22 luis fails sporadically
-rpl.rpl_innodb_bug28430*                 # Bug#46029
+rpl.rpl_innodb_bug28430                  # Bug#46029
 
 sys_vars.max_sp_recursion_depth_func @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
 sys_vars.plugin_dir_basic                     # Bug#52223 2010-11-24 alik Test "plugin_dir_basic" does not support RPM build (test) directory structure

=== added file 'mysql-test/include/plugin.defs'
--- a/mysql-test/include/plugin.defs	1970-01-01 00:00:00 +0000
+++ b/mysql-test/include/plugin.defs	2011-01-11 13:27:03 +0000
@@ -0,0 +1,41 @@
+# Definition file for plugins.
+#
+# <lib name>  <directory>  <variable> [<plugin name>,...]
+#
+# The following variables will be set for a plugin, where PLUGVAR
+# represents the variable name given as the 3rd item
+#
+# PLUGVAR: name of plugin file including extension .so or .dll
+# PLUGVAR_DIR: name of directory where plugin was found
+# PLUGVAR_OPT: mysqld option --plugin_dir=....
+# PLUGVAR_LOAD: option --plugin_load=.... if the 4th element is present
+#
+# If a listed plugin is not found, the corresponding variables will be
+# set to empty, they will not be unset.
+#
+# The PLUGVAR variable is not quoted, so you must remember to quote it
+# when using it in an INSTALL PLUGIN command.
+#
+# The envorinment variables can be used in tests. If adding a new plugin,
+# you are free to pick your variable name, but please keep it upper
+# case for consistency.
+#
+# The _LOAD variable will have a form
+#
+# --plugin_load=<name1>=<lib_name>;<name2>=<lib_name>.....
+#
+# with name1, name2 etc from the comma separated list of plugin names
+# in the optional 4th argument.
+
+auth_test_plugin   plugin/auth        PLUGIN_AUTH      test_plugin_server
+qa_auth_interface  plugin/auth        PLUGIN_AUTH_INTERFACE qa_auth_interface
+qa_auth_server     plugin/auth        PLUGIN_AUTH_SERVER    qa_auth_server
+qa_auth_client     plugin/auth        PLUGIN_AUTH_CLIENT    qa_auth_client
+udf_example        sql                UDF_EXAMPLE_LIB
+ha_example         storage/example    EXAMPLE_PLUGIN         EXAMPLE
+semisync_master    plugin/semisync    SEMISYNC_MASTER_PLUGIN
+semisync_slave     plugin/semisync    SEMISYNC_SLAVE_PLUGIN
+ha_archive         storage/archive    ARCHIVE_PLUGIN
+ha_blackhole       storage/blackhole  BLACKHOLE_PLUGIN
+ha_federated       storage/federated  FEDERATED_PLUGIN
+mypluglib          plugin/fulltext    SIMPLE_PARSER

=== modified file 'mysql-test/lib/mtr_cases.pm'
--- a/mysql-test/lib/mtr_cases.pm	2010-12-29 00:26:31 +0000
+++ b/mysql-test/lib/mtr_cases.pm	2011-01-11 14:16:29 +0000
@@ -229,8 +229,11 @@ sub collect_test_cases ($$$$) {
 sub split_testname {
   my ($test_name)= @_;
 
-  # Get rid of directory part and split name on .'s
-  my @parts= split(/\./, basename($test_name));
+  # If .test file name is used, get rid of directory part
+  $test_name= basename($test_name) if $test_name =~ /\.test$/;
+
+  # Now split name on .'s
+  my @parts= split(/\./, $test_name);
 
   if (@parts == 1){
     # Only testname given, ex: alias

=== modified file 'mysql-test/lib/mtr_report.pm'
--- a/mysql-test/lib/mtr_report.pm	2010-09-20 08:12:39 +0000
+++ b/mysql-test/lib/mtr_report.pm	2011-01-12 09:27:46 +0000
@@ -129,7 +129,8 @@ sub mtr_report_test ($) {
       # Find out if this test case is an experimental one, so we can treat
       # the failure as an expected failure instead of a regression.
       for my $exp ( @$::experimental_test_cases ) {
-        if ( $exp ne $test_name ) {
+	# Include pattern match for combinations
+        if ( $exp ne $test_name && $test_name !~ /^$exp / ) {
           # if the expression is not the name of this test case, but has
           # an asterisk at the end, determine if the characters up to
           # but excluding the asterisk are the same
@@ -395,7 +396,7 @@ sub mtr_report_stats ($$;$) {
 ##############################################################################
 
 sub mtr_print_line () {
-  print '-' x 60 . "\n";
+  print '-' x 74 . "\n";
 }
 
 
@@ -405,13 +406,18 @@ sub mtr_print_thick_line {
 }
 
 
-sub mtr_print_header () {
+sub mtr_print_header ($) {
+  my ($wid) = @_;
   print "\n";
   printf "TEST";
-  print " " x 38;
+  if ($wid) {
+    print " " x 34 . "WORKER ";
+  } else {
+    print " " x 38;
+  }
   print "RESULT   ";
-  print "TIME (ms)" if $timer;
-  print "\n";
+  print "TIME (ms) or " if $timer;
+  print "COMMENT\n";
   mtr_print_line();
   print "\n";
 }

=== modified file 'mysql-test/mysql-test-run.pl'
--- a/mysql-test/mysql-test-run.pl	2010-12-29 00:26:31 +0000
+++ b/mysql-test/mysql-test-run.pl	2011-01-12 13:17:54 +0000
@@ -131,10 +131,6 @@ my $opt_start_dirty;
 my $opt_start_exit;
 my $start_only;
 
-my $auth_interface_fn;          # the name of qa_auth_interface plugin
-my $auth_server_fn;             # the name of qa_auth_server plugin
-my $auth_client_fn;             # the name of qa_auth_client plugin
-my $auth_filename;              # the name of the authentication test plugin
 my $auth_plugin;                # the path to the authentication test plugin
 
 END {
@@ -442,7 +438,7 @@ sub main {
 
   mtr_report();
   mtr_print_thick_line();
-  mtr_print_header();
+  mtr_print_header($opt_parallel > 1);
 
   mark_time_used('init');
 
@@ -1124,27 +1120,7 @@ sub command_line_setup {
                                     "$basedir/sql/share/charsets",
                                     "$basedir/share/charsets");
 
-  # Look for auth test plugins 
-  if (IS_WINDOWS)
-  {
-    $auth_filename = "auth_test_plugin.dll";
-    $auth_interface_fn = "qa_auth_interface.dll";
-    $auth_server_fn = "qa_auth_server.dll";
-    $auth_client_fn = "qa_auth_client.dll";
-  }
-  else
-  {
-    $auth_filename = "auth_test_plugin.so";
-    $auth_interface_fn = "qa_auth_interface.so";
-    $auth_server_fn = "qa_auth_server.so";
-    $auth_client_fn = "qa_auth_client.so";
-  }
-  $auth_plugin=
-  mtr_file_exists(vs_config_dirs('plugin/auth/',$auth_filename),
-    "$basedir/plugin/auth/.libs/" . $auth_filename,
-    "$basedir/lib/mysql/plugin/" . $auth_filename,
-    "$basedir/lib/plugin/" . $auth_filename);
-
+  ($auth_plugin)= find_plugin("auth_test_plugin", "plugin/auth");
 
   if (using_extern())
   {
@@ -1983,6 +1959,53 @@ sub find_plugin($$)
   return $lib_example_plugin;
 }
 
+#
+# Read plugin defintions file
+#
+
+sub read_plugin_defs($)
+{
+  my ($defs_file)= @_;
+
+  open(PLUGDEF, '<', $defs_file)
+    or mtr_error("Can't read plugin defintions file $defs_file");
+
+  while (<PLUGDEF>) {
+    next if /^#/;
+    my ($plug_file, $plug_loc, $plug_var, $plug_names)= split;
+    # Allow empty lines
+    next unless $plug_file;
+    mtr_error("Lines in $defs_file must have 3 or 4 items") unless $plug_var;
+
+    my ($plugin)= find_plugin($plug_file, $plug_loc);
+
+    # Set env. variables that tests may use, set to empty if plugin
+    # listed in def. file but not found.
+
+    if ($plugin) {
+      $ENV{$plug_var}= basename($plugin);
+      $ENV{$plug_var.'_DIR'}= dirname($plugin);
+      $ENV{$plug_var.'_OPT'}= "--plugin-dir=".dirname($plugin);
+      if ($plug_names) {
+	my $lib_name= basename($plugin);
+	my $load_var= "--plugin_load=";
+	my $semi= '';
+	foreach my $plug_name (split (',', $plug_names)) {
+	  $load_var .= $semi . "$plug_name=$lib_name";
+	  $semi= ';';
+	}
+	$ENV{$plug_var.'_LOAD'}= $load_var;
+      }
+    } else {
+      $ENV{$plug_var}= "";
+      $ENV{$plug_var.'_DIR'}= "";
+      $ENV{$plug_var.'_OPT'}= "";
+      $ENV{$plug_var.'_LOAD'}= "" if $plug_names;
+    }
+  }
+  close PLUGDEF;
+}
+
 sub environment_setup {
 
   umask(022);
@@ -2019,127 +2042,16 @@ sub environment_setup {
   }
 
   # --------------------------------------------------------------------------
-  # Add the path where mysqld will find udf_example.so
-  # --------------------------------------------------------------------------
-  my $udf_example_filename;
-  if (IS_WINDOWS)
-  {
-    $udf_example_filename = "udf_example.dll";
-  }
-  else
-  {
-    $udf_example_filename = "udf_example.so";
-  }
-  my $lib_udf_example=
-    mtr_file_exists(vs_config_dirs('sql', $udf_example_filename),
-		    "$basedir/sql/.libs/$udf_example_filename",);
-
-  if ( $lib_udf_example )
-  {
-    push(@ld_library_paths, dirname($lib_udf_example));
-  }
-
-  $ENV{'UDF_EXAMPLE_LIB'}=
-    ($lib_udf_example ? basename($lib_udf_example) : "");
-  $ENV{'UDF_EXAMPLE_LIB_OPT'}= "--plugin-dir=".
-    ($lib_udf_example ? dirname($lib_udf_example) : "");
-
-  # --------------------------------------------------------------------------
-  # Add the path where mysqld will find the auth test plugin (dialog.so/dll)
-  # --------------------------------------------------------------------------
-  if ($auth_plugin)
-  {
-    $ENV{'PLUGIN_AUTH'}= basename($auth_plugin);
-    $ENV{'PLUGIN_AUTH_OPT'}= "--plugin-dir=".dirname($auth_plugin);
-
-    $ENV{'PLUGIN_AUTH_LOAD'}="--plugin_load=test_plugin_server=".$auth_filename;
-    $ENV{'PLUGIN_AUTH_INTERFACE'}="--plugin_load=qa_auth_interface=".$auth_interface_fn;
-    $ENV{'PLUGIN_AUTH_SERVER'}="--plugin_load=qa_auth_server=".$auth_server_fn;
-    $ENV{'PLUGIN_AUTH_CLIENT'}="--plugin_load=qa_auth_client=".$auth_client_fn;
-  }
-  else
-  {
-    $ENV{'PLUGIN_AUTH'}= "";
-    $ENV{'PLUGIN_AUTH_OPT'}="--plugin-dir=";
-    $ENV{'PLUGIN_AUTH_LOAD'}="";
-    $ENV{'PLUGIN_AUTH_INTERFACE'}="";
-    $ENV{'PLUGIN_AUTH_SERVER'}="";
-    $ENV{'PLUGIN_AUTH_CLIENT'}="";
-  }
-  
-
-  # --------------------------------------------------------------------------
-  # Add the path where mysqld will find ha_example.so
-  # --------------------------------------------------------------------------
-  if ($mysql_version_id >= 50100) {
-    my ($lib_example_plugin) = find_plugin("ha_example", "storage/example");
-    
-    if($lib_example_plugin) 
-    {  
-      $ENV{'EXAMPLE_PLUGIN'}=
-        ($lib_example_plugin ? basename($lib_example_plugin) : "");
-      $ENV{'EXAMPLE_PLUGIN_OPT'}= "--plugin-dir=".
-      ($lib_example_plugin ? dirname($lib_example_plugin) : "");
-
-      $ENV{'HA_EXAMPLE_SO'}="'".basename($lib_example_plugin)."'";
-      $ENV{'EXAMPLE_PLUGIN_LOAD'}="--plugin_load=EXAMPLE=".basename($lib_example_plugin);
-    }
-    else
-    {
-      # Some ".opt" files use some of these variables, so they must be defined
-      $ENV{'EXAMPLE_PLUGIN'}= "";
-      $ENV{'EXAMPLE_PLUGIN_OPT'}= "";
-      $ENV{'HA_EXAMPLE_SO'}= "";
-      $ENV{'EXAMPLE_PLUGIN_LOAD'}= "";
-    }
-  }
- 
-
-  # --------------------------------------------------------------------------
-  # Add the path where mysqld will find semisync plugins
+  # Read definitions from include/plugin.defs
+  #
+  # Plugin settings should no longer be added here, instead
+  # place definitions in include/plugin.defs.
+  # See comment in that file for details.
   # --------------------------------------------------------------------------
-  if (!$opt_embedded_server) {
-
-
-    my ($lib_semisync_master_plugin) = find_plugin("semisync_master", "plugin/semisync");
-    my ($lib_semisync_slave_plugin) = find_plugin("semisync_slave", "plugin/semisync");
-
-
-    if ($lib_semisync_master_plugin && $lib_semisync_slave_plugin)
-    {
-      $ENV{'SEMISYNC_MASTER_PLUGIN'}= basename($lib_semisync_master_plugin);
-      $ENV{'SEMISYNC_SLAVE_PLUGIN'}= basename($lib_semisync_slave_plugin);
-      $ENV{'SEMISYNC_PLUGIN_OPT'}= "--plugin-dir=".dirname($lib_semisync_master_plugin);
-    }
-    else
-    {
-      $ENV{'SEMISYNC_MASTER_PLUGIN'}= "";
-      $ENV{'SEMISYNC_SLAVE_PLUGIN'}= "";
-      $ENV{'SEMISYNC_PLUGIN_OPT'}="--plugin-dir=";
-    }
-  }
+  read_plugin_defs("include/plugin.defs");
 
-  # ----------------------------------------------------
-  # Add the paths where mysqld will find archive/blackhole/federated plugins.
-  # ----------------------------------------------------
-  $ENV{'ARCHIVE_PLUGIN_DIR'} =
-    dirname(find_plugin("ha_archive", "storage/archive"));
-  $ENV{'BLACKHOLE_PLUGIN_DIR'} =
-    dirname(find_plugin("ha_blackhole", "storage/blackhole"));
-  $ENV{'FEDERATED_PLUGIN_DIR'} =
-    dirname(find_plugin("ha_federated", "storage/federated"));
-
-  # ----------------------------------------------------
-  # Add the path where mysqld will find mypluglib.so
-  # ----------------------------------------------------
-
-  my  ($lib_simple_parser) = find_plugin("mypluglib", "plugin/fulltext"); 
-
-  $ENV{'MYPLUGLIB_SO'}="'".basename($lib_simple_parser)."'";
-  $ENV{'SIMPLE_PARSER'}=
-    ($lib_simple_parser ? basename($lib_simple_parser) : "");
-  $ENV{'SIMPLE_PARSER_OPT'}= "--plugin-dir=".
-    ($lib_simple_parser ? dirname($lib_simple_parser) : "");
+  # Simplify reference to semisync plugins
+  $ENV{'SEMISYNC_PLUGIN_OPT'}= $ENV{'SEMISYNC_MASTER_PLUGIN_OPT'};
 
   # --------------------------------------------------------------------------
   # Valgrind need to be run with debug libraries otherwise it's almost

=== modified file 'mysql-test/r/mysqltest.result'
--- a/mysql-test/r/mysqltest.result	2010-12-20 11:56:02 +0000
+++ b/mysql-test/r/mysqltest.result	2011-01-11 14:15:25 +0000
@@ -311,12 +311,33 @@ failing query in let
 create table t1 (a varchar(100));
 insert into t1 values ('`select 42`');
 `select 42`
+insert into t1 values ('$dollar');
+$dollar
+`select 42`
 drop table t1;
 mysqltest: At line 1: Error running query 'failing query': 1064 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 'failing query' at line 1
 mysqltest: At line 1: Missing required argument 'filename' to command 'source'
 mysqltest: At line 1: Could not open './non_existingFile' for reading, errno: 2
-mysqltest: In included file "MYSQLTEST_VARDIR/tmp/recursive.sql": At line 1: Source directives are nesting too deep
-mysqltest: In included file "MYSQLTEST_VARDIR/tmp/error.sql": At line 1: query 'garbage ' failed: 1064: 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 'garbage' at line 1
+mysqltest: In included file "MYSQLTEST_VARDIR/tmp/recursive.sql": 
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+At line 1: Source directives are nesting too deep
+mysqltest: In included file "MYSQLTEST_VARDIR/tmp/error.sql": 
+included from MYSQLTEST_VARDIR/tmp/error.sql at line 1:
+At line 1: query 'garbage ' failed: 1064: 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 'garbage' at line 1
 
 2 = outer loop variable after while
 here is the sourced script
@@ -444,7 +465,9 @@ counter is 6
 counter is 7
 1
 Testing while with not
-mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest_while.inc": At line 64: Nesting too deeply
+mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest_while.inc": 
+included from MYSQLTEST_VARDIR/tmp/mysqltest_while.inc at line 65:
+At line 64: Nesting too deeply
 mysqltest: At line 1: missing '(' in while
 mysqltest: At line 1: missing ')' in while
 mysqltest: At line 1: Missing '{' after while. Found "dec $i"
@@ -493,8 +516,12 @@ mysqltest: At line 1: query 'connect  co
 mysqltest: At line 1: Illegal argument for port: 'illegal_port'
 mysqltest: At line 1: Illegal option to connect: SMTP
 200 connects succeeded
-mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 3: connection 'test_con1' not found in connection pool
-mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 2: Connection test_con1 already exists
+mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": 
+included from MYSQLTEST_VARDIR/tmp/mysqltest.sql at line 3:
+At line 3: connection 'test_con1' not found in connection pool
+mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": 
+included from MYSQLTEST_VARDIR/tmp/mysqltest.sql at line 2:
+At line 2: Connection test_con1 already exists
 show tables;
 ERROR 3D000: No database selected
 connect  con1,localhost,root,,;

=== modified file 'mysql-test/suite/bugs/t/bug57108.test'
--- a/mysql-test/suite/bugs/t/bug57108.test	2010-11-04 10:00:59 +0000
+++ b/mysql-test/suite/bugs/t/bug57108.test	2011-01-11 13:27:03 +0000
@@ -5,7 +5,7 @@
 # switched directory after starting the server and am using a relative
 # --defaults-file.
 --replace_regex /\.dll/.so/
-eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
+eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
 
 --query_vertical SELECT @@global.connect_timeout AS connect_timeout, @@global.local_infile AS local_infile
 

=== modified file 'mysql-test/t/bug46261.test'
--- a/mysql-test/t/bug46261.test	2010-04-22 13:52:00 +0000
+++ b/mysql-test/t/bug46261.test	2011-01-11 13:27:03 +0000
@@ -7,7 +7,7 @@
 
 --replace_regex /\.dll/.so/
 --error ER_OPTION_PREVENTS_STATEMENT
-eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
+eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
 
 --replace_regex /\.dll/.so/
 --error ER_OPTION_PREVENTS_STATEMENT

=== modified file 'mysql-test/t/fulltext_plugin.test'
--- a/mysql-test/t/fulltext_plugin.test	2009-11-09 11:32:48 +0000
+++ b/mysql-test/t/fulltext_plugin.test	2011-01-11 13:27:03 +0000
@@ -4,7 +4,7 @@
 # BUG#39746 - Debug flag breaks struct definition (server crash)
 #
 --replace_regex /\.dll/.so/
-eval INSTALL PLUGIN simple_parser SONAME $MYPLUGLIB_SO;
+eval INSTALL PLUGIN simple_parser SONAME '$SIMPLE_PARSER';
 CREATE TABLE t1(a TEXT, b TEXT, FULLTEXT(a) WITH PARSER simple_parser);
 ALTER TABLE t1 ADD FULLTEXT(b) WITH PARSER simple_parser;
 DROP TABLE t1;

=== modified file 'mysql-test/t/mysqltest.test'
--- a/mysql-test/t/mysqltest.test	2010-12-20 11:56:02 +0000
+++ b/mysql-test/t/mysqltest.test	2011-01-11 14:15:25 +0000
@@ -859,6 +859,12 @@ insert into t1 values ('`select 42`');
 let $a= `select * from t1`;
 # This should output `select 42`, not evaluate it again to 42
 echo $a;
+insert into t1 values ('$dollar');
+# These should also output the string without evaluating it.
+let $a= query_get_value(select * from t1 order by a, a, 1);
+echo $a;
+let $a= query_get_value(select * from t1 order by a, a, 2);
+echo $a;
 drop table t1;
 
 --error 1

=== modified file 'mysql-test/t/plugin.test'
--- a/mysql-test/t/plugin.test	2009-11-02 20:05:42 +0000
+++ b/mysql-test/t/plugin.test	2011-01-11 13:27:03 +0000
@@ -5,15 +5,15 @@ CREATE TABLE t1(a int) ENGINE=EXAMPLE;
 DROP TABLE t1;
 
 --replace_regex /\.dll/.so/
-eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
+eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
 --replace_regex /\.dll/.so/
 --error 1125
-eval INSTALL PLUGIN EXAMPLE SONAME $HA_EXAMPLE_SO;
+eval INSTALL PLUGIN EXAMPLE SONAME '$EXAMPLE_PLUGIN';
 
 UNINSTALL PLUGIN example;
 
 --replace_regex /\.dll/.so/
-eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
+eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
 
 CREATE TABLE t1(a int) ENGINE=EXAMPLE;
 
@@ -41,7 +41,7 @@ UNINSTALL PLUGIN non_exist;
 --echo #            to impossible int val
 --echo #
 --replace_regex /\.dll/.so/
-eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
+eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
 
 SET GLOBAL example_enum_var= e1;
 SET GLOBAL example_enum_var= e2;
@@ -56,7 +56,7 @@ UNINSTALL PLUGIN example;
 # Bug #32757 hang with sql_mode set when setting some global variables
 #
 --replace_regex /\.dll/.so/
-eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
+eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
 
 select @@session.sql_mode into @old_sql_mode;
 

=== modified file 'mysql-test/t/plugin_auth_qa_2-master.opt'
--- a/mysql-test/t/plugin_auth_qa_2-master.opt	2010-10-20 14:56:09 +0000
+++ b/mysql-test/t/plugin_auth_qa_2-master.opt	2011-01-11 13:27:03 +0000
@@ -1,2 +1,2 @@
-$PLUGIN_AUTH_OPT
-$PLUGIN_AUTH_INTERFACE
+$PLUGIN_AUTH_INTERFACE_OPT
+$PLUGIN_AUTH_INTERFACE_LOAD

=== modified file 'mysql-test/t/plugin_auth_qa_3-master.opt'
--- a/mysql-test/t/plugin_auth_qa_3-master.opt	2010-10-20 14:56:09 +0000
+++ b/mysql-test/t/plugin_auth_qa_3-master.opt	2011-01-11 13:27:03 +0000
@@ -1,2 +1,2 @@
-$PLUGIN_AUTH_OPT
-$PLUGIN_AUTH_SERVER
+$PLUGIN_AUTH_SERVER_OPT
+$PLUGIN_AUTH_SERVER_LOAD

=== modified file 'mysql-test/t/plugin_not_embedded.test'
--- a/mysql-test/t/plugin_not_embedded.test	2010-12-02 08:13:31 +0000
+++ b/mysql-test/t/plugin_not_embedded.test	2011-01-11 13:27:03 +0000
@@ -8,7 +8,7 @@
 GRANT INSERT ON mysql.plugin TO bug51770@localhost;
 connect(con1,localhost,bug51770,,);
 --replace_regex /\.dll/.so/
-eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
+eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
 --error ER_TABLEACCESS_DENIED_ERROR
 UNINSTALL PLUGIN example;
 connection default;
@@ -25,7 +25,7 @@ DROP USER bug51770@localhost;
 # The bug consisted of not recognizing / on Windows, so checking / on
 # all platforms should cover this case.
 
-let $path = `select CONCAT_WS('/', '..', $HA_EXAMPLE_SO)`;
+let $path = `select CONCAT_WS('/', '..', '$EXAMPLE_PLUGIN')`;
 --replace_regex /\.dll/.so/
 --error ER_UDF_NO_PATHS
 eval INSTALL PLUGIN example SONAME '$path';

No bundle (reason: revision is a merge).
Thread
bzr commit into mysql-5.5 branch (bjorn.munch:3231) Bjorn Munch12 Jan