76 lines
2.3 KiB
Bash
76 lines
2.3 KiB
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
PLUGIN_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
COMMON_FILE="$PLUGIN_DIR/scripts/setup/mysql_common.sh"
|
|
TMP_DIR="$(mktemp -d)"
|
|
trap 'rm -rf "$TMP_DIR"' EXIT
|
|
|
|
fail() {
|
|
echo "FAIL: $*" >&2
|
|
exit 1
|
|
}
|
|
|
|
mkdir -p "$TMP_DIR/mariadb/bin"
|
|
touch "$TMP_DIR/mariadb/bin/mariadb" "$TMP_DIR/mariadb/bin/mariadb-dump" "$TMP_DIR/mariadb/bin/mariadb-admin" "$TMP_DIR/mariadb/bin/mariadb-upgrade"
|
|
chmod 755 "$TMP_DIR/mariadb/bin/"*
|
|
|
|
cat > "$TMP_DIR/alt-mariadb.env" <<EOF
|
|
SERVICE_NAME='alt-mariadb-test'
|
|
MARIADB_DIR='$TMP_DIR/mariadb'
|
|
DATADIR='$TMP_DIR/data'
|
|
PORT='4407'
|
|
SOCKET='$TMP_DIR/data/mariadb.sock'
|
|
ALT_MYSQL_CONF='$TMP_DIR/alt-mysql.conf'
|
|
ALT_MY_CNF='$TMP_DIR/alt-my.cnf'
|
|
INSTANCE_CNF='$TMP_DIR/alt-mariadb.cnf'
|
|
EOF
|
|
|
|
cat > "$TMP_DIR/alt-mysql.conf" <<EOF
|
|
host=
|
|
passwd=secret
|
|
port=4407
|
|
socket=$TMP_DIR/data/mariadb.sock
|
|
user=da_admin
|
|
EOF
|
|
|
|
cat > "$TMP_DIR/alt-my.cnf" <<EOF
|
|
[client]
|
|
user="da_admin"
|
|
password="secret"
|
|
socket="$TMP_DIR/data/mariadb.sock"
|
|
EOF
|
|
|
|
cat > "$TMP_DIR/alt-mariadb.cnf" <<EOF
|
|
[mariadb]
|
|
basedir=$TMP_DIR/mariadb
|
|
datadir=$TMP_DIR/data
|
|
port=4407
|
|
socket=$TMP_DIR/data/mariadb.sock
|
|
EOF
|
|
|
|
MYSQL_PLUGIN_METADATA_FILE="$TMP_DIR/alt-mariadb.env"
|
|
MYSQL_PLUGIN_CREDENTIALS_FILE="$TMP_DIR/alt-mysql.conf"
|
|
MYSQL_PLUGIN_ALT_MY_CNF="$TMP_DIR/alt-my.cnf"
|
|
MYSQL_PLUGIN_ALT_INSTANCE_CNF="$TMP_DIR/alt-mariadb.cnf"
|
|
|
|
# shellcheck source=../scripts/setup/mysql_common.sh
|
|
source "$COMMON_FILE"
|
|
|
|
mysql_load_alt_runtime
|
|
|
|
[ "$MYSQL_ALT_SERVICE_NAME" = "alt-mariadb-test" ] || fail "service name not loaded"
|
|
[ "$MYSQL_ALT_BASEDIR" = "$TMP_DIR/mariadb" ] || fail "basedir not loaded"
|
|
[ "$MYSQL_ALT_DATADIR" = "$TMP_DIR/data" ] || fail "datadir not loaded"
|
|
[ "$MYSQL_ALT_PORT" = "4407" ] || fail "port not loaded"
|
|
[ "$MYSQL_ALT_SOCKET" = "$TMP_DIR/data/mariadb.sock" ] || fail "socket not loaded"
|
|
[ "$(mysql_alt_binary mysql)" = "$TMP_DIR/mariadb/bin/mariadb" ] || fail "mysql alias binary not detected"
|
|
[ "$(mysql_alt_binary mysqldump)" = "$TMP_DIR/mariadb/bin/mariadb-dump" ] || fail "mysqldump alias binary not detected"
|
|
|
|
mysql_load_alt_credentials
|
|
[ "$MYSQL_USER" = "da_admin" ] || fail "credential user not loaded"
|
|
[ "$MYSQL_PORT" = "4407" ] || fail "credential port not loaded"
|
|
[ "$MYSQL_SOCKET" = "$TMP_DIR/data/mariadb.sock" ] || fail "credential socket not loaded"
|
|
|
|
echo "mysql_common_runtime_test: OK"
|