filesystem-fuse/test.sh
2023-09-11 23:46:36 +01:00

28 lines
675 B
Bash
Executable File

#!/usr/bin/env bash
set -euET -o pipefail
fusermount -u test/mnt || true
rm test -fr
mkdir test test/cache test/mnt
cp -ai source test/source
./fs.py test/source test/cache test/mnt & pid=$!
run_tests() {
sleep 2 # TODO: use foreground=False instead of & pid=$!
touch test/mnt/touched
echo 42 > test/mnt/written
echo 'Append' >> test/mnt/append
echo 'This is an overwrite' > test/mnt/overwrite
cp -ai test/mnt test/actual_result
fusermount -u test/mnt
diff -r test/actual_result expected_test_result
}
if run_tests; then
printf '\033[1;32mSuccess\033[m\n'
else
printf '\033[1;31mFailure\033[m\n'
fusermount -u test/mnt || kill -KILL $pid
exit 1
fi