]> Sergey Matveev's repositories - btrtrc.git/blob - fs/test.sh
Handle torrentfs failure in test.sh
[btrtrc.git] / fs / test.sh
1 #!/usr/bin/env bash
2 echo $BASH_VERSION
3 set -eux
4 repopath="$(cd "$(dirname "$0")/.."; pwd)"
5 debian_file=debian-10.8.0-amd64-netinst.iso
6 mkdir -p mnt torrents
7 # I think the timing can cause torrents to not get added correctly to the torrentfs client, so add
8 # them first and start the fs afterwards.
9 pushd torrents
10 cp "$repopath/testdata/$debian_file.torrent" .
11 godo -v -- "$repopath/cmd/torrent" metainfo "$repopath/testdata/sintel.torrent" magnet > sintel.magnet
12 popd
13 #file="$debian_file"
14 file=Sintel/Sintel.mp4
15
16 GOPPROF=http godo -v -- "$repopath/fs/cmd/torrentfs" -mountDir=mnt -metainfoDir=torrents &
17 torrentfs_pid=$!
18 trap "kill $torrentfs_pid" EXIT
19
20 check_file() {
21         while [ ! -e "mnt/$file" ]; do sleep 1; done
22         pv -f "mnt/$file" | md5sum -c <(cat <<-EOF
23         083e808d56aa7b146f513b3458658292  -
24         EOF
25         )
26 }
27
28 ( check_file ) &
29 check_file_pid=$!
30
31 trap "kill $torrentfs_pid $check_file_pid" EXIT
32 wait -n
33 status=$?
34 sudo umount mnt
35 trap - EXIT
36 echo "wait returned" $status
37 exit $status