From cdfca156135060663fc1fb29200d6e905da34920 Mon Sep 17 00:00:00 2001 From: cytopia Date: Wed, 23 Mar 2022 13:36:21 +0100 Subject: [PATCH] Fix work/ tests --- tests/work/01-test-env-mysqldump-secure.sh | 73 +++++++++++++++++----- 1 file changed, 56 insertions(+), 17 deletions(-) diff --git a/tests/work/01-test-env-mysqldump-secure.sh b/tests/work/01-test-env-mysqldump-secure.sh index ffae6e7..92ff4cb 100755 --- a/tests/work/01-test-env-mysqldump-secure.sh +++ b/tests/work/01-test-env-mysqldump-secure.sh @@ -25,35 +25,74 @@ FLAVOUR="${4}" ### MYSQL_ROOT_PASSWORD="toor" MOUNTPOINT="$( mktemp --directory )" -CONTAINER="mysql:5.6" +CONTAINER="mariadb:10.6" # Pull Container +print_h2 "Pulling MySQL" run "until docker pull --platform ${ARCH} ${CONTAINER}; do sleep 1; done" # Start mysql container -mdid="$( docker_run "${CONTAINER}" "${ARCH}" "-e MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" )" -mname="$( docker_name "${mdid}" )" -run "sleep 10" +print_h2 "Starting MySQL" +if ! name_mysql="$( docker_run "${CONTAINER}" "${ARCH}" "-e MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" )"; then + exit 1 +fi +run "sleep 60" # Start PHP-FPM container -did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -e FORWARD_PORTS_TO_LOCALHOST=3306:${mname}:3306 -e MYSQL_BACKUP_USER=root -e MYSQL_BACKUP_PASS=${MYSQL_ROOT_PASSWORD} -e MYSQL_BACKUP_HOST=127.0.0.1 -v ${MOUNTPOINT}:/shared/backups --link ${mname}" )" +print_h2 "Start PHP-FPM" +if ! name="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -e FORWARD_PORTS_TO_LOCALHOST=3306:${name_mysql}:3306 -e MYSQL_BACKUP_USER=root -e MYSQL_BACKUP_PASS=${MYSQL_ROOT_PASSWORD} -e MYSQL_BACKUP_HOST=127.0.0.1 -v ${MOUNTPOINT}:/shared/backups --link ${name_mysql}" )"; then + docker_stop "${name_mysql}" || true + exit 1 +fi +run "sleep 15" -docker_exec "${did}" mysqldump-secure -if [ ! -d "${MOUNTPOINT}/mysql" ]; then - echo "MySQL backup dir does not exist: ${MOUNTPOINT}/mysql" - ls -lap "${MOUNTPOINT}/" - docker_logs "${did}" || true - docker_logs "${mdid}" || true - docker_stop "${did}" || true - docker_stop "${mdid}" || true +print_h2 "Run mysqldump-secure" +if ! docker_exec "${name}" mysqldump-secure; then + docker_logs "${name_mysql}" || true + docker_logs "${name}" || true + docker_stop "${name_mysql}" || true + docker_stop "${name}" || true rm -rf "${MOUNTPOINT}" exit 1 fi -run "ls -lap ${MOUNTPOINT}/mysql/ | grep -E 'mysql\.sql\.gz'" -run "ls -lap ${MOUNTPOINT}/mysql/ | grep -E 'mysql\.sql\.gz\.info'" +print_h2 "Test backup directory" +if ! run "test -d ${MOUNTPOINT}/mysql"; then + echo "MySQL backup dir does not exist: ${MOUNTPOINT}/mysql" + ls -lap "${MOUNTPOINT}/" + docker_logs "${name_mysql}" || true + docker_logs "${name}" || true + docker_stop "${name_mysql}" || true + docker_stop "${name}" || true + rm -rf "${MOUNTPOINT}" + exit 1 +fi -docker_stop "${did}" -docker_stop "${mdid}" +print_h2 "Grep backup files" +if ! run "ls -lap ${MOUNTPOINT}/mysql/ | grep -E 'mysql\.sql\.gz'"; then + ls -lap "${MOUNTPOINT}/" + docker_logs "${name_mysql}" || true + docker_logs "${name}" || true + docker_stop "${name_mysql}" || true + docker_stop "${name}" || true + rm -rf "${MOUNTPOINT}" + exit 1 +fi + +print_h2 "Grep info files" +if ! run "ls -lap ${MOUNTPOINT}/mysql/ | grep -E 'mysql\.sql\.gz\.info'"; then + ls -lap "${MOUNTPOINT}/" + docker_logs "${name_mysql}" || true + docker_logs "${name}" || true + docker_stop "${name_mysql}" || true + docker_stop "${name}" || true + rm -rf "${MOUNTPOINT}" + exit 1 +fi + + +print_h2 "Cleanup" +docker_stop "${name_mysql}" +docker_stop "${name}" rm -rf "${MOUNTPOINT}"