tests: fsstress-gocryptfs.bash: add DEBUG option
Also add a wrapper script, fsstress.collect-crashes.sh, to collect the debug output. https://github.com/hanwen/go-fuse/issues/372
This commit is contained in:
parent
3c5a80c27b
commit
66449bf56b
@ -12,20 +12,19 @@
|
|||||||
#
|
#
|
||||||
# Nowadays it should pass an indefinite number of iterations.
|
# Nowadays it should pass an indefinite number of iterations.
|
||||||
|
|
||||||
if [[ -z $TMPDIR ]]; then
|
|
||||||
TMPDIR=/var/tmp
|
|
||||||
export TMPDIR
|
|
||||||
fi
|
|
||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
|
# Init variables to default values if unset or empty
|
||||||
|
export TMPDIR=${TMPDIR:-/var/tmp}
|
||||||
|
DEBUG=${DEBUG:-0}
|
||||||
|
|
||||||
cd "$(dirname "$0")"
|
cd "$(dirname "$0")"
|
||||||
MYNAME=$(basename $0)
|
MYNAME=$(basename $0)
|
||||||
source ../fuse-unmount.bash
|
source ../fuse-unmount.bash
|
||||||
|
|
||||||
# fsstress binary
|
# fsstress binary
|
||||||
FSSTRESS=$HOME/fuse-xfstests/ltp/fsstress
|
FSSTRESS=$HOME/fuse-xfstests/ltp/fsstress
|
||||||
if [ ! -x $FSSTRESS ]
|
if [[ ! -x $FSSTRESS ]]
|
||||||
then
|
then
|
||||||
echo "$MYNAME: fsstress binary not found at $FSSTRESS"
|
echo "$MYNAME: fsstress binary not found at $FSSTRESS"
|
||||||
echo "Please clone and compile https://github.com/rfjakob/fuse-xfstests"
|
echo "Please clone and compile https://github.com/rfjakob/fuse-xfstests"
|
||||||
@ -47,22 +46,25 @@ for i in $(mount | cut -d" " -f3 | grep $TMPDIR/$MYNAME) ; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# FS-specific compile and mount
|
# FS-specific compile and mount
|
||||||
if [ $MYNAME = fsstress-loopback.bash ]; then
|
if [[ $MYNAME = fsstress-loopback.bash ]]; then
|
||||||
echo -n "Recompile go-fuse loopback: "
|
echo -n "Recompile go-fuse loopback: "
|
||||||
cd $GOPATH/src/github.com/hanwen/go-fuse/example/loopback
|
cd $GOPATH/src/github.com/hanwen/go-fuse/example/loopback
|
||||||
git describe
|
git describe
|
||||||
go build && go install
|
go build && go install
|
||||||
$GOPATH/bin/loopback -q $MNT $DIR &
|
OPTS="-q"
|
||||||
|
if [[ $DEBUG -eq 1 ]]; then
|
||||||
|
OPTS="-debug"
|
||||||
|
fi
|
||||||
|
$GOPATH/bin/loopback $OPTS "$MNT" "$DIR" &
|
||||||
disown
|
disown
|
||||||
elif [ $MYNAME = fsstress-gocryptfs.bash ]; then
|
elif [[ $MYNAME = fsstress-gocryptfs.bash ]]; then
|
||||||
echo "Recompile gocryptfs"
|
echo "Recompile gocryptfs"
|
||||||
cd $GOPATH/src/github.com/rfjakob/gocryptfs
|
cd $GOPATH/src/github.com/rfjakob/gocryptfs
|
||||||
./build.bash # also prints the version
|
./build.bash # also prints the version
|
||||||
$GOPATH/bin/gocryptfs -q -init -extpass "echo test" -scryptn=10 $DIR
|
$GOPATH/bin/gocryptfs -q -init -extpass "echo test" -scryptn=10 $DIR
|
||||||
$GOPATH/bin/gocryptfs -q -extpass "echo test" -nosyslog $DIR $MNT
|
$GOPATH/bin/gocryptfs -q -extpass "echo test" -nosyslog -fusedebug=$DEBUG $DIR $MNT
|
||||||
elif [ $MYNAME = fsstress-encfs.bash ]; then
|
elif [[ $MYNAME = fsstress-encfs.bash ]]; then
|
||||||
# You probably want do adjust this path to your system
|
encfs --extpass "echo test" --standard $DIR $MNT
|
||||||
/home/jakob.donotbackup/encfs/build/encfs --extpass "echo test" --standard $DIR $MNT
|
|
||||||
else
|
else
|
||||||
echo Unknown mode: $MYNAME
|
echo Unknown mode: $MYNAME
|
||||||
exit 1
|
exit 1
|
||||||
|
21
tests/stress_tests/fsstress.collect-crashes.sh
Executable file
21
tests/stress_tests/fsstress.collect-crashes.sh
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
cd ~/go/src/github.com/rfjakob/gocryptfs/tests/stress_tests || exit 1
|
||||||
|
export TMPDIR=/mnt/ext4-ramdisk
|
||||||
|
# Check that TMPDIR is writeable
|
||||||
|
touch "$TMPDIR/$$" || exit 1
|
||||||
|
rm "$TMPDIR/$$"
|
||||||
|
LOGDIR=/tmp/$$
|
||||||
|
mkdir "$LOGDIR" || exit 1
|
||||||
|
echo "Logging to LOGDIR=$LOGDIR, TMPDIR=$TMPDIR"
|
||||||
|
for i in $(seq 1 1000) ; do
|
||||||
|
set -x
|
||||||
|
LOG="$LOGDIR/fsstress.log.$(date --iso).$i"
|
||||||
|
if [[ -e $LOG ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
rm -Rf "$TMPDIR"/fsstress*
|
||||||
|
# 100000 lines ...... ~7 MB
|
||||||
|
# 1000000 lines ..... ~70 MB
|
||||||
|
# 10000000 lines .... ~700 MB
|
||||||
|
DEBUG=1 ./fsstress-loopback.bash 2>&1 | tail -1000000 > "$LOG"
|
||||||
|
done
|
Loading…
Reference in New Issue
Block a user