From f2ca9a7873f0da159e503d34c4397ac3d04037ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Diot?= Date: Fri, 5 Apr 2024 14:59:47 +0100 Subject: [PATCH] Fix shenanigans with backup linux tests --- tests/core/backup/main.py | 12 ++++++++---- tests/core/backup/test.sh | 9 +++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/tests/core/backup/main.py b/tests/core/backup/main.py index bfe6dbc3d..f9652711f 100644 --- a/tests/core/backup/main.py +++ b/tests/core/backup/main.py @@ -1,12 +1,13 @@ from datetime import datetime -from os import getenv +from os import getenv, sep +from pathlib import Path from subprocess import PIPE, Popen from time import sleep from traceback import format_exc from typing import List, Tuple, Union try: - use_backup = getenv("USE_BACKUP", "no") == "yes" + use_backup = getenv("USE_BACKUP", "yes") == "yes" backup_dir = getenv("BACKUP_DIRECTORY", "/var/lib/bunkerweb/backups") backup_rotation = int(getenv("BACKUP_ROTATION", "7")) @@ -49,6 +50,7 @@ try: if result[0] != 0: print(f"❌ Backup failed:\nstdout={result[1]}\nstderr={result[2]}", flush=True) exit(1) + sleep(1) print("ℹ️ Checking backup directory ...", flush=True) @@ -91,11 +93,13 @@ try: print("❌ An error occurred when restarting BunkerWeb, exiting ...", flush=True) exit(1) + sleep(3) + ready = False + healthy_path = Path(sep, "var", "tmp", "bunkerweb", "scheduler.healthy") while not ready and (datetime.now() - current_time).seconds < 60: print("⏳ Waiting for BunkerWeb to be ready, retrying in 1s ...", flush=True) - exit_code, stdout, stderr = exec_command(["sudo", "grep", "BunkerWeb is ready", "/var/log/bunkerweb/error.log"]) - if exit_code == 0: + if healthy_path.is_file(): ready = True sleep(1) diff --git a/tests/core/backup/test.sh b/tests/core/backup/test.sh index 46661e13d..fc41a1103 100755 --- a/tests/core/backup/test.sh +++ b/tests/core/backup/test.sh @@ -73,8 +73,8 @@ cleanup_stack () { unset DATABASE_URI unset USE_BACKUP unset BACKUP_DIRECTORY - unset BACKUP_SCHEDULE unset BACKUP_ROTATION + sudo rm -rf /var/lib/bunkerweb/* fi if [[ $end -eq 1 && $exit_code = 0 ]] ; then return @@ -103,8 +103,9 @@ cleanup_stack () { fi fi else - sudo systemctl stop bunkerweb sudo truncate -s 0 /var/log/bunkerweb/error.log + sudo rm -rf /var/lib/bunkerweb/* + sudo systemctl stop bunkerweb fi # shellcheck disable=SC2181 @@ -267,8 +268,8 @@ do find . -type f -name 'docker-compose.*' -exec sed -i 's@BACKUP_ROTATION: ".*"$@BACKUP_ROTATION: "2"@' {} \; else sudo sed -i 's@USE_BACKUP=no@USE_BACKUP=yes@' /etc/bunkerweb/variables.env - sudo sed -i 's@BACKUP_DIRECTORY=/var/lib/bunkerweb/backups@BACKUP_DIRECTORY=/var/lib/bunkerweb/tmp_backups@' /etc/bunkerweb/variables.env - sudo sed -i 's@BACKUP_ROTATION=7@BACKUP_ROTATION=2@' /etc/bunkerweb/variables.env + sudo sed -i 's@BACKUP_DIRECTORY=.*$@BACKUP_DIRECTORY=/var/lib/bunkerweb/tmp_backups@' /etc/bunkerweb/variables.env + sudo sed -i 's@BACKUP_ROTATION=.*$@BACKUP_ROTATION=2@' /etc/bunkerweb/variables.env unset USE_BACKUP export BACKUP_DIRECTORY="/var/lib/bunkerweb/tmp_backups" export BACKUP_ROTATION="2"