Write some debug info to result log file before dying in 'do_exec'

parent a0e3ca04
......@@ -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);
}
......
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