From 089ce4e3ccbe1711be73ce6aa1020e0e0130b930 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 13 Feb 2007 16:59:58 +0100 Subject: [PATCH 1/2] Reset value of variable "escaped" in "default" label causing $variables not to be expanded in same cases client/mysqltest.c: Reset value of variable "escaped" in "default" label --- client/mysqltest.c | 1 + 1 file changed, 1 insertion(+) diff --git a/client/mysqltest.c b/client/mysqltest.c index 6f0a1ba3498..f02fae8d81b 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -578,6 +578,7 @@ void do_eval(DYNAMIC_STRING *query_eval, const char *query, dynstr_append_mem(query_eval, p, 1); break; default: + escaped= 0; dynstr_append_mem(query_eval, p, 1); break; } From 77ec64a33f3c2d2cd3a408e589765214b2e45e2f Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 13 Feb 2007 18:59:46 +0100 Subject: [PATCH 2/2] Write some debug info to result log file before dying in 'do_exec' --- client/mysqltest.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/client/mysqltest.c b/client/mysqltest.c index f02fae8d81b..7fa6d5b9161 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -415,6 +415,8 @@ void verbose_msg(const char *fmt, ...) ATTRIBUTE_FORMAT(printf, 1, 2); void warning_msg(const char *fmt, ...) ATTRIBUTE_FORMAT(printf, 1, 2); +void log_msg(const char *fmt, ...) + ATTRIBUTE_FORMAT(printf, 1, 2); VAR* var_from_env(const char *, const char *); VAR* var_init(VAR* v, const char *name, int name_len, const char *val, @@ -925,6 +927,25 @@ void warning_msg(const char *fmt, ...) } +void log_msg(const char *fmt, ...) +{ + va_list args; + char buff[512]; + size_t len; + DBUG_ENTER("log_msg"); + + memset(buff, 0, sizeof(buff)); + va_start(args, fmt); + len= vsnprintf(buff, sizeof(buff)-1, fmt, args); + va_end(args); + + dynstr_append_mem(&ds_res, buff, len); + dynstr_append(&ds_res, "\n"); + + DBUG_VOID_RETURN; +} + + /* Compare content of the string ds to content of file fname */ @@ -1597,7 +1618,11 @@ void do_exec(struct st_command *command) my_bool ok= 0; if (command->abort_on_error) + { + log_msg("exec of '%s failed, error: %d, status: %d, errno: %d", + ds_cmd.str, error, status, errno); die("command \"%s\" failed", command->first_argument); + } DBUG_PRINT("info", ("error: %d, status: %d", error, status)); @@ -1621,6 +1646,8 @@ void do_exec(struct st_command *command) command->expected_errors.err[0].code.errnum != 0) { /* Error code we wanted was != 0, i.e. not an expected success */ + log_msg("exec of '%s failed, error: %d, errno: %d", + ds_cmd.str, error, errno); die("command \"%s\" succeeded - should have failed with errno %d...", command->first_argument, command->expected_errors.err[0].code.errnum); }