]> gitweb.hhaalo.de Git - simple-backup.git/commitdiff
change tests into build test folder
authorBastian Dehn <hhaalo@arcor.de>
Sun, 9 Aug 2026 09:11:35 +0000 (11:11 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 9 Aug 2026 09:11:35 +0000 (11:11 +0200)
src/config-example.yaml
tests/backup_tests.bats

index 12a1640a6167f84f2fb36fca1435dccb77e507ae..4dac0ea8b23947c1a603c2d8f439fc342531b891 100644 (file)
@@ -1,7 +1,7 @@
-backup_path: build
+backup_path: build/test
 backup_name: backup
 backup_count: 15
-backup_logfile: build/backup.log
+backup_logfile: build/test/backup.log
 
 machines:
   testpc1:
index 66fdf49aa9187b45dc690fde154608afb595276d..fdd3f1cb4aecdca8861e3559c179fa26b70ed223 100755 (executable)
@@ -6,7 +6,7 @@ setup() {
        export TESTMODE="ON"
        export NOCOLOR="ON"
        export CONFIG_FILE="src/config-example.yaml"
-       export RSYNC_LOG="build/rsync.log"
+       export RSYNC_LOG="build/test/rsync.log"
        export RSYNC_LOG_RUNS="0"
        source src/backup
        date() {
@@ -23,7 +23,7 @@ setup() {
 }
 
 teardown() {
-       rm --recursive --force "build/2000-01-01_01_backup"
+       rm --recursive --force "build/test"
        rm --recursive --force "$RSYNC_LOG"
        unset TESTMODE
        unset NOCOLOR
@@ -199,7 +199,7 @@ teardown() {
 
        assert_success
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 5 "💾 START: backup run"
@@ -214,7 +214,7 @@ teardown() {
                :
        }
        find() {
-               echo "build/2000-01-01_01_backup"
+               echo "build/test/2000-01-01_01_backup"
        }
        backup_machines() {
                :
@@ -227,10 +227,10 @@ teardown() {
 
        assert_success
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
-       assert_line --index 4 "ℹ️ INFO: last backup dir path build/2000-01-01_01_backup"
+       assert_line --index 4 "ℹ️ INFO: last backup dir path build/test/2000-01-01_01_backup"
        assert_line --index 6 "💾 START: backup run"
        assert_line --index 7 "ℹ️ INFO: backup count: 1"
        assert_line --index 8 "🏁 FINISH: backup run"
@@ -253,7 +253,7 @@ teardown() {
 
        assert_success
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
@@ -265,7 +265,7 @@ teardown() {
 
 # bats test_tags=backup:info
 @test "success new backup folder with number 02 info" {
-       mkdir --parents "build/2000-01-01_01_backup"
+       mkdir --parents "build/test/2000-01-01_01_backup"
        create_backup_dir() {
                :
        }
@@ -280,16 +280,16 @@ teardown() {
 
        assert_success
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
-       assert_line --index 4 "ℹ️ INFO: last backup dir path build/2000-01-01_01_backup"
+       assert_line --index 4 "ℹ️ INFO: last backup dir path build/test/2000-01-01_01_backup"
        assert_line --index 5 "ℹ️ INFO: backup folder 2000-01-01_02_backup"
        assert_line --index 6 "💾 START: backup run"
        assert_line --index 7 "ℹ️ INFO: backup count: 1"
        assert_line --index 8 "🏁 FINISH: backup run"
        assert_line --index 9 "✅ SUCCESS: backup"
-       rmdir "build/2000-01-01_01_backup"
+       rmdir "build/test/2000-01-01_01_backup"
 }
 
 # bats test_tags=backup:info
@@ -305,21 +305,21 @@ teardown() {
 
        assert_success
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
-       assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
+       assert_line --index 5 "ℹ️ INFO: create folder build/test/2000-01-01_01_backup"
        assert_line --index 6 "💾 START: backup run"
        assert_line --index 7 "ℹ️ INFO: backup count: 1"
        assert_line --index 8 "🏁 FINISH: backup run"
        assert_line --index 9 "✅ SUCCESS: backup"
-       [ -d "build/2000-01-01_01_backup" ]
+       [ -d "build/test/2000-01-01_01_backup" ]
 }
 
 # bats test_tags=backup:info
 @test "success create backup folder latest number" {
-       mkdir --parents "build/2000-01-01_35_backup"
+       mkdir --parents "build/test/2000-01-01_35_backup"
        backup_machines() {
                :
        }
@@ -331,24 +331,24 @@ teardown() {
 
        assert_success
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
-       assert_line --index 4 "ℹ️ INFO: last backup dir path build/2000-01-01_35_backup"
+       assert_line --index 4 "ℹ️ INFO: last backup dir path build/test/2000-01-01_35_backup"
        assert_line --index 5 "ℹ️ INFO: backup folder 2000-01-01_36_backup"
-       assert_line --index 6 "ℹ️ INFO: create folder build/2000-01-01_36_backup"
+       assert_line --index 6 "ℹ️ INFO: create folder build/test/2000-01-01_36_backup"
        assert_line --index 7 "💾 START: backup run"
        assert_line --index 8 "ℹ️ INFO: backup count: 2"
        assert_line --index 9 "🏁 FINISH: backup run"
        assert_line --index 10 "✅ SUCCESS: backup"
-       [ -d "build/2000-01-01_36_backup" ]
-       rmdir "build/2000-01-01_35_backup"
-       rmdir "build/2000-01-01_36_backup"
+       [ -d "build/test/2000-01-01_36_backup" ]
+       rmdir "build/test/2000-01-01_35_backup"
+       rmdir "build/test/2000-01-01_36_backup"
 }
 
 # bats test_tags=backup:info
 @test "success create backup folder latest number with other date" {
-       mkdir --parents "build/1999-12-31_35_backup"
+       mkdir --parents "build/test/1999-12-31_35_backup"
        backup_machines() {
                :
        }
@@ -360,19 +360,19 @@ teardown() {
 
        assert_success
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
-       assert_line --index 4 "ℹ️ INFO: last backup dir path build/1999-12-31_35_backup"
+       assert_line --index 4 "ℹ️ INFO: last backup dir path build/test/1999-12-31_35_backup"
        assert_line --index 5 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
-       assert_line --index 6 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
+       assert_line --index 6 "ℹ️ INFO: create folder build/test/2000-01-01_01_backup"
        assert_line --index 7 "💾 START: backup run"
        assert_line --index 8 "ℹ️ INFO: backup count: 2"
        assert_line --index 9 "🏁 FINISH: backup run"
        assert_line --index 10 "✅ SUCCESS: backup"
-       [ -d "build/2000-01-01_01_backup" ]
-       rmdir "build/1999-12-31_35_backup"
-       rmdir "build/2000-01-01_01_backup"
+       [ -d "build/test/2000-01-01_01_backup" ]
+       rmdir "build/test/1999-12-31_35_backup"
+       rmdir "build/test/2000-01-01_01_backup"
 }
 
 # bats test_tags=backup:info
@@ -388,21 +388,21 @@ teardown() {
 
        assert_success
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
-       assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
+       assert_line --index 5 "ℹ️ INFO: create folder build/test/2000-01-01_01_backup"
        assert_line --index 6 "💾 START: backup run"
-       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
-       assert_line --index 8 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc2"
-       assert_line --index 9 "ℹ️ INFO: create directory build/2000-01-01_01_backup/onlylocal"
+       assert_line --index 7 "ℹ️ INFO: create directory build/test/2000-01-01_01_backup/testpc1"
+       assert_line --index 8 "ℹ️ INFO: create directory build/test/2000-01-01_01_backup/testpc2"
+       assert_line --index 9 "ℹ️ INFO: create directory build/test/2000-01-01_01_backup/onlylocal"
        assert_line --index 10 "ℹ️ INFO: backup count: 1"
        assert_line --index 11 "🏁 FINISH: backup run"
        assert_line --index 12 "✅ SUCCESS: backup"
-       [ -d "build/2000-01-01_01_backup" ]
-       [ -d "build/2000-01-01_01_backup/testpc1" ]
-       [ -d "build/2000-01-01_01_backup/testpc2" ]
+       [ -d "build/test/2000-01-01_01_backup" ]
+       [ -d "build/test/2000-01-01_01_backup/testpc1" ]
+       [ -d "build/test/2000-01-01_01_backup/testpc2" ]
 }
 
 # bats test_tags=backup:info
@@ -417,24 +417,24 @@ teardown() {
 
        assert_success
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
-       assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
+       assert_line --index 5 "ℹ️ INFO: create folder build/test/2000-01-01_01_backup"
        assert_line --index 6 "💾 START: backup run"
-       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 7 "ℹ️ INFO: create directory build/test/2000-01-01_01_backup/testpc1"
        assert_line --index 8 "################################################################################"
        assert_line --index 9 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/etc${RESET}"
        assert_line --index 10 "################################################################################"
        assert_line --index 11 "################################################################################"
        assert_line --index 12 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
        assert_line --index 13 "################################################################################"
-       assert_line --index 14 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc2"
+       assert_line --index 14 "ℹ️ INFO: create directory build/test/2000-01-01_01_backup/testpc2"
        assert_line --index 15 "################################################################################"
        assert_line --index 16 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc2${RESET}; path ${YELLOW}/home/other${RESET}"
        assert_line --index 17 "################################################################################"
-       assert_line --index 18 "ℹ️ INFO: create directory build/2000-01-01_01_backup/onlylocal"
+       assert_line --index 18 "ℹ️ INFO: create directory build/test/2000-01-01_01_backup/onlylocal"
        assert_line --index 19 "################################################################################"
        assert_line --index 20 "ℹ️ INFO: machine ${LIGHTPURPLE}onlylocal${RESET}; path ${YELLOW}/home/local${RESET}"
        assert_line --index 21 "################################################################################"
@@ -447,7 +447,7 @@ teardown() {
 @test "failure backup machine pathes is null" {
        yq() {
                echo '{
-                       "backup_path": "build",
+                       "backup_path": "build/test",
                        "backup_name": "backup",
                        "backup_count": 15,
                        "machines": {
@@ -460,13 +460,13 @@ teardown() {
 
        assert_failure
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
-       assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
+       assert_line --index 5 "ℹ️ INFO: create folder build/test/2000-01-01_01_backup"
        assert_line --index 6 "💾 START: backup run"
-       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 7 "ℹ️ INFO: create directory build/test/2000-01-01_01_backup/testpc1"
        assert_line --index 8 "❌ ERROR: missing pathes for machine testpc1"
 }
 
@@ -474,7 +474,7 @@ teardown() {
 @test "failure backup machine path no remote user" {
        yq() {
                echo '{
-                       "backup_path": "build",
+                       "backup_path": "build/test",
                        "backup_name": "backup",
                        "backup_count": 15,
                        "machines": {
@@ -489,13 +489,13 @@ teardown() {
 
        assert_failure
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
-       assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
+       assert_line --index 5 "ℹ️ INFO: create folder build/test/2000-01-01_01_backup"
        assert_line --index 6 "💾 START: backup run"
-       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 7 "ℹ️ INFO: create directory build/test/2000-01-01_01_backup/testpc1"
        assert_line --index 8 "################################################################################"
        assert_line --index 9 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
        assert_line --index 10 "❌ ERROR: missing remote user for testpc1"
@@ -505,7 +505,7 @@ teardown() {
 @test "failure backup machine path no host" {
        yq() {
                echo '{
-                       "backup_path": "build",
+                       "backup_path": "build/test",
                        "backup_name": "backup",
                        "backup_count": 15,
                        "machines": {
@@ -521,13 +521,13 @@ teardown() {
 
        assert_failure
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
-       assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
+       assert_line --index 5 "ℹ️ INFO: create folder build/test/2000-01-01_01_backup"
        assert_line --index 6 "💾 START: backup run"
-       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 7 "ℹ️ INFO: create directory build/test/2000-01-01_01_backup/testpc1"
        assert_line --index 8 "################################################################################"
        assert_line --index 9 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
        assert_line --index 10 "❌ ERROR: missing host for testpc1"
@@ -537,7 +537,7 @@ teardown() {
 @test "failure backup machine path no port" {
        yq() {
                echo '{
-                       "backup_path": "build",
+                       "backup_path": "build/test",
                        "backup_name": "backup",
                        "backup_count": 15,
                        "machines": {
@@ -554,13 +554,13 @@ teardown() {
 
        assert_failure
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
-       assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
+       assert_line --index 5 "ℹ️ INFO: create folder build/test/2000-01-01_01_backup"
        assert_line --index 6 "💾 START: backup run"
-       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 7 "ℹ️ INFO: create directory build/test/2000-01-01_01_backup/testpc1"
        assert_line --index 8 "################################################################################"
        assert_line --index 9 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
        assert_line --index 10 "❌ ERROR: missing port for testpc1"
@@ -572,13 +572,13 @@ teardown() {
 
        assert_success
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
-       assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
+       assert_line --index 5 "ℹ️ INFO: create folder build/test/2000-01-01_01_backup"
        assert_line --index 6 "💾 START: backup run"
-       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 7 "ℹ️ INFO: create directory build/test/2000-01-01_01_backup/testpc1"
        assert_line --index 8 "################################################################################"
        assert_line --index 9 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/etc${RESET}"
        assert_line --index 10 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; excludes /home/user/.cache /home/user/.local"
@@ -590,7 +590,7 @@ teardown() {
 @test "success backup machine path without excludes" {
        yq() {
                echo '{
-                       "backup_path": "build",
+                       "backup_path": "build/test",
                        "backup_name": "backup",
                        "backup_count": 15,
                        "machines": {
@@ -610,13 +610,13 @@ teardown() {
 
        assert_success
        assert_line --index 0 "⭐ START: backup"
-       assert_line --index 1 "ℹ️ INFO: backup path build"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
-       assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
+       assert_line --index 5 "ℹ️ INFO: create folder build/test/2000-01-01_01_backup"
        assert_line --index 6 "💾 START: backup run"
-       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 7 "ℹ️ INFO: create directory build/test/2000-01-01_01_backup/testpc1"
        assert_line --index 8 "################################################################################"
        assert_line --index 9 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
        assert_line --index 10 "################################################################################"
@@ -646,7 +646,7 @@ teardown() {
        assert_equal "$(awk 'NR==10 {print; exit}' "$RSYNC_LOG")" "--exclude=/home/user/.local"
        assert_equal "$(awk 'NR==11 {print; exit}' "$RSYNC_LOG")" "--rsh=\"ssh -p 22\""
        assert_equal "$(awk 'NR==12 {print; exit}' "$RSYNC_LOG")" "backupuser@www.example.com:/etc"
-       assert_equal "$(awk 'NR==13 {print; exit}' "$RSYNC_LOG")" "build/2000-01-01_01_backup/testpc1"
+       assert_equal "$(awk 'NR==13 {print; exit}' "$RSYNC_LOG")" "build/test/2000-01-01_01_backup/testpc1"
 
 }
 
@@ -668,7 +668,7 @@ teardown() {
        assert_equal "$(awk 'NR==8 {print; exit}' "$RSYNC_LOG")" "--human-readable"
        assert_equal "$(awk 'NR==9 {print; exit}' "$RSYNC_LOG")" "--rsh=\"ssh -p 22\""
        assert_equal "$(awk 'NR==10 {print; exit}' "$RSYNC_LOG")" "backupuser@www.example.com:/home/other"
-       assert_equal "$(awk 'NR==11 {print; exit}' "$RSYNC_LOG")" "build/2000-01-01_01_backup/testpc2"
+       assert_equal "$(awk 'NR==11 {print; exit}' "$RSYNC_LOG")" "build/test/2000-01-01_01_backup/testpc2"
 }
 
 # bats test_tags=backup:rsync
@@ -689,12 +689,12 @@ teardown() {
        assert_equal "$(awk 'NR==8 {print; exit}' "$RSYNC_LOG")" "--human-readable"
        assert_equal "$(awk 'NR==9 {print; exit}' "$RSYNC_LOG")" "--rsh=\"ssh -p 22\""
        assert_equal "$(awk 'NR==10 {print; exit}' "$RSYNC_LOG")" "/home/local"
-       assert_equal "$(awk 'NR==11 {print; exit}' "$RSYNC_LOG")" "build/2000-01-01_01_backup/onlylocal"
+       assert_equal "$(awk 'NR==11 {print; exit}' "$RSYNC_LOG")" "build/test/2000-01-01_01_backup/onlylocal"
 }
 
 # bats test_tags=backup:rsync
 @test "success backup machine path rsync localhost with hard links" {
-       mkdir --parents "build/1999-12-31_01_backup"
+       mkdir --parents "build/test/1999-12-31_01_backup"
 
        RSYNC_LOG_RUNS="4"
        run main
@@ -711,10 +711,10 @@ teardown() {
        assert_equal "$(awk 'NR==7 {print; exit}' "$RSYNC_LOG")" "--relative"
        assert_equal "$(awk 'NR==8 {print; exit}' "$RSYNC_LOG")" "--human-readable"
        assert_equal "$(awk 'NR==9 {print; exit}' "$RSYNC_LOG")" "--rsh=\"ssh -p 22\""
-       assert_equal "$(awk 'NR==10 {print; exit}' "$RSYNC_LOG")" "--link-dest=build/1999-12-31_01_backup/onlylocal"
+       assert_equal "$(awk 'NR==10 {print; exit}' "$RSYNC_LOG")" "--link-dest=build/test/1999-12-31_01_backup/onlylocal"
        assert_equal "$(awk 'NR==11 {print; exit}' "$RSYNC_LOG")" "/home/local"
-       assert_equal "$(awk 'NR==12 {print; exit}' "$RSYNC_LOG")" "build/2000-01-01_01_backup/onlylocal"
-       rmdir "build/1999-12-31_01_backup"
+       assert_equal "$(awk 'NR==12 {print; exit}' "$RSYNC_LOG")" "build/test/2000-01-01_01_backup/onlylocal"
+       rmdir "build/test/1999-12-31_01_backup"
 }
 
 # bats test_tags=backup:rsync
@@ -731,21 +731,21 @@ teardown() {
 
 # bats test_tags=backup:info,backup:cleanup
 @test "success show current backup count" {
-       mkdir --parents "build/1999-12-24_01_backup"
-       mkdir --parents "build/1999-12-30_01_backup"
-       mkdir --parents "build/1999-12-31_01_backup"
-       mkdir --parents "build/2000-01-01_01_backup"
+       mkdir --parents "build/test/1999-12-24_01_backup"
+       mkdir --parents "build/test/1999-12-30_01_backup"
+       mkdir --parents "build/test/1999-12-31_01_backup"
+       mkdir --parents "build/test/2000-01-01_01_backup"
 
        run main
 
        assert_success
        assert_line --index 0 "⭐ START: backup"
        assert_line --partial "ℹ️ INFO: backup count: 5"
-       rmdir "build/1999-12-24_01_backup" \
-               "build/1999-12-30_01_backup" \
-               "build/1999-12-31_01_backup" \
-               "build/2000-01-01_01_backup"
-       rm --recursive --force "build/2000-01-01_02_backup"
+       rmdir "build/test/1999-12-24_01_backup" \
+               "build/test/1999-12-30_01_backup" \
+               "build/test/1999-12-31_01_backup" \
+               "build/test/2000-01-01_01_backup"
+       rm --recursive --force "build/test/2000-01-01_02_backup"
 }
 
 # bats test_tags=backup:info,backup:cleanup
@@ -762,15 +762,15 @@ teardown() {
        local num=
        for i in {1..5}; do
                num=$(printf "%02d" "$i")
-               mkdir --parents "build/1999-10-${num}_01_backup"
-               mkdir --parents "build/1999-11-${num}_01_backup"
+               mkdir --parents "build/test/1999-10-${num}_01_backup"
+               mkdir --parents "build/test/1999-11-${num}_01_backup"
        done
        for i in {1..3}; do
                num=$(printf "%02d" "$i")
-               mkdir --parents "build/1999-12-${num}_01_backup"
+               mkdir --parents "build/test/1999-12-${num}_01_backup"
        done
-       mkdir --parents "build/1999-12-16_01_backup"
-       mkdir --parents "build/1999-12-24_01_backup"
+       mkdir --parents "build/test/1999-12-16_01_backup"
+       mkdir --parents "build/test/1999-12-24_01_backup"
        run main
 
        assert_success
@@ -778,11 +778,11 @@ teardown() {
        assert_line --partial "ℹ️ INFO: current backup count 16"
        assert_line --partial "ℹ️ INFO: delete backup count 1"
        assert_line --partial "🗑️ INFO: delete 1999-10-01_01_backup"
-       [ ! -d build/1999-10-01_01_backup ]
-       [ -d build/1999-10-02_01_backup ]
-       [ -d build/1999-12-24_01_backup ]
-       [ -d build/2000-01-01_01_backup ]
-       rmdir build/1999-*
+       [ ! -d build/test/1999-10-01_01_backup ]
+       [ -d build/test/1999-10-02_01_backup ]
+       [ -d build/test/1999-12-24_01_backup ]
+       [ -d build/test/2000-01-01_01_backup ]
+       rmdir build/test/1999-*
 }
 
 # bats test_tags=backup:info,backup:cleanup
@@ -790,15 +790,15 @@ teardown() {
        local num=
        for i in {1..5}; do
                num=$(printf "%02d" "$i")
-               mkdir --parents "build/1999-10-${num}_01_backup"
-               mkdir --parents "build/1999-11-${num}_01_backup"
+               mkdir --parents "build/test/1999-10-${num}_01_backup"
+               mkdir --parents "build/test/1999-11-${num}_01_backup"
        done
        for i in {1..6}; do
                num=$(printf "%02d" "$i")
-               mkdir --parents "build/1999-12-${num}_01_backup"
+               mkdir --parents "build/test/1999-12-${num}_01_backup"
        done
-       mkdir --parents "build/1999-12-16_01_backup"
-       mkdir --parents "build/1999-12-24_01_backup"
+       mkdir --parents "build/test/1999-12-16_01_backup"
+       mkdir --parents "build/test/1999-12-24_01_backup"
        run main
 
        assert_success
@@ -809,15 +809,15 @@ teardown() {
        assert_line --partial "🗑️ INFO: delete 1999-10-02_01_backup"
        assert_line --partial "🗑️ INFO: delete 1999-10-03_01_backup"
        assert_line --partial "🗑️ INFO: delete 1999-10-04_01_backup"
-       [ ! -d build/1999-10-01_01_backup ]
-       [ ! -d build/1999-10-02_01_backup ]
-       [ ! -d build/1999-10-03_01_backup ]
-       [ ! -d build/1999-10-04_01_backup ]
-       [ -d build/1999-10-05_01_backup ]
-       [ -d build/1999-11-01_01_backup ]
-       [ -d build/1999-12-24_01_backup ]
-       [ -d build/2000-01-01_01_backup ]
-       rmdir build/1999-*
+       [ ! -d build/test/1999-10-01_01_backup ]
+       [ ! -d build/test/1999-10-02_01_backup ]
+       [ ! -d build/test/1999-10-03_01_backup ]
+       [ ! -d build/test/1999-10-04_01_backup ]
+       [ -d build/test/1999-10-05_01_backup ]
+       [ -d build/test/1999-11-01_01_backup ]
+       [ -d build/test/1999-12-24_01_backup ]
+       [ -d build/test/2000-01-01_01_backup ]
+       rmdir build/test/1999-*
 }
 
 # bats test_tags=backup:info,backup:cleanup
@@ -825,7 +825,7 @@ teardown() {
        local num=
        for i in {1..18}; do
                num=$(printf "%02d" "$i")
-               mkdir --parents "build/2000-01-01_${num}_backup"
+               mkdir --parents "build/test/2000-01-01_${num}_backup"
        done
        run main
 
@@ -837,21 +837,21 @@ teardown() {
        assert_line --partial "🗑️ INFO: delete 2000-01-01_02_backup"
        assert_line --partial "🗑️ INFO: delete 2000-01-01_03_backup"
        assert_line --partial "🗑️ INFO: delete 2000-01-01_04_backup"
-       [ ! -d build/2000-01-01_01_backup ]
-       [ ! -d build/2000-01-01_02_backup ]
-       [ ! -d build/2000-01-01_03_backup ]
-       [ ! -d build/2000-01-01_04_backup ]
-       [ -d build/2000-01-01_05_backup ]
-       [ -d build/2000-01-01_06_backup ]
-       [ -d build/2000-01-01_18_backup ]
-       [ -d build/2000-01-01_19_backup ]
-       rm --recursive build/2000-01-01_19_backup
-       rmdir build/2000-01-01_*
+       [ ! -d build/test/2000-01-01_01_backup ]
+       [ ! -d build/test/2000-01-01_02_backup ]
+       [ ! -d build/test/2000-01-01_03_backup ]
+       [ ! -d build/test/2000-01-01_04_backup ]
+       [ -d build/test/2000-01-01_05_backup ]
+       [ -d build/test/2000-01-01_06_backup ]
+       [ -d build/test/2000-01-01_18_backup ]
+       [ -d build/test/2000-01-01_19_backup ]
+       rm --recursive build/test/2000-01-01_19_backup
+       rmdir build/test/2000-01-01_*
 }
 
 # bats test_tags=backup:log
 @test "success no config" {
-       mkdir --parents build
+       mkdir --parents build/test
        run log "$config"
 
        assert_success
@@ -860,7 +860,7 @@ teardown() {
 
 # bats test_tags=backup:log
 @test "success no log config has no logfile entry" {
-       mkdir --parents build
+       mkdir --parents build/test
        config="{}"
        run log "$config"
 
@@ -870,8 +870,8 @@ teardown() {
 
 write_log_entry() {
        local type="$1"
-       mkdir --parents build
-       touch "build/$type"
+       mkdir --parents build/test
+       touch "build/test/$type"
        local config=
        config=$(yq '.' "$CONFIG_FILE")
        get_date_time() {
@@ -881,10 +881,10 @@ write_log_entry() {
        run log "$config" "log entry"
 
        assert_success
-       assert_output "ℹ️ INFO: 2000-01-01T23:30:45+02:00 [$type] log entry -> build/backup.log"
-       assert_equal "$(cat "build/backup.log")" "2000-01-01T23:30:45+02:00 [$type] log entry"
-       rm "build/$type"
-       rm "build/backup.log"
+       assert_output "ℹ️ INFO: 2000-01-01T23:30:45+02:00 [$type] log entry -> build/test/backup.log"
+       assert_equal "$(cat "build/test/backup.log")" "2000-01-01T23:30:45+02:00 [$type] log entry"
+       rm "build/test/$type"
+       rm "build/test/backup.log"
 }
 
 for type in none day week month; do