diff options
Diffstat (limited to 'stress_tests/extractloop.bash')
-rwxr-xr-x | stress_tests/extractloop.bash | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/stress_tests/extractloop.bash b/stress_tests/extractloop.bash deleted file mode 100755 index c488707..0000000 --- a/stress_tests/extractloop.bash +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash -# -# Mount a gocryptfs filesystem somewhere on /tmp, then run two parallel -# infinite loops inside that do the following: -# 1) Extract linux-3.0.tar.gz -# 2) Verify the md5sums -# 3) Delete, go to (1) -# -# This test is good at discovering inode-related memory leaks because it creates -# huge numbers of files. - -set -eu - -cd "$(dirname "$0")" -MD5="$PWD/extractloop.md5sums" - -# Setup -cd /tmp -wget -nv --show-progress -c https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.gz -DIR1=$(mktemp -d) -DIR2=$(mktemp -d) -gocryptfs -q -init -extpass="echo test" $DIR1 -gocryptfs -q -extpass="echo test" -nosyslog $DIR1 $DIR2 -#gocryptfs -q -extpass="echo test" -nosyslog -memprofile /tmp/extractloop-mem $DIR1 $DIR2 -cd $DIR2 - -# Cleanup trap -# Note: gocryptfs may have already umounted itself because bash relays SIGINT -# Just ignore fusermount errors. -trap "cd /; fusermount -u -z $DIR2; rm -rf $DIR1 $DIR2" EXIT - -function loop { - # Note: In a subshell, $$ returns the PID of the *parent* shell, - # we need our own, which is why we have to use $BASHPID. - mkdir $BASHPID - cd $BASHPID - - echo "[pid $BASHPID] Starting loop" - - N=1 - while true - do - t1=$SECONDS - tar xf /tmp/linux-3.0.tar.gz - md5sum --status -c $MD5 - rm -Rf linux-3.0 - t2=$SECONDS - delta=$((t2-t1)) - echo "[pid $BASHPID] Iteration $N done, $delta seconds" - let N=$N+1 - done -} - -loop & -loop & -wait |