mirror of
https://github.com/offen/docker-volume-backup.git
synced 2024-11-24 22:20:28 +01:00
Frederik Ring
1e39ac41f4
* Try running tests in Docker * Spawn new container for each test * Store test artifacts outside of mount * When requested, build up to date image in test script * sudo is unneccessary in containerized test env * Skip azure test * Backdate fixture file in JSON database * Pin versions for azure tools * Mount temp volume for /var/lib/docker to prevent dangling ones created by VOLUME instruction * Fail backdating tests with message * Add some documentation on test setup * Cache images * Run compose stacks with shortened default timeout
29 lines
700 B
Bash
Executable File
29 lines
700 B
Bash
Executable File
#!/bin/sh
|
|
# This test refers to https://github.com/offen/docker-volume-backup/issues/71
|
|
|
|
set -e
|
|
|
|
cd $(dirname $0)
|
|
. ../util.sh
|
|
current_test=$(basename $(pwd))
|
|
|
|
export LOCAL_DIR=$(mktemp -d)
|
|
|
|
docker compose up -d --quiet-pull
|
|
sleep 5
|
|
|
|
docker compose exec backup backup
|
|
|
|
TMP_DIR=$(mktemp -d)
|
|
tar --same-owner -xvf "$LOCAL_DIR/backup.tar.gz" -C $TMP_DIR
|
|
|
|
find $TMP_DIR/backup/postgres > /dev/null
|
|
pass "Backup contains files at expected location"
|
|
|
|
for file in $(find $TMP_DIR/backup/postgres); do
|
|
if [ "$(stat -c '%u:%g' $file)" != "70:70" ]; then
|
|
fail "Unexpected file ownership for $file: $(stat -c '%u:%g' $file)"
|
|
fi
|
|
done
|
|
pass "All files and directories in backup preserved their ownership."
|