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
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
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
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
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"
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.
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.
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
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.
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
into pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
client/mysqltest.c:
Auto merged
mysql-test/t/mysqltest.test:
Auto merged
mysql-test/r/mysqltest.result:
SCCS merged
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
into pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
client/mysqltest.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/mysqltest.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/t/mysqltest.test:
Auto merged
mysql-test/t/sp.test:
Auto merged
- Update comments
- Make "write_file" fail if file already exist
- Remove temporary files created by test cases
client/mysqltest.c:
Improve function comments
Make write_file fail if file already exist
mysql-test/r/mysqltest.result:
Update test result after adding new test and updating description
of argumements to chmod
mysql-test/t/bootstrap.test:
Remove temporary file created by testcase
mysql-test/t/mysql.test:
Remove temporary file created by testcase
mysql-test/t/mysqladmin.test:
Remove temporary file created by testcase
mysql-test/t/mysqltest.test:
Remove temporary file created by testcase
Add test to show that "write_file" fails if file already exist
mysql-test/t/sp-destruct.test:
Remove temporary file created by testcase
Update comments
Add more tests for "let from query"
client/mysqltest.c:
Remove NOT_YET code
Update comments
mysql-test/r/mysqltest.result:
Add more tests for "let from query"
mysql-test/t/mysqltest.test:
Add more tests for "let from query"
- Move the code to generate test report to the test tool(in this
case mysqltest) where the best control of what failed is
- Simplify the code in mysql-test-run.pl
- mysqltest will now find what diff to use in a best effort attempt
using "diff -u", "diff -c" and finally dumping the two files verbatim
in the report.
client/mysqltest.c:
- Add new option --tail-lines indicating how many lines of the result to output
when generating report for a failure
- Remove eval_result, noone knows what it should do and it's not used.
- Add support for best effort execution of systems builtin "diff",
try with "diff -u" and "diff -c" and if that fails dump the whole content
of teh two files to report
- Use one common function when comapring two files, used when test
has completed and the result should be compared to the .result file
as well as using it from myqltest's builtin diff_files command.
- Output the last lines og the result so far in the report that mysqltest
generates in case of a test failure.
mysql-test/lib/mtr_report.pl:
- Remove code for generating diff between .reject and .result file,
that is handled by mysqltest(or the test tool) from now on.
- Add better comments
mysql-test/mysql-test-run.pl:
- Remove the --udiff flag to mysql-test-run.pl, if the systems diff supports
unified diff it will be used automatically
- Remove the code for "mtr_show_failed_diff", the report from mysqltest
will know include the diff so if mysqltest(or another test tool)
fails, just display it's report what went wrong
- Pass --tail-lines=20 to mysqltest to it will shos the last 20 lines
from the result in the report in case of failure.
mysql-test/r/mysqltest.result:
Update result file now when the output from mysqltest has been sent to /dev/null
mysql-test/t/mysqltest.test:
- Improve tests for --diff_files
- Remove temporary files in var/tmp generated in the fly
- Send output from test for --diff_files to /deb/null since only the error
code it returns are of interest and tyhe outpu may vary depending
on what builtin diff is being used.
BitKeeper/deleted/.del-ssl_big.test:
Delete: mysql-test/t/ssl_big.test
extra/yassl/include/yassl_int.hpp:
added comment
extra/yassl/src/yassl_int.cpp:
Changed init order to fix a compiler warning.
mysql-test/r/mysqltest.result:
There is no limit to connections anymore.
mysql-test/t/mysqltest.test:
There is no limit to connections anymore.
- Add test case for this already existing feature
mysql-test/r/mysqltest.result:
Update result file
mysql-test/t/mysqltest.test:
Add test case for this feature