mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
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
This commit is contained in:
parent
1b50a96803
commit
d8f7fb1425
2 changed files with 25 additions and 9 deletions
|
@ -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
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue