On FreeBSD, perl isn't in /usr/bin, its in /usr/local/bin or
elsewhere in the path.
Like storage/{maria/unittest/,}ma_test_* , we use /usr/bin/env to
find perl and run it.
Replace all references to /usr/sbin/mysqld (and bin and libexec) with
mariadbd, so that the binary server will always be 'mariadbd'.
Also update all places that reference the server binary in other ways,
such as AppArmor profiles and scripts that previously expected to find
a 'mysqld' in process lists.
otherwise it reaches "0 tests left" state and then waits for
a few minutes for all workers to complete their tests.
show failures. account for retries.
Not only Ubuntu Focal builds openssl with OPENSSL_TLS_SECURITY_LEVEL=2,
but for some unfathomable reason it patches openssl sources to disable
TLS < 1.2 at security level 2, even though openssl manual says it
should only happen at level 4:
https://www.openssl.org/docs/man1.1.0/man3/SSL_CTX_set_security_level.html
We test TLSv1.1 and TLSv1, so we have to override Focal defaults in mtr.
In main.index_merge_myisam we remove the test that was added in
commit a2d24def8c because
it duplicates the test case that was added in
commit 5af12e4635.
When testing installed packages, the client (mariadb or mysql) can have
plugins stored in a separate location compared to server. This change
ensures that the correct paths are used for the plugin-dir directive in
the my.cnf generated by mysql-test-run.
The directives in my.cnf will be replaced like so:
[client]
plugin-dir=$client_plugindir
[mysqld]
plugin-dir=$plugindir
where $<variable-name> corresponds to the variable name in mtr.
A new parameter has been added called xml-report, with which the
filename of the XML file is given to which the XML result is
written. There is also xml-package for adding a package value in
the XML output. Example usage:
./mysql-test-run.pl main.events_bugs innodb.count_distinct
main.explain_json innodb.file_format_defaults json.json_no_table
--suite=main,innodb,json --force --xml-report=build123456789.xml
--xml-package=simpletestrun
The test fails because it reuses mysqltest perl code to copy directory
tree, and this code contains Windows-specific piece which outputs some
diagnostic information.
The patch introduces new parameter for that Windows-specific perl code to
have the ability to suppress diagnostic output on the corresponding
mysqltest perl module initialization.
The MDEV-20265 commit e746f451d5
introduces DBUG_ASSERT(right_op == r_tbl) in
st_select_lex::add_cross_joined_table(), and that assertion would
fail in several tests that exercise joins. That commit was skipped
in this merge, and a separate fix of MDEV-20265 will be necessary in 10.4.