mysql-test/lib/My/File/Path.pm:
Extend 'copytree' to take an optional "umask" parameter that will be used while copying the files
mysql-test/mysql-test-run.pl:
Pass umask 0022 to copytree so that the copied files will be created world readable and the mysqld
can LOAD DATA INFILE them
Adding --loose-skip-falcon option to the mysqld options provided by MTR (v2) during mysqld bootstrap in order to avoid plugin (in this case Falcon) initialization of static variables etc. Options --loose-skip-innodb and --loose-skip-ndbcluster were already included.
This will fix Bug#41014 (falcon_bug_39708 fails in pushbuild in 6.0-rpl: "succeeded - should have failed")
in the case of MTR v2 (which currently is available in -rpl branches only).
MTR v1 (e.g. in main 6.0 branch) does not have this problem.
It would be more ideal to remove the --loose-skip-* options and provide a single option disabling all plugin initialization instead, or have bootstrap do this by default. Server modifications are (most likely) needed to be able to do that.
mysql-test/mysql-test-run.pl:
Reintroduced the --loose-skip-falcon bootstrap option used by the previous version of this test runner.
1. mysqltest.cc - added flush to log file after each executed command in a testcase.
2. mtr shows 20 last lines from test case log file if timeout reached.
3. Optimizing the code by Magnus review.
4. It is partially fix bug#40150
- Change the logic slightly for when and how errors from
check-warnings and check-testcase are reported. The prevoius logic
reporting testfailed twice and that might have caused this.
- Also print result code returned from mysqltest when it is "unexpected"
mysql-test-run.pl --start-and-exit starts but does not exit
Instead, it hangs with ActiveState perl. The error is
believed to be a bug in ActiveState implementation.
Workaround is using POSIX::_exit, as described here
http://www.perlmonks.org/?node_id=334610
Thanks to Philip Stoev for the idea of the patch.
mysql-test/lib/mtr_cases.pl:
forward port the algorithm to check if a binlog format is supported
mysql-test/mysql-test-run.pl:
Don't use dynamic setting of binlog format - does not work
mysql-test/mysql-test-run.pl:
Don't bother to remove particular files from the datadir, based on what
config parameters are available. Just remove whole datadir
- Rearrange spawn worker code
mysql-test/mysql-test-run.pl:
- Rearrange the spawning of workers to make it possible to not
spawn more workers than number of tests to run
- This also make it enough to parse args in the main thread