mirror of
https://github.com/offen/docker-volume-backup.git
synced 2026-01-06 15:42:37 +01:00
Run tests Docker in Docker (#261)
* 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
This commit is contained in:
16
test/ownership/run.sh
Normal file → Executable file
16
test/ownership/run.sh
Normal file → Executable file
@@ -7,24 +7,22 @@ cd $(dirname $0)
|
||||
. ../util.sh
|
||||
current_test=$(basename $(pwd))
|
||||
|
||||
mkdir -p local
|
||||
export LOCAL_DIR=$(mktemp -d)
|
||||
|
||||
docker compose up -d --quiet-pull
|
||||
sleep 5
|
||||
|
||||
docker compose exec backup backup
|
||||
|
||||
tmp_dir=$(mktemp -d)
|
||||
sudo tar --same-owner -xvf ./local/backup.tar.gz -C $tmp_dir
|
||||
TMP_DIR=$(mktemp -d)
|
||||
tar --same-owner -xvf "$LOCAL_DIR/backup.tar.gz" -C $TMP_DIR
|
||||
|
||||
sudo find $tmp_dir/backup/postgres > /dev/null
|
||||
find $TMP_DIR/backup/postgres > /dev/null
|
||||
pass "Backup contains files at expected location"
|
||||
|
||||
for file in $(sudo find $tmp_dir/backup/postgres); do
|
||||
if [ "$(sudo stat -c '%u:%g' $file)" != "70:70" ]; then
|
||||
fail "Unexpected file ownership for $file: $(sudo stat -c '%u:%g' $file)"
|
||||
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."
|
||||
|
||||
docker compose down --volumes
|
||||
|
||||
Reference in New Issue
Block a user