diff options
author | Daniel Black <daniel@mariadb.org> | 2020-10-26 16:01:18 +1100 |
---|---|---|
committer | Daniel Black <daniel@mariadb.org> | 2021-01-15 13:56:50 +1100 |
commit | 01a1a89ae0f04f1517c0e1477774cda9e2d836c8 (patch) | |
tree | 3b2adf636ec7953e74ef1de449c7ae6ea088ff8c | |
parent | f130adbf35b5b8ef7ed091549ed764982801480c (diff) | |
download | mariadb-git-bb-10.3-danielblack-MDEV-24268-mtr-mysql_install_db.tar.gz |
MDEV-24268: add MTR test for mysql_install_dbbb-10.3-danielblack-MDEV-24268-mtr-mysql_install_db
(Adapted for 10.3)
-rw-r--r-- | mysql-test/main/mysql_install_db.result | 111 | ||||
-rw-r--r-- | mysql-test/main/mysql_install_db.test | 162 | ||||
-rwxr-xr-x | mysql-test/mysql-test-run.pl | 24 |
3 files changed, 297 insertions, 0 deletions
diff --git a/mysql-test/main/mysql_install_db.result b/mysql-test/main/mysql_install_db.result new file mode 100644 index 00000000000..8b2911c9125 --- /dev/null +++ b/mysql-test/main/mysql_install_db.result @@ -0,0 +1,111 @@ +disconnect default; +connect testcon,localhost,root,,mysql,,; +connection testcon; +# +# +# mysql_install_db (no args) +# +# Kill the server +SELECT user,host,plugin,password FROM user ORDER BY user,host; +user host plugin password + localhost +root 127.0.0.1 +root ::1 +root localhost +SHOW DATABASES; +Database +information_schema +mysql +performance_schema +test +SHOW GRANTS FOR root@localhost; +Grants for root@localhost +GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` WITH GRANT OPTION +GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION +SHOW GRANTS FOR ''@localhost; +Grants for @localhost +GRANT USAGE ON *.* TO ``@`localhost` +# +# +# mysql_install_db --auth-root-authentication-method=normal +# +SELECT user,host,plugin,password FROM user ORDER BY user,host; +user host plugin password + localhost +root 127.0.0.1 +root ::1 +root localhost +SHOW DATABASES; +Database +information_schema +mysql +performance_schema +test +SHOW GRANTS FOR root@localhost; +Grants for root@localhost +GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` WITH GRANT OPTION +GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION +SHOW GRANTS FOR ''@localhost; +Grants for @localhost +GRANT USAGE ON *.* TO ``@`localhost` +# +# +# mysql_install_db --auth-root-authentication-method=socket \ +# --auth-root-socket-user=$USER +# +use test; +connect unix,localhost,$USER,,mysql; +connection unix; +SELECT user,host,plugin,password FROM user ORDER BY user,host; +user host plugin password + localhost +USER localhost unix_socket +SHOW DATABASES; +Database +information_schema +mysql +performance_schema +test +SHOW GRANTS FOR USER@localhost;; +Grants for USER@localhost +GRANT ALL PRIVILEGES ON *.* TO `USER`@`localhost` IDENTIFIED VIA unix_socket WITH GRANT OPTION +SHOW GRANTS FOR ''@localhost; +Grants for @localhost +GRANT USAGE ON *.* TO ``@`localhost` +# +# +# mysql_install_db --skip-name-resolve +# +connection testcon; +use mysql; +SELECT user,host,plugin,password FROM user ORDER BY user,host; +user host plugin password + localhost +root 127.0.0.1 +root ::1 +root localhost +SHOW DATABASES; +Database +information_schema +mysql +performance_schema +test +# End of 10.2 tests +# +# +# mysql_install_db --skip-test-db +# +disconnect unix; +connection testcon; +use mysql; +SELECT user,host,plugin,password FROM user ORDER BY user,host; +user host plugin password +root 127.0.0.1 +root ::1 +root localhost +SHOW DATABASES; +Database +information_schema +mysql +performance_schema +# End of 10.3 tests diff --git a/mysql-test/main/mysql_install_db.test b/mysql-test/main/mysql_install_db.test new file mode 100644 index 00000000000..9aae375af11 --- /dev/null +++ b/mysql-test/main/mysql_install_db.test @@ -0,0 +1,162 @@ +--source include/not_windows.inc +--source include/not_embedded.inc +--source include/have_unix_socket.inc + +--let MYSQLD_DATADIR= `select @@datadir` +--let HOSTNAME= `select @@hostname` + +disconnect default; +--connect(testcon,localhost,root,,mysql,,) +connection testcon; + +--echo # +--echo # +--echo # mysql_install_db (no args) +--echo # + +--source include/kill_mysqld.inc +--rmdir $MYSQLD_DATADIR + +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +--exec $MYSQL_INSTALL_DB --verbose + +--source include/start_mysqld.inc + +--sorted_result +--replace_result $HOSTNAME HOSTNAME +SELECT user,host,plugin,password FROM user ORDER BY user,host; + +--sorted_result +SHOW DATABASES; + +--sorted_result +SHOW GRANTS FOR root@localhost; + +--sorted_result +SHOW GRANTS FOR ''@localhost; + +--echo # +--echo # +--echo # mysql_install_db --auth-root-authentication-method=normal +--echo # + +--source include/shutdown_mysqld.inc +--rmdir $MYSQLD_DATADIR + +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +--exec $MYSQL_INSTALL_DB --auth-root-authentication-method=normal + +--source include/start_mysqld.inc + +--sorted_result +--replace_result $HOSTNAME HOSTNAME +SELECT user,host,plugin,password FROM user ORDER BY user,host; + +--sorted_result +SHOW DATABASES; + +--sorted_result +SHOW GRANTS FOR root@localhost; + +--sorted_result +SHOW GRANTS FOR ''@localhost; + +--echo # +--echo # +--echo # mysql_install_db --auth-root-authentication-method=socket \\ +--echo # --auth-root-socket-user=\$USER +--echo # + +use test; +--source include/shutdown_mysqld.inc +--rmdir $MYSQLD_DATADIR + +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +--exec $MYSQL_INSTALL_DB --auth-root-authentication-method=socket --auth-root-socket-user=$USER + +--source include/start_mysqld.inc + +--connect(unix,localhost,$USER,,mysql) +connection unix; + +--sorted_result +--replace_result $HOSTNAME HOSTNAME $USER USER +SELECT user,host,plugin,password FROM user ORDER BY user,host; + +--sorted_result +SHOW DATABASES; + +--replace_result $USER USER +--sorted_result +--eval SHOW GRANTS FOR $USER@localhost; + +--sorted_result +SHOW GRANTS FOR ''@localhost; + + +--echo # +--echo # +--echo # mysql_install_db --skip-name-resolve +--echo # + +--source include/shutdown_mysqld.inc +--rmdir $MYSQLD_DATADIR + +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +--exec $MYSQL_INSTALL_DB --skip-name-resolve + +connection testcon; +--source include/start_mysqld.inc +use mysql; + +--sorted_result +--replace_result $HOSTNAME HOSTNAME $USER USER +SELECT user,host,plugin,password FROM user ORDER BY user,host; + +--sorted_result +SHOW DATABASES; + +--echo # End of 10.2 tests + +--echo # +--echo # +--echo # mysql_install_db --skip-test-db +--echo # + +--source include/shutdown_mysqld.inc +--disconnect unix +connection testcon; +--rmdir $MYSQLD_DATADIR + +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +--exec $MYSQL_INSTALL_DB --skip-test-db + +--source include/start_mysqld.inc + +use mysql; +--sorted_result +--replace_result $HOSTNAME HOSTNAME $USER USER +SELECT user,host,plugin,password FROM user ORDER BY user,host; + +--sorted_result +SHOW DATABASES; + +--echo # End of 10.3 tests + +# Cleanup +--source include/shutdown_mysqld.inc +--rmdir $MYSQLD_DATADIR +--mkdir $MYSQLD_DATADIR + +perl; +use lib "lib"; +use My::Handles { suppress_init_messages => 1 }; +use My::File::Path; +my $install_db_dir = ($ENV{MTR_PARALLEL} == 1) ? + "$ENV{'MYSQLTEST_VARDIR'}/install.db" : + "$ENV{'MYSQLTEST_VARDIR'}/../install.db"; +copytree($install_db_dir, $ENV{'MYSQLD_DATADIR'}); +EOF + +--source include/start_mysqld.inc + diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index da530c240de..eeed2899ee6 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2523,6 +2523,30 @@ sub environment_setup { "--defaults-file=$path_config_file $extra_opts"; # ---------------------------------------------------- + # mysql_install_db + # ---------------------------------------------------- + if (!IS_WINDOWS) + { + my $exe_mysql_install_db= + mtr_exe_exists("$bindir/scripts/mysql_install_db", + "$path_client_bindir/mysql_install_db"); + $ENV{'MYSQL_INSTALL_DB'}= native_path($exe_mysql_install_db) . + " --defaults-file=$path_config_file $extra_opts" . + " --defaults-group-suffix=.1 --cross-bootstrap"; + } + + if ( ! $source_dist ) + { + $ENV{'MYSQL_INSTALL_DB'}.= " --basedir=$basedir"; + } + else + { + $ENV{'MYSQL_INSTALL_DB'}.= + " --srcdir=" . cwd() . "/.." . + " --builddir=$bindir"; + } + + # ---------------------------------------------------- # bug25714 executable may _not_ exist in # some versions, test using it should be skipped # ---------------------------------------------------- |