summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/mysqltest.c28
-rw-r--r--mysql-test/lib/mtr_report.pl1
-rwxr-xr-xmysql-test/mysql-test-run.pl32
-rw-r--r--mysql-test/t/rpl_empty_master_crash-master.opt1
4 files changed, 42 insertions, 20 deletions
diff --git a/client/mysqltest.c b/client/mysqltest.c
index e46f22de4df..efb5f1915f4 100644
--- a/client/mysqltest.c
+++ b/client/mysqltest.c
@@ -1810,7 +1810,7 @@ void my_ungetc(int c)
void read_until_delimiter(DYNAMIC_STRING *ds,
DYNAMIC_STRING *ds_delimiter)
{
- int c;
+ char c;
DBUG_ENTER("read_until_delimiter");
DBUG_PRINT("enter", ("delimiter: %s, length: %d",
ds_delimiter->str, ds_delimiter->length));
@@ -3346,7 +3346,7 @@ int read_line(char *buf, int size)
LINT_INIT(last_quote);
start_lineno= cur_file->lineno;
- DBUG_PRINT("info", ("start_lineno: %d", start_lineno));
+ DBUG_PRINT("info", ("Starting to read at lineno: %d", start_lineno));
for (; p < buf_end ;)
{
skip_char= 0;
@@ -3370,7 +3370,7 @@ int read_line(char *buf, int size)
die("Missing end of block");
*p= 0;
- DBUG_PRINT("info", ("end of file"));
+ DBUG_PRINT("info", ("end of file at line %d", cur_file->lineno));
DBUG_RETURN(1);
}
cur_file--;
@@ -3393,7 +3393,8 @@ int read_line(char *buf, int size)
if (end_of_query(c))
{
*p= 0;
- DBUG_PRINT("exit", ("Found delimiter '%s'", delimiter));
+ DBUG_PRINT("exit", ("Found delimiter '%s' at line %d",
+ delimiter, cur_file->lineno));
DBUG_RETURN(0);
}
else if ((c == '{' &&
@@ -3405,7 +3406,8 @@ int read_line(char *buf, int size)
/* Only if and while commands can be terminated by { */
*p++= c;
*p= 0;
- DBUG_PRINT("exit", ("Found '{' indicating begining of block"));
+ DBUG_PRINT("exit", ("Found '{' indicating start of block at line %d",
+ cur_file->lineno));
DBUG_RETURN(0);
}
else if (c == '\'' || c == '"' || c == '`')
@@ -3420,7 +3422,8 @@ int read_line(char *buf, int size)
{
/* Comments are terminated by newline */
*p= 0;
- DBUG_PRINT("exit", ("Found newline in comment"));
+ DBUG_PRINT("exit", ("Found newline in comment at line: %d",
+ cur_file->lineno));
DBUG_RETURN(0);
}
break;
@@ -3435,13 +3438,19 @@ int read_line(char *buf, int size)
{
/* Skip all space at begining of line */
if (c == '\n')
- start_lineno= cur_file->lineno; /* Query hasn't started yet */
+ {
+ /* Query hasn't started yet */
+ start_lineno= cur_file->lineno;
+ DBUG_PRINT("info", ("Query hasn't started yet, start_lineno: %d",
+ start_lineno));
+ }
skip_char= 1;
}
else if (end_of_query(c))
{
*p= 0;
- DBUG_PRINT("exit", ("Found delimiter '%s'", delimiter));
+ DBUG_PRINT("exit", ("Found delimiter '%s' at line: %d",
+ delimiter, cur_file->lineno));
DBUG_RETURN(0);
}
else if (c == '}')
@@ -3449,7 +3458,8 @@ int read_line(char *buf, int size)
/* A "}" need to be by itself in the begining of a line to terminate */
*p++= c;
*p= 0;
- DBUG_PRINT("exit", ("Found '}' in begining of a line"));
+ DBUG_PRINT("exit", ("Found '}' in begining of a line at line: %d",
+ cur_file->lineno));
DBUG_RETURN(0);
}
else if (c == '\'' || c == '"' || c == '`')
diff --git a/mysql-test/lib/mtr_report.pl b/mysql-test/lib/mtr_report.pl
index ec1bed9671b..b173896d48a 100644
--- a/mysql-test/lib/mtr_report.pl
+++ b/mysql-test/lib/mtr_report.pl
@@ -133,6 +133,7 @@ sub mtr_report_test_failed ($) {
if ( $tinfo->{'timeout'} )
{
print "[ fail ] timeout\n";
+ return;
}
elsif ( $tinfo->{'ndb_test'} and $::cluster->[0]->{'installed_ok'} eq "NO")
{
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index 24cdedce712..35782733b20 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -468,11 +468,11 @@ sub initial_setup () {
#
# Look for the path where to find the client binaries
- $path_client_bindir= mtr_path_exists("$glob_basedir/client/release",
+ $path_client_bindir= mtr_path_exists("$glob_basedir/client_release",
+ "$glob_basedir/client_debug",
+ "$glob_basedir/client/release",
"$glob_basedir/client/debug",
"$glob_basedir/client",
- "$glob_basedir/client_release",
- "$glob_basedir/client_debug",
"$glob_basedir/bin");
# Look for the mysqld executable
@@ -484,6 +484,7 @@ sub initial_setup () {
"$path_client_bindir/mysqld-debug",
"$path_client_bindir/mysqld-max",
"$glob_basedir/libexec/mysqld",
+ "$glob_basedir/bin/mysqld",
"$glob_basedir/sql/release/mysqld",
"$glob_basedir/sql/debug/mysqld");
@@ -1416,18 +1417,27 @@ sub executable_setup () {
}
- # Look for mysql_client_test executable
- if ( $glob_use_embedded_server )
+ if ( $glob_win32 and $mysql_version_id < 50000 )
{
- $exe_mysql_client_test=
- mtr_exe_exists("$glob_basedir/libmysqld/examples/mysql_client_test_embedded");
+ # Skip looking for exe_mysql_client_test as its not built by default
+ # in 4.1 for windows.
+ $exe_mysql_client_test= "unavailable";
}
else
{
- $exe_mysql_client_test=
- mtr_exe_exists("$glob_basedir/tests/mysql_client_test",
- "$glob_basedir/tests/release/mysql_client_test",
- "$glob_basedir/tests/debug/mysql_client_test");
+ # Look for mysql_client_test executable
+ if ( $glob_use_embedded_server )
+ {
+ $exe_mysql_client_test=
+ mtr_exe_exists("$glob_basedir/libmysqld/examples/mysql_client_test_embedded");
+ }
+ else
+ {
+ $exe_mysql_client_test=
+ mtr_exe_exists("$glob_basedir/tests/mysql_client_test",
+ "$glob_basedir/tests/release/mysql_client_test",
+ "$glob_basedir/tests/debug/mysql_client_test");
+ }
}
}
diff --git a/mysql-test/t/rpl_empty_master_crash-master.opt b/mysql-test/t/rpl_empty_master_crash-master.opt
new file mode 100644
index 00000000000..cef79bc8585
--- /dev/null
+++ b/mysql-test/t/rpl_empty_master_crash-master.opt
@@ -0,0 +1 @@
+--force-restart