fs/test.sh: Handle torrentfs failures synchronously

This commit is contained in:
Matt Joiner 2023-05-28 13:52:50 +10:00
parent 41e2cd5b21
commit a33b3ec554
No known key found for this signature in database
GPG Key ID: 6B990B8185E7F782
1 changed files with 22 additions and 7 deletions

View File

@ -1,3 +1,5 @@
#!/usr/bin/env bash
echo $BASH_VERSION
set -eux
repopath="$(cd "$(dirname "$0")/.."; pwd)"
debian_file=debian-10.8.0-amd64-netinst.iso
@ -8,13 +10,26 @@ pushd torrents
cp "$repopath/testdata/$debian_file.torrent" .
godo -v -- "$repopath/cmd/torrent" metainfo "$repopath/testdata/sintel.torrent" magnet > sintel.magnet
popd
GOPPROF=http godo -v -- "$repopath/fs/cmd/torrentfs" -mountDir=mnt -metainfoDir=torrents &
trap 'set +e; sudo umount -f mnt' EXIT
#file="$debian_file"
file=Sintel/Sintel.mp4
while [ ! -e "mnt/$file" ]; do sleep 1; done
pv -f "mnt/$file" | md5sum -c <(cat <<EOF
083e808d56aa7b146f513b3458658292 -
EOF)
GOPPROF=http godo -v -- "$repopath/fs/cmd/torrentfs" -mountDir=mnt -metainfoDir=torrents &
torrentfs_pid=$!
trap "kill $torrentfs_pid" EXIT
check_file() {
while [ ! -e "mnt/$file" ]; do sleep 1; done
pv -f "mnt/$file" | md5sum -c <(cat <<-EOF
083e808d56aa7b146f513b3458658292 -
EOF
)
}
( check_file ) &
wait -n
status=$?
sudo umount mnt
wait || echo "wait returned" $?
trap - EXIT
echo "wait returned" $status
exit $status