1--source include/windows.inc
2
3# Create database  in tmp directory using mysql_install_db.exe,
4# and start server from this directory.
5let $ddir= $MYSQLTEST_VARDIR/tmp/ddir;
6exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo -R;
7
8--source include/kill_mysqld.inc
9let $restart_parameters=--datadir=$ddir --loose-innodb;
10--source include/start_mysqld.inc
11
12connect root,localhost,root,foo;
13# Smoke test - check that we're actually using datadir
14# we've created (i.e restart_parameters worked)
15--replace_result  $ddir DATADIR
16SELECT @@datadir;
17
18# restart in the original datadir again
19--source include/kill_mysqld.inc
20rmdir $ddir;
21
22# MDEV-23052
23# 1. mysql_install_db works on existing, empty directory
24mkdir $ddir;
25exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo -R > /dev/null;
26rmdir $ddir;
27
28# 2. mysql_install_db rejects existing, non-empty directory, and does not
29# remove it.
30mkdir $ddir;
31write_file $ddir/1;
32EOF
33
34error 1;
35exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo -R > $MYSQLTEST_VARDIR/tmp/install.log 2>&1;
36list_files $ddir;
37let $log=$MYSQLTEST_VARDIR/tmp/install.log;
38let SEARCH_FILE=$log;
39let SEARCH_PATTERN=is not empty. Only new or empty existing directories are accepted for --datadir;
40--source include/search_pattern_in_file.inc
41remove_file $log;
42
43rmdir $ddir;
44
45let $restart_parameters=;
46connection default;
47--source include/start_mysqld.inc
48
49