Commit 21bc09c2 authored by Mattias Jonsson's avatar Mattias Jonsson

post-push fix, backported --replace_result patch

for --list_files in mysqltest.

client/mysqltest.cc:
  Backported --replace_result for --list_files.
mysql-test/r/mysqltest.result:
  updated test.
mysql-test/t/mysqltest.test:
  added test for replace_result on list_files.
parent dd0a6227
...@@ -441,7 +441,7 @@ struct st_command ...@@ -441,7 +441,7 @@ struct st_command
char *query, *query_buf,*first_argument,*last_argument,*end; char *query, *query_buf,*first_argument,*last_argument,*end;
DYNAMIC_STRING content; DYNAMIC_STRING content;
int first_word_len, query_len; int first_word_len, query_len;
my_bool abort_on_error; my_bool abort_on_error, used_replace;
struct st_expected_errors expected_errors; struct st_expected_errors expected_errors;
char require_file[FN_REFLEN]; char require_file[FN_REFLEN];
enum enum_commands type; enum enum_commands type;
...@@ -3284,7 +3284,7 @@ static int get_list_files(DYNAMIC_STRING *ds, const DYNAMIC_STRING *ds_dirname, ...@@ -3284,7 +3284,7 @@ static int get_list_files(DYNAMIC_STRING *ds, const DYNAMIC_STRING *ds_dirname,
if (ds_wild && ds_wild->length && if (ds_wild && ds_wild->length &&
wild_compare(file->name, ds_wild->str, 0)) wild_compare(file->name, ds_wild->str, 0))
continue; continue;
dynstr_append(ds, file->name); replace_dynstr_append(ds, file->name);
dynstr_append(ds, "\n"); dynstr_append(ds, "\n");
} }
set_wild_chars(0); set_wild_chars(0);
...@@ -3314,6 +3314,7 @@ static void do_list_files(struct st_command *command) ...@@ -3314,6 +3314,7 @@ static void do_list_files(struct st_command *command)
{"file", ARG_STRING, FALSE, &ds_wild, "Filename (incl. wildcard)"} {"file", ARG_STRING, FALSE, &ds_wild, "Filename (incl. wildcard)"}
}; };
DBUG_ENTER("do_list_files"); DBUG_ENTER("do_list_files");
command->used_replace= 1;
check_command_args(command, command->first_argument, check_command_args(command, command->first_argument,
list_files_args, list_files_args,
...@@ -3355,6 +3356,7 @@ static void do_list_files_write_file_command(struct st_command *command, ...@@ -3355,6 +3356,7 @@ static void do_list_files_write_file_command(struct st_command *command,
{"file", ARG_STRING, FALSE, &ds_wild, "Filename (incl. wildcard)"} {"file", ARG_STRING, FALSE, &ds_wild, "Filename (incl. wildcard)"}
}; };
DBUG_ENTER("do_list_files_write_file"); DBUG_ENTER("do_list_files_write_file");
command->used_replace= 1;
check_command_args(command, command->first_argument, check_command_args(command, command->first_argument,
list_files_args, list_files_args,
...@@ -8386,7 +8388,7 @@ int main(int argc, char **argv) ...@@ -8386,7 +8388,7 @@ int main(int argc, char **argv)
memset(&saved_expected_errors, 0, sizeof(saved_expected_errors)); memset(&saved_expected_errors, 0, sizeof(saved_expected_errors));
} }
if (command_executed != last_command_executed) if (command_executed != last_command_executed || command->used_replace)
{ {
/* /*
As soon as any command has been executed, As soon as any command has been executed,
......
...@@ -798,7 +798,7 @@ drop table t1; ...@@ -798,7 +798,7 @@ drop table t1;
mysqltest: At line 1: change user failed: Unknown database 'inexistent' mysqltest: At line 1: change user failed: Unknown database 'inexistent'
mysqltest: At line 1: change user failed: Access denied for user 'inexistent'@'localhost' (using password: NO) mysqltest: At line 1: change user failed: Access denied for user 'inexistent'@'localhost' (using password: NO)
mysqltest: At line 1: change user failed: Access denied for user 'root'@'localhost' (using password: YES) mysqltest: At line 1: change user failed: Access denied for user 'root'@'localhost' (using password: YES)
file1.txt REPLACED_FILE1.txt
file1.txt file1.txt
file2.txt file2.txt
file11.txt file11.txt
......
...@@ -2496,6 +2496,8 @@ write_file $MYSQLTEST_VARDIR/tmp/testdir/file1.txt; ...@@ -2496,6 +2496,8 @@ write_file $MYSQLTEST_VARDIR/tmp/testdir/file1.txt;
hello hello
EOF EOF
# Verify that --replace_result also work on list_files
--replace_result file REPLACED_FILE
list_files $MYSQLTEST_VARDIR/tmp/testdir; list_files $MYSQLTEST_VARDIR/tmp/testdir;
# list_files gets the directory list before creating the new file # list_files gets the directory list before creating the new file
list_files_write_file $MYSQLTEST_VARDIR/tmp/testdir/file2.txt $MYSQLTEST_VARDIR/tmp/testdir *; list_files_write_file $MYSQLTEST_VARDIR/tmp/testdir/file2.txt $MYSQLTEST_VARDIR/tmp/testdir *;
......
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