1
1
mirror of https://github.com/mgree/ffs.git synced 2024-10-05 15:18:20 +03:00
ffs/tests/mode.sh
Michael Greenberg 4aff907523
Better mount control (issue #12; pr #24)
Mountpoints are typically inferred/generated from filenames with a -m/--mount flag for when reading from STDIN or to manually specify a mountpoint.
2021-06-24 07:06:38 -07:00

45 lines
865 B
Bash
Executable File

#!/bin/sh
fail() {
echo FAILED: $1
if [ "$MNT" ]
then
cd
umount "$MNT"
rmdir "$MNT"
fi
exit 1
}
MNT=$(mktemp -d)
umask 022
ffs --mode 666 -m "$MNT" ../json/object.json &
PID=$!
sleep 2
cd "$MNT"
ls -l eyes | grep -e 'rw-rw-rw-' >/dev/null 2>&1 || fail file1
mkdir pockets
ls -ld pockets | grep -e 'rwxr-xr-x' >/dev/null 2>&1 || fail dir1
cd - >/dev/null 2>&1
umount "$MNT" || fail unmount1
sleep 1
kill -0 $PID >/dev/null 2>&1 && fail process1
umask 077
ffs --mode 666 --dirmode 700 -m "$MNT" ../json/object.json &
PID=$!
sleep 2
cd "$MNT"
ls -l eyes | grep -e 'rw-rw-rw-' >/dev/null 2>&1 || fail file2
mkdir pockets
ls -ld pockets | grep -e 'rwx----' >/dev/null 2>&1 || fail dir2
cd - >/dev/null 2>&1
umount "$MNT" || fail unmount2
sleep 1
kill -0 $PID >/dev/null 2>&1 && fail process2
rmdir "$MNT" || fail mount