|
11 | 11 | HOST=localhost |
12 | 12 | PORT="" |
13 | 13 | HOST_STRING='' |
14 | | -if [ -n "$WP_CLI_TEST_DBHOST" ]; then |
| 14 | +if [ -n "${WP_CLI_TEST_DBHOST}" ]; then |
15 | 15 | case ${WP_CLI_TEST_DBHOST##*[]]} in |
16 | 16 | (*:*) HOST=${WP_CLI_TEST_DBHOST%:*} PORT=${WP_CLI_TEST_DBHOST##*:};; |
17 | | - (*) HOST=$WP_CLI_TEST_DBHOST;; |
| 17 | + (*) HOST=${WP_CLI_TEST_DBHOST};; |
18 | 18 | esac |
19 | | - HOST_STRING="-h$HOST" |
20 | | - if [ -n "$PORT" ]; then |
21 | | - HOST_STRING="$HOST_STRING -P$PORT --protocol=tcp" |
| 19 | + HOST_STRING="-h${HOST}" |
| 20 | + if [ -n "${PORT}" ]; then |
| 21 | + HOST_STRING="${HOST_STRING} -P${PORT} --protocol=tcp" |
22 | 22 | fi |
23 | 23 | fi |
24 | 24 |
|
25 | 25 | USER=root |
26 | | -if [ -n "$WP_CLI_TEST_DBROOTUSER" ]; then |
27 | | - USER="$WP_CLI_TEST_DBROOTUSER" |
| 26 | +if [ -n "${WP_CLI_TEST_DBROOTUSER}" ]; then |
| 27 | + USER="${WP_CLI_TEST_DBROOTUSER}" |
28 | 28 | fi |
29 | 29 |
|
30 | 30 | PASSWORD_STRING="" |
31 | | -if [ -n "$WP_CLI_TEST_DBROOTPASS" ]; then |
32 | | - PASSWORD_STRING="-p$WP_CLI_TEST_DBROOTPASS" |
| 31 | +if [ -n "${WP_CLI_TEST_DBROOTPASS}" ]; then |
| 32 | + PASSWORD_STRING="-p${WP_CLI_TEST_DBROOTPASS}" |
33 | 33 | fi |
34 | 34 |
|
35 | 35 | TEST_DB=wp_cli_test |
36 | | -if [ -n "$WP_CLI_TEST_DBNAME" ]; then |
37 | | - TEST_DB="$WP_CLI_TEST_DBNAME" |
| 36 | +if [ -n "${WP_CLI_TEST_DBNAME}" ]; then |
| 37 | + TEST_DB="${WP_CLI_TEST_DBNAME}" |
38 | 38 | fi |
39 | 39 |
|
40 | 40 | TEST_USER=wp_cli_test |
41 | | -if [ -n "$WP_CLI_TEST_DBUSER" ]; then |
42 | | - TEST_USER="$WP_CLI_TEST_DBUSER" |
| 41 | +if [ -n "${WP_CLI_TEST_DBUSER}" ]; then |
| 42 | + TEST_USER="${WP_CLI_TEST_DBUSER}" |
43 | 43 | fi |
44 | 44 |
|
45 | 45 | TEST_PASSWORD=password1 |
46 | | -if [ -n "$WP_CLI_TEST_DBPASS" ]; then |
47 | | - TEST_PASSWORD="$WP_CLI_TEST_DBPASS" |
| 46 | +if [ -n "${WP_CLI_TEST_DBPASS}" ]; then |
| 47 | + TEST_PASSWORD="${WP_CLI_TEST_DBPASS}" |
48 | 48 | fi |
49 | 49 |
|
50 | 50 | # Prepare the database for running the tests with a MySQL version 8.0 or higher. |
51 | 51 | install_mysql_db_8_0_plus() { |
52 | 52 | set -ex |
53 | | - mysql -e "CREATE DATABASE IF NOT EXISTS \`$TEST_DB\`;" $HOST_STRING -u"$USER" "$PASSWORD_STRING" |
54 | | - mysql -e "CREATE USER IF NOT EXISTS \`$TEST_DB\`@'%' IDENTIFIED WITH mysql_native_password BY '$TEST_PASSWORD'" $HOST_STRING -u"$USER" "$PASSWORD_STRING" |
55 | | - mysql -e "GRANT ALL PRIVILEGES ON \`$TEST_DB\`.* TO '$TEST_USER'@'%'" $HOST_STRING -u"$USER" "$PASSWORD_STRING" |
56 | | - mysql -e "GRANT ALL PRIVILEGES ON \`$TEST_DB_scaffold\`.* TO '$TEST_USER'@'%'" $HOST_STRING -u"$USER" "$PASSWORD_STRING" |
| 53 | + mysql -e "CREATE DATABASE IF NOT EXISTS \`${TEST_DB}\`;" ${HOST_STRING} -u"${USER}" "${PASSWORD_STRING}" |
| 54 | + mysql -e "CREATE USER IF NOT EXISTS \`${TEST_DB}\`@'%' IDENTIFIED WITH mysql_native_password BY '${TEST_PASSWORD}'" ${HOST_STRING} -u"${USER}" "${PASSWORD_STRING}" |
| 55 | + mysql -e "GRANT ALL PRIVILEGES ON \`${TEST_DB}\`.* TO '${TEST_USER}'@'%'" ${HOST_STRING} -u"${USER}" "${PASSWORD_STRING}" |
| 56 | + mysql -e "GRANT ALL PRIVILEGES ON \`${TEST_DB}_scaffold\`.* TO '${TEST_USER}'@'%'" ${HOST_STRING} -u"${USER}" "${PASSWORD_STRING}" |
57 | 57 | } |
58 | 58 |
|
59 | 59 | # Prepare the database for running the tests with a MySQL version lower than 8.0. |
60 | 60 | install_mysql_db_lower_than_8_0() { |
61 | 61 | set -ex |
62 | | - mysql -e "CREATE DATABASE IF NOT EXISTS \`$TEST_DB\`;" $HOST_STRING -u"$USER" "$PASSWORD_STRING" |
63 | | - mysql -e "GRANT ALL ON \`$TEST_DB\`.* TO '$TEST_USER'@'%' IDENTIFIED BY '$TEST_PASSWORD'" $HOST_STRING -u"$USER" "$PASSWORD_STRING" |
64 | | - mysql -e "GRANT ALL ON \`$TEST_DB_scaffold\`.* TO '$TEST_USER'@'%' IDENTIFIED BY '$TEST_PASSWORD'" $HOST_STRING -u"$USER" "$PASSWORD_STRING" |
| 62 | + mysql -e "CREATE DATABASE IF NOT EXISTS \`${TEST_DB}\`;" ${HOST_STRING} -u"${USER}" "${PASSWORD_STRING}" |
| 63 | + mysql -e "GRANT ALL ON \`${TEST_DB}\`.* TO '${TEST_USER}'@'%' IDENTIFIED BY '${TEST_PASSWORD}'" ${HOST_STRING} -u"${USER}" "${PASSWORD_STRING}" |
| 64 | + mysql -e "GRANT ALL ON \`${TEST_DB}_scaffold\`.* TO '${TEST_USER}'@'%' IDENTIFIED BY '${TEST_PASSWORD}'" ${HOST_STRING} -u"${USER}" "${PASSWORD_STRING}" |
65 | 65 | } |
66 | 66 |
|
67 | | -VERSION_STRING=$(mysql -e "SELECT VERSION()" --skip-column-names $HOST_STRING -u"$USER" "$PASSWORD_STRING") |
68 | | -VERSION=$(echo "$VERSION_STRING" | grep -o '^[^-]*') |
69 | | -MAJOR=$(echo "$VERSION" | cut -d. -f1) |
70 | | -MINOR=$(echo "$VERSION" | cut -d. -f2) |
| 67 | +VERSION_STRING=$(mysql -e "SELECT VERSION()" --skip-column-names ${HOST_STRING} -u"${USER}" "${PASSWORD_STRING}") |
| 68 | +VERSION=$(echo "${VERSION_STRING}" | grep -o '^[^-]*') |
| 69 | +MAJOR=$(echo "${VERSION}" | cut -d. -f1) |
| 70 | +MINOR=$(echo "${VERSION}" | cut -d. -f2) |
71 | 71 | TYPE="MySQL" |
72 | | -case "$VERSION_STRING" in |
| 72 | +case "${VERSION_STRING}" in |
73 | 73 | *"MariaDB"*) |
74 | 74 | TYPE="MariaDB" |
75 | 75 | ;; |
76 | 76 | esac |
77 | 77 |
|
78 | | -echo "Detected $TYPE at version $MAJOR.$MINOR" |
| 78 | +echo "Detected ${TYPE} at version ${MAJOR}.${MINOR}" |
79 | 79 |
|
80 | 80 |
|
81 | | -if [ "$TYPE" != "MariaDB" ] && [ "$MAJOR" -ge 8 ]; then |
| 81 | +if [ "${TYPE}" != "MariaDB" ] && [ "${MAJOR}" -ge 8 ]; then |
82 | 82 | install_mysql_db_8_0_plus |
83 | 83 | else |
84 | 84 | install_mysql_db_lower_than_8_0 |
|
0 commit comments