Commit d8f7fb14 authored by unknown's avatar unknown

WL#2930 mysqltest++

 - Updated after valgrinding


client/mysqltest.c:
  Move initialisation of dynamic strings to top of function so that variables are always inited before free
  The workaround for 15518 moved to last in function
  Add check for "--" comments without any comment,. to avoid read of uninit memory
mysql-test/mysql-test-run.sh:
  Add printout of valgrind errors from mysqltest when test with valgrind  has completed
parent 1b50a968
......@@ -2676,6 +2676,7 @@ int read_query(struct st_query** q_ptr)
end:
while (*p && my_isspace(charset_info, *p))
p++;
if (!(q->query_buf= q->query= my_strdup(p, MYF(MY_WME))))
die(NullS);
......@@ -3573,6 +3574,13 @@ static void run_query_stmt(MYSQL *mysql, struct st_query *command,
cur_con->stmt= stmt;
}
/* Init dynamic strings for warnings */
if (!disable_warnings)
{
init_dynamic_string(&ds_prepare_warnings, NULL, 0, 256);
init_dynamic_string(&ds_execute_warnings, NULL, 0, 256);
}
/*
Prepare the query
*/
......@@ -3580,10 +3588,6 @@ static void run_query_stmt(MYSQL *mysql, struct st_query *command,
{
handle_error(query, command, mysql_stmt_errno(stmt),
mysql_stmt_error(stmt), mysql_stmt_sqlstate(stmt), ds);
#ifndef BUG15518_FIXED
mysql_stmt_close(stmt);
cur_con->stmt= NULL;
#endif
goto end;
}
......@@ -3592,12 +3596,7 @@ static void run_query_stmt(MYSQL *mysql, struct st_query *command,
separate string
*/
if (!disable_warnings)
{
init_dynamic_string(&ds_prepare_warnings, NULL, 0, 256);
init_dynamic_string(&ds_execute_warnings, NULL, 0, 256);
append_warnings(&ds_prepare_warnings, mysql);
}
/*
No need to call mysql_stmt_bind_param() because we have no
......@@ -3724,6 +3723,10 @@ end:
variable then can be used from the test case itself.
*/
var_set_errno(mysql_stmt_errno(stmt));
#ifndef BUG15518_FIXED
mysql_stmt_close(stmt);
cur_con->stmt= NULL;
#endif
DBUG_VOID_RETURN;
}
......@@ -4050,6 +4053,7 @@ void get_query_type(struct st_query* q)
q->type= Q_COMMENT;
}
else if (q->type == Q_COMMENT_WITH_COMMAND &&
q->first_word_len &&
q->query[q->first_word_len-1] == ';')
{
/*
......
......@@ -1002,6 +1002,18 @@ report_stats () {
echo "WARNING: Got errors/warnings while running tests. Please examine"
echo "$MY_LOG_DIR/warnings for details."
fi
fi # USE_RUNNING_SERVER
# Check valgrind errors from mysqltest
if [ ! -z "$VALGRIND_MYSQLTEST" ]
then
if $GREP "ERROR SUMMARY" $MYSQLTEST_LOG | $GREP -v "0 errors" > /dev/null
then
$ECHO "Valgrind detected errors!"
$GREP "ERROR SUMMARY" $MYSQLTEST_LOG | $GREP -v "0 errors"
$ECHO "See $MYSQLTEST_LOG"
fi
fi
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment