Commit graph

109 commits

Author SHA1 Message Date
Bjorn Munch
e2b73747df Bug #59002 Please make mtr print correct file and line number when tests fail
Followup: had forgotten to update mysqltest.test due to changed output - duh!
2011-01-11 15:00:21 +01:00
Bjorn Munch
5376a76dea Bug #58900 query_get_value crashes when result begins with dollar sign
Generalized fix for recursive backtick
Optional arg to eval_expr telling it not to interpret
2011-01-11 10:54:42 +01:00
Georgi Kodinov
b908a74bc9 merge 2010-12-16 16:40:52 +02:00
Bjorn Munch
cc21483fcf Bug #58092 Test "rpl_cross_version" has "copy_file" failing
I am not fixing the test failure
Adds printing of my_errno when commands fail, could hopefully help
2010-12-01 11:11:16 +01:00
Ramil Kalimullin
65116d3408 Manual-merge from mysql-5.1-bugteam. 2010-11-22 12:21:10 +03:00
Bjorn Munch
32ea070845 Bug #58257 mysqltest: in if(), ! $var with space is always false
Evaluation would start with the space and thus ignore the $
Added while() to skip past white space
2010-11-17 16:05:52 +01:00
Mattias Jonsson
21bc09c26b 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.
2010-11-17 10:13:57 +01:00
Bjorn Munch
92a1a11203 Bug #58087 mysqltest re-evaluates 'let' expressions infinitely
Results from query is sent for evaluation
Break recursion by asking for ` to be ignored
2010-11-15 14:23:02 +01:00
Bjorn Munch
7b216d7625 Bug #56921 It should be possible to log connection statements in mysqltest
Added --enable-connect-log, somewhet similar to --enable-query-log
If query log is disabled, disable connect log too
Also some related cleanup in mysqltest.test: removing duplicate test loop
2010-09-22 10:57:10 +02:00
Bjorn Munch
6ff48a61f2 Bug #56753 mtr silently ignores junk after backticks
When stepping backward to end of `` expression, check for illegal chars
2010-09-15 14:56:22 +02:00
Bjorn Munch
788b4e404b Bug #55413 mysqltest gives parse error for lines matching "^let.*\\.*;$"
Allow escaped quotes also in statements not starting with --
But will not support single unescaped ' or `
2010-08-10 12:13:58 +02:00
Bjorn Munch
2d2da6e793 Bug #55582 mtr root detection (and if-expression execution) broken
Follow-up patch: added test cases for -0 and while
2010-08-04 10:52:45 +02:00
Bjorn Munch
5e92df6e0e Bug #55582 mtr root detection (and if-expression execution) broken
if() treated any non-numeric string as false
Fixed to treat those as true instead
Added some test cases
Fixed missing $ in variable name in include/mix2.inc
2010-08-03 16:11:23 +02:00
Bjorn Munch
7f20e9fd06 Bug #43603 mysqltest command disable_abort_on_error does not affect all built-in commands
After disable_abort_on_error, behaved as if --error was in effect
Add condition before die, as after queries
2010-03-22 11:28:57 +01:00
Bjorn Munch
ddb6a95abd Bug #43588 mysqltest command disable_abort_on_error logs connect commands
Only log connects after --error
A few small test adjustments needed/possible
2010-03-17 15:25:55 +01:00
Bjorn Munch
4760adbf3f Bug #51590 mysqltest: --disable_abort_on_error does not work inside while/if
abort_on_error flag for stmt was set at initial parse
(Re)-set flag before execution instead, also added to test
2010-03-02 12:39:32 +01:00
Bjorn Munch
0ad9a5992d Bug #50618 Please allow 'sleep $variable' in mtr
Made mtr's sleep function understand $variables
A few fixes since previous patch, added tests
2010-02-09 18:13:57 +01:00
Bjorn Munch
01c0d46af8 Bug #39774 mysql-test-run's remove_file can't use wildcards, this should be documented
Added remove_files_wildcard that allows to remove multiple files at once.
This is a port of original patch to Windows.
2010-02-04 13:15:42 +01:00
Bjorn Munch
84616df3ff merge 49837 2010-01-20 14:23:57 +01:00
Bjorn Munch
87ff57cb7e merge 48888 2010-01-20 14:22:34 +01:00
Bjorn Munch
94ccc34537 Bug #49878 delimiter under false 'if' makes mysqltest test fail with 'Missing end of block'
delimiter not executed so does not recognize end of block
Always execute delimiter command, revert after false if() block.
2010-01-20 14:18:27 +01:00
Bjorn Munch
b554f4c52d Bug #48888 mysqltest crashes on --replace_result if 'from' is longer than ~1024 symbols
valgrind pointed to a buffer allocated by my_realloc which looked fishy
Replaced size with what was probably intended, added test case.
Now also fixed line after review comment
2010-01-20 12:52:35 +01:00
Bjorn Munch
5ae2eda776 Bug #49837 mysqltest exec cannot handle multi-line command correctly
Since the exec command line is passed on externally, it cannot take newlines
Simply replace \n with space
Now also added test case
2010-01-20 12:51:18 +01:00
Bjorn Munch
e1b42965a5 Bug #49269 mysqltest crashes on 'reap' if query executed after 'send'
Undid amendment allowing pending reap after switching connections
Moved check for pending reap earlier; failed if running with ps-protocol
2010-01-07 11:22:45 +01:00
Bjorn Munch
ed64190b23 Bug #49269 mysqltest crashes on 'reap' if query executed after 'send'
Small amendment: ignore pending reap when switching connection, add test
2010-01-06 12:56:22 +01:00
Bjorn Munch
04a5dcb136 Bug #49761 mysqltest.test does not have any tests for send/reap
Added them
NB the 6th case is adapted to Bug no. 49269, gives wrong output without it
2010-01-06 09:47:25 +01:00
Bjorn Munch
5b66dab00f Bug #48863 mysql test: enable and disable case insensitive compare mode
Implemented --lowercase_result which lower cases next result
2010-01-06 09:42:21 +01:00
Bjorn Munch
b229781c2d Bug #48671 mysqltest fails on 'perl' in file sourced inside 'while'
Actually, fails on 'perl' in any while
Fixed essentially the same way as for append_file
2009-11-11 12:46:19 +01:00
Bjorn Munch
9edd40c87e Bug #47218 mysqltest ignores "error" command inside if inside loop
This was affected by same problem as append_file etc.
Added Q_ERROR to special handling, and added small test
2009-10-08 11:30:03 +02:00
Bjorn Munch
fe3ea31d93 Bug #32296 mysqltest fails to parse "append_file" inside a "while", it works inside
a "if"
Bug #41913 mysqltest cannot source files from if inside while
Some commands require additional processing which only works first time
Keep content for write_file or append_file with the st_command struct
Add tests for those cases to mysqltest.test
2009-09-02 11:17:33 +02:00
Bjorn Munch
444bbe56f5 cherry picking fix for Bug #39542 from 6.0-runtime 2009-05-27 22:54:40 +02:00
Bjorn Munch
b12bb225d1 Bug #44922 mysqltest's query_get_value function can't work with queries containing ','
check_command_args() always looks for the first , (or whatever)
Extended check_command_args() to let arguments be quoted
Added test in mysqltest.test
2009-05-25 17:19:20 +02:00
Matthias Leich
2417d31045 Merge 5.0 -> 5.1 of fix for Bug#42003 and Bug#43114 2009-03-06 15:56:17 +01:00
Patrick Crews
e9b4b536f3 merge 5.0 -> 5.1
These are only 5.0's fixes being merged.
5.1 and 6.0 Unix-removals will occur in different patches.
2009-02-19 18:24:25 -05:00
Patrick Crews
79300d6f7f Bug#38831: 11 test cases fail on Windows due to missing commands
Replaced Unix calls with mysql-test-run's built-in functions / SQL manipulation where possible.
Replaced error codes with error names as well.
Disabled two tests on Windows due to more complex Unix command usage
See Bug#41307, Bug#41308
2009-02-19 15:37:40 -05:00
Magnus Svensson
bb42e1ab05 Bug#35701 please allow test language variables in connection and
sync_slave_with_master
 - Additional patch for "disconnect $variable"
2009-01-15 09:05:51 +01:00
Sven Sandberg
c7f8ffe7a7 BUG#35701: please allow test language variables in connection and sync_slave_with_master
Problem: In the mysqltest language, it was not possible to set the current
connection from a variable, and it was not possible to read the current
connection.
Fix: Allow setting the connection from a variable, like:
connection $variable;
and introduce the mysqltest language variable $CURRENT_CONNECTION, which
holds the name of the current connection.


client/mysqltest.cc:
  - Made select_connection use the common argument parser instead of its own
  home-rolled version. That allows variable expansion, for instance.
  - Made select_connection_name set the variable $CURRENT_CONNECTION, so that
  test scripts can use that.
  - Refactored a bit so that stuff that needs to be done when changing connection
  is located to one place.
mysql-test/t/mysqltest.test:
  Added test case for $CURRENT_CONNECTION and "connection $variable"
2008-10-23 16:23:13 +02:00
Magnus Svensson
d7f846be94 Merge 2008-08-08 20:10:43 +02:00
Magnus Svensson
31c7b018bd Merge 2008-08-04 22:25:45 +02:00
Magnus Svensson
27e8584271 Bug #38181 Please print more debug info when tests fail 2008-08-04 21:54:44 +02:00
Magnus Svensson
c7de7ff0bd Bug #32307 mysqltest - does not detect illegal if syntax 2008-08-04 12:38:50 +02:00
Tatiana A. Nurnberg
bb827398ab auto-merge + post-merge fixies 2008-07-21 11:20:03 +02:00
Tatiana A. Nurnberg
6b584b80da Bug#23921: random failure of user_limits.test
mysqltest disconnect/connect-combo could be so
quick that connect would hit the server before
it had processed the disconnect. Since that
resulted in one more concurrent connection than
we meant to have, global or per-user
max-user-connections could be exceeded.
This could lead to "random" failures in tests
that set those limits.


client/mysqltest.c:
  Retry max-connect-retries times if connect in
  connect_n_handle_errors() unexpectedly fails
  on connection-limit as this could be a race.
  Break out code that checks for expected --errors
  into its own function.
mysql-test/r/mysqltest.result:
  show that we throw a warning if test expects a SQL-state from
  a command (diff_files, ...) that clearly can't produce one.
mysql-test/t/disabled.def:
  re-enable user_limits
mysql-test/t/mysqltest.test:
  show that we throw a warning if test expects a SQL-state from
  a command (diff_files, ...) that clearly can't produce one.
2008-07-15 13:42:21 +02:00
Mattias Jonsson
d4b0fcc90a Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
The problem is that relying on the output of the 'ls' command is not
portable as its behavior is not the same between systems and it might
even not be available at all in (Windows).

So I added list_files that relies on the portable mysys library instead.
(and also list_files_write_file and list_files_append_file,
since the test was using '--exec ls' in that way.)

client/mysqltest.c:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  To be able to replace the use of '--exec ls' I have added
  list_files, list_files_write_file and list_files_append_file.
  
  list_files <dirname> [<filename incl. wild-cards>]
  is equivalent to 'ls <dirname>/[<filename incl. wild-cards>]'
  
  list_files_write_file creates/overwrites a file with the content
  list_files_append_file creates/appends a file with the content
  list_files* return a sorted output.
mysql-test/r/mysqltest.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  result file change, due to added test of the new list_files command.
mysql-test/suite/parts/inc/partition_check_drop.inc:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Using the new list_files instead of 'ls'.
  
  Changed the use of local variables (ls_file, file_list)
  and server variable (@aux).
mysql-test/suite/parts/inc/partition_layout.inc:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Using the new list_files instead of 'ls'.
mysql-test/suite/parts/inc/partition_layout_check1.inc:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Using the new list_files instead of 'ls'.
mysql-test/suite/parts/inc/partition_layout_check2.inc:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_alter1_1_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_alter1_2_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_alter2_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_alter3_innodb.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_alter3_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_basic_innodb.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_basic_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_basic_symlink_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_engine_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_syntax_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/t/mysqltest.test:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Adding test for the new mysqltest commands list_files,
  list_files_write_file and list_files_append_file.
2008-07-09 13:19:04 +02:00
unknown
6e6d60732b Bug #36041: mysql-test-run doesn't seem to string match
100% effectively on Windows

The mysqltest docs state that the 'replace_result' command
doesn't perform any escape processing.
However the current implementation was processing backslash 
escapes in the from/to strings.
This prevents replacing e.g. patch on windows (where backslash
is used as a path separator).
Fixed by removing the backslash escape processing from 
'replace_result'.


client/mysqltest.c:
  Bug #36041: remove the escape processing from --replace_result
mysql-test/r/mysqltest.result:
  Bug #36041: test case
mysql-test/t/mysqltest.test:
  Bug #36041: test case
2008-04-29 19:08:52 +03:00
unknown
2fba90c1cb Merge pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-rpl
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl


client/mysqltest.c:
  Auto merged
mysql-test/r/mysqltest.result:
  Auto merged
2007-12-19 13:57:38 +01:00
unknown
2b688f6201 Improve error message when file fails to open 2007-12-19 12:58:56 +01:00
unknown
2cad3bb8da Backport mysqltests "change_user" command 2007-10-31 18:44:31 +01:00
unknown
88e5aa69f7 Bug#31608 missing mysqltest change_user command
The problem is that currently there is no way to test the behavior
of the mysql_change_user() function using the mysqltest suite because
there is no internal command for it.

The solution is to introduce a change_user command that can be used
to test aspects of the MySQL client function mysql_change_user().


client/mysqltest.c:
  Add change_user command to mysqltest.
mysql-test/r/mysqltest.result:
  Add test case result for change_user command
mysql-test/t/mysqltest.test:
  Add test case for change_user command
mysql-test/r/change_user.result:
  Add new file with test case results for bugs 20023 and 31418.
mysql-test/t/change_user.test:
  Add new file with test cases for bugs 20023 and 31418.
2007-10-16 12:29:22 -03:00
unknown
65fa527a27 Improve error messages
Write test results to var/log
Add test for "source" and variable expansion


client/mysqltest.c:
  Improve error messages
  Write .reject file to the location specified by --logdir
mysql-test/mysql-test-run.pl:
  Pass logdir to mysqltest, to get test results written to var/log
mysql-test/r/mysqltest.result:
  Update test results
mysql-test/t/mysqltest.test:
  Add test for "source" and variable expansion
  Update test after writing result in var/log
2007-08-13 15:46:11 +02:00