summaryrefslogtreecommitdiff
path: root/stress_tests/extractloop.bash
diff options
context:
space:
mode:
Diffstat (limited to 'stress_tests/extractloop.bash')
-rwxr-xr-xstress_tests/extractloop.bash56
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