summaryrefslogtreecommitdiff
path: root/mysql-test/include
diff options
context:
space:
mode:
authorunknown <chuck.bell@oracle.com>2012-01-30 10:23:21 -0500
committerunknown <chuck.bell@oracle.com>2012-01-30 10:23:21 -0500
commit7009bf411a8cb9a6e035b761b5e6352b4f474303 (patch)
tree9a7f9e1c893fd7ee514374eec7e411810d5f2151 /mysql-test/include
parent461e039a07062f05082175edb1156725ac43b4c6 (diff)
parent40bab62acff37c947e5d57203235ac0a6afc5f31 (diff)
downloadmariadb-git-7009bf411a8cb9a6e035b761b5e6352b4f474303.tar.gz
Merge with main for BUG#12969301
Diffstat (limited to 'mysql-test/include')
-rw-r--r--mysql-test/include/have_example_plugin.inc2
-rw-r--r--mysql-test/include/have_semisync_plugin.inc2
-rw-r--r--mysql-test/include/have_simple_parser.inc2
-rw-r--r--mysql-test/include/have_udf.inc2
-rw-r--r--mysql-test/include/show_slave_status.inc30
-rw-r--r--mysql-test/include/wait_for_ndb_to_binlog.inc39
-rw-r--r--mysql-test/include/wait_for_slave_io_error.inc5
7 files changed, 51 insertions, 31 deletions
diff --git a/mysql-test/include/have_example_plugin.inc b/mysql-test/include/have_example_plugin.inc
index 8920399555d..88f4e212102 100644
--- a/mysql-test/include/have_example_plugin.inc
+++ b/mysql-test/include/have_example_plugin.inc
@@ -15,7 +15,7 @@ if (!$EXAMPLE_PLUGIN) {
#
# Check if --plugin-dir was setup for exampledb
#
-if (`SELECT CONCAT('--plugin-dir=', @@plugin_dir) != '$EXAMPLE_PLUGIN_OPT'`) {
+if (`SELECT CONCAT('--plugin-dir=', REPLACE(@@plugin_dir, '\\\\', '/')) != '$EXAMPLE_PLUGIN_OPT/'`) {
--skip Example plugin requires that --plugin-dir is set to the example plugin dir (either the .opt file does not contain \$EXAMPLE_PLUGIN_OPT or another plugin is in use)
}
enable_query_log;
diff --git a/mysql-test/include/have_semisync_plugin.inc b/mysql-test/include/have_semisync_plugin.inc
index 95899f559aa..1cd3b30be1c 100644
--- a/mysql-test/include/have_semisync_plugin.inc
+++ b/mysql-test/include/have_semisync_plugin.inc
@@ -16,6 +16,6 @@ if (!$SEMISYNC_MASTER_PLUGIN)
#
# Check if --plugin-dir was setup for semisync
#
-if (`SELECT CONCAT('--plugin-dir=', @@plugin_dir) != '$SEMISYNC_PLUGIN_OPT'`) {
+if (`SELECT CONCAT('--plugin-dir=', REPLACE(@@plugin_dir, '\\\\', '/')) != '$SEMISYNC_PLUGIN_OPT/'`) {
--skip SEMISYNC plugin requires that --plugin-dir is set to the semisync plugin dir (either the .opt file does not contain \$SEMISYNC_PLUGIN_OPT or another plugin is in use)
}
diff --git a/mysql-test/include/have_simple_parser.inc b/mysql-test/include/have_simple_parser.inc
index d077916c5e7..0cedad27a77 100644
--- a/mysql-test/include/have_simple_parser.inc
+++ b/mysql-test/include/have_simple_parser.inc
@@ -15,6 +15,6 @@ if (!$SIMPLE_PARSER) {
#
# Check if --plugin-dir was setup for simple parser
#
-if (`SELECT CONCAT('--plugin-dir=', @@plugin_dir) != '$SIMPLE_PARSER_OPT'`) {
+if (`SELECT CONCAT('--plugin-dir=', REPLACE(@@plugin_dir, '\\\\', '/')) != '$SIMPLE_PARSER_OPT/'`) {
--skip simple parser requires that --plugin-dir is set to the udf plugin dir (either the .opt file does not contain \$UDF_EXAMPLE_LIB_OPT or another plugin is in use)
}
diff --git a/mysql-test/include/have_udf.inc b/mysql-test/include/have_udf.inc
index 5c404b03729..993b9e13fdb 100644
--- a/mysql-test/include/have_udf.inc
+++ b/mysql-test/include/have_udf.inc
@@ -15,6 +15,6 @@ if (!$UDF_EXAMPLE_LIB) {
#
# Check if --plugin-dir was setup for udf
#
-if (`SELECT CONCAT('--plugin-dir=', @@plugin_dir) != '$UDF_EXAMPLE_LIB_OPT'`) {
+if (`SELECT CONCAT('--plugin-dir=', REPLACE(@@plugin_dir, '\\\\', '/')) != '$UDF_EXAMPLE_LIB_OPT/'`) {
--skip UDF requires that --plugin-dir is set to the udf plugin dir (either the .opt file does not contain \$UDF_EXAMPLE_LIB_OPT or another plugin is in use)
}
diff --git a/mysql-test/include/show_slave_status.inc b/mysql-test/include/show_slave_status.inc
index 67b1c987954..52ec550ce60 100644
--- a/mysql-test/include/show_slave_status.inc
+++ b/mysql-test/include/show_slave_status.inc
@@ -55,6 +55,18 @@
# comma-separated list. Example:
#
# --let $status_items= Master_Log_File, Relay_Master_Log_File
+#
+# $slave_field_result_replace
+# If set, one or more regex patterns for replacing variable
+# text in the error message. Syntax as --replace-regex
+#
+# $slave_sql_mode
+# If set, change the slave sql mode during this macro, reverting
+# to the previous on exit. Default sql_mode is NO_BACKSLASH_ESCAPES
+# to allow replace '\' by '/' making paths OS independent. Example:
+#
+# --let $slave_sql_mode= NO_BACKSLASH_ESCAPES
+#
--let $_show_slave_status_items=$status_items
@@ -64,12 +76,30 @@ if (!$status_items)
}
+--let $_slave_sql_mode= NO_BACKSLASH_ESCAPES
+if ($slave_sql_mode)
+{
+ --let $_slave_sql_mode= $slave_sql_mode
+}
+--let $_previous_slave_sql_mode = `SELECT @@sql_mode`
+--disable_query_log
+eval SET sql_mode= '$_slave_sql_mode';
+--enable_query_log
+
+
while ($_show_slave_status_items)
{
--let $_show_slave_status_name= `SELECT SUBSTRING_INDEX('$_show_slave_status_items', ',', 1)`
--let $_show_slave_status_items= `SELECT LTRIM(SUBSTRING('$_show_slave_status_items', LENGTH('$_show_slave_status_name') + 2))`
--let $_show_slave_status_value= query_get_value(SHOW SLAVE STATUS, $_show_slave_status_name, 1)
+ --let $_slave_field_result_replace= /[\\]/\// $slave_field_result_replace
+ --replace_regex $_slave_field_result_replace
--let $_show_slave_status_value= `SELECT REPLACE("$_show_slave_status_value", '$MYSQL_TEST_DIR', 'MYSQL_TEST_DIR')`
--echo $_show_slave_status_name = '$_show_slave_status_value'
}
+
+
+--disable_query_log
+eval SET sql_mode= '$_previous_slave_sql_mode';
+--enable_query_log
diff --git a/mysql-test/include/wait_for_ndb_to_binlog.inc b/mysql-test/include/wait_for_ndb_to_binlog.inc
index 77da6d62154..c1f94802724 100644
--- a/mysql-test/include/wait_for_ndb_to_binlog.inc
+++ b/mysql-test/include/wait_for_ndb_to_binlog.inc
@@ -1,13 +1,11 @@
# ==== Purpose ====
#
-# Several test primitives from mysql-test/extra/rpl_tests
-# shared for test cases for MyISAM, InnoDB, NDB and other
-# engines. But for NDB all events will be added by NDB
-# injector and now there are no way to detect the state of
-# NDB injector therefore this primitive waits 5 sec
-# if engine type is NDB.
-# In future that should be fixed by waiting of proper
-# state of NDB injector.
+# Several test primitives from mysql-test/extra/rpl_tests
+# are shared for test cases for MyISAM, InnoDB, NDB and
+# other engines.
+# For NDB engine all events will be added by NDB injector
+# so tests only can continue after injector is ready,
+# this test waits for proper injector thread state.
#
# ==== Usage ====
#
@@ -17,25 +15,12 @@
# ==== Parameters =====
#
# $engine_type
-# Type of engine. If type is NDB then it waits $wait_time sec
-#
-# $wait_time
-# Test will wait $wait_time seconds
-
-let $_wait_time= 5;
-
-if (!$wait_time) {
- let $_wait_time= $wait_time;
-}
+# Type of engine. If type is NDB then it waits for injector
+# thread proper state.
if (`SELECT UPPER(LEFT('$engine_type',3)) = 'NDB'`) {
- while (!$_wait_time) {
- let $_wait_time_internal= 10;
- while (!$_wait_time_internal) {
- sleep 0.1;
- dec $_wait_time_internal;
- }
- dec $_wait_time;
- }
+ let $show_statement= SHOW PROCESSLIST;
+ let $field= State;
+ let $condition= = 'Waiting for event from ndbcluster';
+ source include/wait_show_condition.inc;
}
-
diff --git a/mysql-test/include/wait_for_slave_io_error.inc b/mysql-test/include/wait_for_slave_io_error.inc
index e1609113b8f..4177bf4b858 100644
--- a/mysql-test/include/wait_for_slave_io_error.inc
+++ b/mysql-test/include/wait_for_slave_io_error.inc
@@ -33,6 +33,10 @@
# (e.g., temporary connection error) and does not cause the slave
# IO thread to stop.
#
+# $slave_io_error_replace
+# If set, one or more regex patterns for replacing variable
+# text in the error message. Syntax as --replace-regex
+#
# $slave_timeout
# See include/wait_for_slave_param.inc
#
@@ -72,6 +76,7 @@ if ($show_slave_io_error)
{
--let $_wait_for_slave_io_error_old_status_items= $status_items
--let $status_items= Last_IO_Error
+ --let $slave_field_result_replace= $slave_io_error_replace
--source include/show_slave_status.inc
--let $status_items= $_wait_for_slave_io_error_old_status_items
}