mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-26 11:24:53 +01:00
7beeb8c88a
This is not near as fancy as as the unit tests, on the theory that the code should typically be crashing when performance tuning. Nonetheless, there is plenty of room for improvement. Several more of the pieces of the test infrastructure (e.g. the option parsing) could be factored out into test/test-lib-common.sh
67 lines
1.2 KiB
Bash
67 lines
1.2 KiB
Bash
. ./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
|