X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=performance-test%2Fperf-test-lib.sh;fp=performance-test%2Fperf-test-lib.sh;h=80ec1eb063cdbadfcea116e691ce6d96435d8cdb;hp=0000000000000000000000000000000000000000;hb=7beeb8c88a014ecbc53d8241f10683b3c4c16228;hpb=20b7e0ff2f12e612dee00efc6ff1634aae8172a4 diff --git a/performance-test/perf-test-lib.sh b/performance-test/perf-test-lib.sh new file mode 100644 index 00000000..80ec1eb0 --- /dev/null +++ b/performance-test/perf-test-lib.sh @@ -0,0 +1,67 @@ +. ./version.sh + +. ../test/test-lib-common.sh + +set -e + +if ! test -x ../notmuch +then + echo >&2 'You do not seem to have built notmuch yet.' + exit 1 +fi + +add_email_corpus () +{ + rm -rf ${MAIL_DIR} + + case "$1" in + --small) + arg="mail/enron/bailey-s" + ;; + --medium) + arg="mail/notmuch-archive" + ;; + *) + arg=mail + esac + + if command -v pixz > /dev/null; then + XZ=pixz + else + XZ=xz + fi + + printf "Unpacking corpus\n" + tar --checkpoint=.5000 --extract --strip-components=1 \ + --directory ${TMP_DIRECTORY} \ + --use-compress-program ${XZ} \ + --file ../download/notmuch-email-corpus-${PERFTEST_VERSION}.tar.xz \ + notmuch-email-corpus/"$arg" + + printf "\n" +} + +print_header () { + printf "[v%4s] Wall(s)\tUsr(s)\tSys(s)\tRes(K)\tIn\tOut\n" \ + ${PERFTEST_VERSION} +} + +time_run () { + printf "%-22s" "$1" + if test "$verbose" != "t"; then exec 4>test.output 3>&4; fi + if ! eval >&3 "/usr/bin/time -f '%e\t%U\t%S\t%M\t%I\t%O' $2" ; then + test_failure=$(($test_failure + 1)) + fi +} + +time_done () { + if [ "$test_failure" = "0" ]; then + rm -rf "$remove_tmp" + exit 0 + else + exit 1 + fi +} + +cd -P "$test" || error "Cannot setup test environment" +test_failure=0