summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <msvensson@shellback.(none)>2007-08-08 16:44:01 +0200
committerunknown <msvensson@shellback.(none)>2007-08-08 16:44:01 +0200
commit5501f528f5a6f41f8e38cabbbd2d52fcb29993a6 (patch)
tree0204741190c400174f18b75b9191e9f2a32a00c8
parentc35318cee16459c96be5803e80e2a2d9857615b3 (diff)
downloadmariadb-git-5501f528f5a6f41f8e38cabbbd2d52fcb29993a6.tar.gz
Remove extra newline added to files created by write_file and append_file
client/mysqltest.c: - Remove the extra newline first in the file produced by write_file and append_file - Add check for too many arguments passed to 'check_command_args' mysql-test/r/mysqltest.result: Update test result mysql-test/t/mysqltest.test: Add test to check that no extra newline is created
-rw-r--r--client/mysqltest.c23
-rw-r--r--mysql-test/r/mysqltest.result1
-rw-r--r--mysql-test/t/mysqltest.test1
3 files changed, 25 insertions, 0 deletions
diff --git a/client/mysqltest.c b/client/mysqltest.c
index 1d481f33f47..541c0cb4394 100644
--- a/client/mysqltest.c
+++ b/client/mysqltest.c
@@ -753,6 +753,15 @@ void check_command_args(struct st_command *command,
command->first_word_len, command->query);
}
+ /* Check for too many arguments passed */
+ ptr= command->last_argument;
+ while(ptr <= command->end)
+ {
+ if (*ptr && *ptr != ' ')
+ die("Extra argument '%s' passed to '%.*s'",
+ ptr, command->first_word_len, command->query);
+ ptr++;
+ }
DBUG_VOID_RETURN;
}
@@ -2691,8 +2700,22 @@ void read_until_delimiter(DYNAMIC_STRING *ds,
c= my_getc(cur_file->file);
if (c == '\n')
+ {
cur_file->lineno++;
+ /* Skip newline from the same line as the command */
+ if (start_lineno == (cur_file->lineno - 1))
+ continue;
+ }
+ else if (start_lineno == cur_file->lineno)
+ {
+ /*
+ No characters except \n are allowed on
+ the same line as the command
+ */
+ die("Trailing characters found after command");
+ }
+
if (feof(cur_file->file))
die("End of file encountered before '%s' delimiter was found",
ds_delimiter->str);
diff --git a/mysql-test/r/mysqltest.result b/mysql-test/r/mysqltest.result
index 513216c062e..5ee1bc4dc0d 100644
--- a/mysql-test/r/mysqltest.result
+++ b/mysql-test/r/mysqltest.result
@@ -533,6 +533,7 @@ drop table t1;
mysqltest: At line 1: Missing required argument 'filename' to command 'remove_file'
mysqltest: At line 1: Missing required argument 'filename' to command 'write_file'
mysqltest: At line 1: End of file encountered before 'EOF' delimiter was found
+Content for test_file1
Some data
for cat_file command
of mysqltest
diff --git a/mysql-test/t/mysqltest.test b/mysql-test/t/mysqltest.test
index 20140307e57..791bacd636c 100644
--- a/mysql-test/t/mysqltest.test
+++ b/mysql-test/t/mysqltest.test
@@ -1564,6 +1564,7 @@ write_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
Content for test_file1
EOF
file_exists $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
+cat_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
remove_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
write_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp END_DELIMITER;