From: Date: August 7 2007 11:40am Subject: bk commit into 5.0 tree (msvensson:1.2506) BUG#20037 List-Archive: http://lists.mysql.com/commits/32187 X-Bug: 20037 Message-Id: <20070807094006.4F9F530E879@pilot> Below is the list of changes that have just been committed into a local 5.0 repository of msvensson. When msvensson does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet@stripped, 2007-08-07 11:40:03+02:00, msvensson@pilot.(none) +7 -0 Bug#20037 mysqltest requires cygwin on windows(part 1, new mysqltest commands) - Update comments - Make "write_file" fail if file already exist - Remove temporary files created by test cases client/mysqltest.c@stripped, 2007-08-07 11:40:02+02:00, msvensson@pilot.(none) +11 -5 Improve function comments Make write_file fail if file already exist mysql-test/r/mysqltest.result@stripped, 2007-08-07 11:40:02+02:00, msvensson@pilot.(none) +2 -1 Update test result after adding new test and updating description of argumements to chmod mysql-test/t/bootstrap.test@stripped, 2007-08-07 11:40:02+02:00, msvensson@pilot.(none) +5 -2 Remove temporary file created by testcase mysql-test/t/mysql.test@stripped, 2007-08-07 11:40:02+02:00, msvensson@pilot.(none) +3 -0 Remove temporary file created by testcase mysql-test/t/mysqladmin.test@stripped, 2007-08-07 11:40:02+02:00, msvensson@pilot.(none) +2 -1 Remove temporary file created by testcase mysql-test/t/mysqltest.test@stripped, 2007-08-07 11:40:02+02:00, msvensson@pilot.(none) +20 -0 Remove temporary file created by testcase Add test to show that "write_file" fails if file already exist mysql-test/t/sp-destruct.test@stripped, 2007-08-07 11:40:02+02:00, msvensson@pilot.(none) +1 -0 Remove temporary file created by testcase diff -Nrup a/client/mysqltest.c b/client/mysqltest.c --- a/client/mysqltest.c 2007-08-03 13:39:54 +02:00 +++ b/client/mysqltest.c 2007-08-07 11:40:02 +02:00 @@ -2525,8 +2525,8 @@ void do_copy_file(struct st_command *com command command handle DESCRIPTION - chmod - Change file permission of + chmod_file + Change file permission of */ @@ -2536,8 +2536,8 @@ void do_chmod_file(struct st_command *co static DYNAMIC_STRING ds_mode; static DYNAMIC_STRING ds_file; const struct command_arg chmod_file_args[] = { - "mode", ARG_STRING, TRUE, &ds_mode, "Mode of file", - "file", ARG_STRING, TRUE, &ds_file, "Filename of file to modify" + "mode", ARG_STRING, TRUE, &ds_mode, "Mode of file(octal) ex. 0660", + "filename", ARG_STRING, TRUE, &ds_file, "Filename of file to modify" }; DBUG_ENTER("do_chmod_file"); @@ -2671,6 +2671,12 @@ void do_write_file_command(struct st_com if (ds_delimiter.length == 0) dynstr_set(&ds_delimiter, "EOF"); + if (!append && access(ds_filename.str, F_OK) == 0) + { + /* The file should not be overwritten */ + die("File already exist: '%s'", ds_filename.str); + } + init_dynamic_string(&ds_content, "", 1024, 1024); read_until_delimiter(&ds_content, &ds_delimiter); DBUG_PRINT("info", ("Writing to file: %s", ds_filename.str)); @@ -2703,7 +2709,7 @@ void do_write_file_command(struct st_com Write everything between the "write_file" command and 'delimiter' to "file_name" - NOTE! Overwrites existing file + NOTE! Will fail if exists Default is EOF diff -Nrup a/mysql-test/r/mysqltest.result b/mysql-test/r/mysqltest.result --- a/mysql-test/r/mysqltest.result 2007-08-03 13:12:49 +02:00 +++ b/mysql-test/r/mysqltest.result 2007-08-07 11:40:02 +02:00 @@ -521,6 +521,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 +mysqltest: At line 1: File already exist: 'MYSQLTEST_VARDIR/tmp/test_file1.tmp' Some data for cat_file command of mysqltest @@ -531,7 +532,7 @@ mysqltest: At line 1: Missing required a mysqltest: At line 1: Missing required argument 'mode' to command 'chmod' mysqltest: At line 1: You must write a 4 digit octal number for mode mysqltest: At line 1: You must write a 4 digit octal number for mode -mysqltest: At line 1: Missing required argument 'file' to command 'chmod' +mysqltest: At line 1: Missing required argument 'filename' to command 'chmod' mysqltest: At line 1: You must write a 4 digit octal number for mode mysqltest: At line 1: You must write a 4 digit octal number for mode hello diff -Nrup a/mysql-test/t/bootstrap.test b/mysql-test/t/bootstrap.test --- a/mysql-test/t/bootstrap.test 2007-02-20 12:48:14 +01:00 +++ b/mysql-test/t/bootstrap.test 2007-08-07 11:40:02 +02:00 @@ -9,12 +9,13 @@ drop table if exists t1; # # Check that --bootstrap reads from stdin # ---write_file $MYSQLTEST_VARDIR/tmp/bootstrap.sql +--write_file $MYSQLTEST_VARDIR/tmp/bootstrap_test.sql use test; CREATE TABLE t1(a int); EOF ---exec $MYSQLD_BOOTSTRAP_CMD < $MYSQLTEST_VARDIR/tmp/bootstrap.sql >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1 +--exec $MYSQLD_BOOTSTRAP_CMD < $MYSQLTEST_VARDIR/tmp/bootstrap_test.sql >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1 drop table t1; +remove_file $MYSQLTEST_VARDIR/tmp/bootstrap_test.sql; # # Check that --bootstrap of file with SQL error returns error @@ -28,6 +29,7 @@ EOF # Table t1 should not exists --error 1051 drop table t1; +remove_file $MYSQLTEST_VARDIR/tmp/bootstrap_error.sql; # # Bootstrap with a query larger than 2*thd->net.max_packet @@ -40,6 +42,7 @@ eval select * into outfile '$MYSQLTEST_V --enable_query_log --error 1 --exec $MYSQLD_BOOTSTRAP_CMD < $MYSQLTEST_VARDIR/tmp/long_query.sql >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/long_query.sql; set global max_allowed_packet=@my_max_allowed_packet; drop table t1; diff -Nrup a/mysql-test/t/mysql.test b/mysql-test/t/mysql.test --- a/mysql-test/t/mysql.test 2007-06-01 15:49:00 +02:00 +++ b/mysql-test/t/mysql.test 2007-08-07 11:40:02 +02:00 @@ -241,18 +241,21 @@ DELIMITER / SELECT 1/ EOF --exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/bug21412.sql; # This should give an error... --write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql DELIMITER \ EOF --exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/bug21412.sql; # As should this... --write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql DELIMITER \\ EOF --exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/bug21412.sql; # # Some coverage of not normally used parts diff -Nrup a/mysql-test/t/mysqladmin.test b/mysql-test/t/mysqladmin.test --- a/mysql-test/t/mysqladmin.test 2007-01-17 12:14:31 +01:00 +++ b/mysql-test/t/mysqladmin.test 2007-08-07 11:40:02 +02:00 @@ -20,7 +20,7 @@ EOF --replace_regex /.*mysqladmin.*: unknown/mysqladmin: unknown/ --error 7 --exec $MYSQLADMIN --defaults-file=$MYSQLTEST_VARDIR/tmp/bug10608.cnf -S $MASTER_MYSOCK -P $MASTER_MYPORT -u root --password= ping 2>&1 - +remove_file $MYSQLTEST_VARDIR/tmp/bug10608.cnf; # When mysqladmin finds "loose-database" in .cnf file it shall print # a warning and continue @@ -32,3 +32,4 @@ EOF --replace_regex /Warning: .*mysqladmin.*: unknown/Warning: mysqladmin: unknown/ --exec $MYSQLADMIN --defaults-file=$MYSQLTEST_VARDIR/tmp/bug10608.cnf -S $MASTER_MYSOCK -P $MASTER_MYPORT -u root --password= ping 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/bug10608.cnf; diff -Nrup a/mysql-test/t/mysqltest.test b/mysql-test/t/mysqltest.test --- a/mysql-test/t/mysqltest.test 2007-08-03 13:12:49 +02:00 +++ b/mysql-test/t/mysqltest.test 2007-08-07 11:40:02 +02:00 @@ -366,6 +366,7 @@ show status; EOF --error 1 --exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql; # # Missing delimiter until eof @@ -377,6 +378,7 @@ sleep 7 EOF --error 1 --exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql; # # Missing delimiter until "disable_query_log" @@ -391,6 +393,7 @@ disable_query_log; EOF --error 1 --exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql; # # Missing delimiter until "disable_query_log" @@ -406,6 +409,7 @@ disable_query_log; EOF --error 1 --exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql; # # Missing delimiter until eof @@ -422,6 +426,7 @@ disconnect default EOF --error 1 --exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql; # # Missing delimiter until eof @@ -1160,6 +1165,7 @@ echo hej; EOF --error 1 --exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql; --write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql while (0) @@ -1167,6 +1173,7 @@ while (0) EOF --error 1 --exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql; --write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql while (0){ @@ -1268,6 +1275,7 @@ while ($i) } EOF --exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql; echo OK;" | $MYSQL_TEST 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql; # Repeat connect/disconnect --write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql @@ -1282,6 +1290,7 @@ EOF --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR --error 1 --exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql;" | $MYSQL_TEST 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql; # Select disconnected connection --write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql @@ -1292,6 +1301,7 @@ EOF --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR --error 1 --exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql;" | $MYSQL_TEST 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql; # Connection name already used --write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql @@ -1568,6 +1578,12 @@ write_file $MYSQLTEST_VARDIR/tmp/test_fi Content for test_file1 contains EOF END_DELIMITER file_exists $MYSQLTEST_VARDIR/tmp/test_file1.tmp; + +# write to already exisiting file +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +--error 1 +--exec echo "write_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;" | $MYSQL_TEST 2>&1 + remove_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp; # ---------------------------------------------------------------------------- @@ -1589,6 +1605,8 @@ append_file $MYSQLTEST_VARDIR/tmp/test_f Appended text on nonexisting file EOF +remove_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp; + # ---------------------------------------------------------------------------- # test for cat_file # ---------------------------------------------------------------------------- @@ -1599,6 +1617,7 @@ for cat_file command of mysqltest EOF cat_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp; +remove_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp; --error 1 --exec echo "cat_file non_existing_file;" | $MYSQL_TEST 2>&1 @@ -1719,6 +1738,7 @@ chmod 0000 $MYSQLTEST_VARDIR/tmp/file1.t #EOF chmod 0777 $MYSQLTEST_VARDIR/tmp/file1.tmp; +remove_file $MYSQLTEST_VARDIR/tmp/file1.tmp; --write_file $MYSQLTEST_VARDIR/tmp/file1.tmp test2 EOF diff -Nrup a/mysql-test/t/sp-destruct.test b/mysql-test/t/sp-destruct.test --- a/mysql-test/t/sp-destruct.test 2007-03-21 18:58:09 +01:00 +++ b/mysql-test/t/sp-destruct.test 2007-08-07 11:40:02 +02:00 @@ -42,6 +42,7 @@ insert into t1 values (0); flush table mysql.proc; # Thrashing the .frm file +--remove_file $MYSQLTEST_VARDIR/master-data/mysql/proc.frm --write_file $MYSQLTEST_VARDIR/master-data/mysql/proc.frm saljdfa EOF