]> git.notmuchmail.org Git - notmuch/blobdiff - performance-test/perf-test-lib.sh
perf-test: optionally print description for each group of tests
[notmuch] / performance-test / perf-test-lib.sh
index 80ec1eb063cdbadfcea116e691ce6d96435d8cdb..bdf92449f2b2a198b81058d7278f920c3661a70f 100644 (file)
@@ -1,5 +1,30 @@
 . ./version.sh
 
+corpus_size=large
+
+while test "$#" -ne 0
+do
+       case "$1" in
+       -d|--debug)
+               debug=t;
+               shift
+               ;;
+       -s|--small)
+               corpus_size=small;
+               shift
+               ;;
+       -m|--medium)
+               corpus_size=medium;
+               shift
+               ;;
+       -l|--large)
+               corpus_size=large;
+               shift
+               ;;
+       *)
+               echo "error: unknown performance test option '$1'" >&2; exit 1 ;;
+       esac
+done
 . ../test/test-lib-common.sh
 
 set -e
@@ -42,16 +67,18 @@ add_email_corpus ()
 }
 
 print_header () {
-    printf "[v%4s]               Wall(s)\tUsr(s)\tSys(s)\tRes(K)\tIn\tOut\n" \
-          ${PERFTEST_VERSION}
+    printf "[v%4s %6s]          Wall(s)\tUsr(s)\tSys(s)\tRes(K)\tIn/Out(512B)\n" \
+          ${PERFTEST_VERSION} ${corpus_size}
 }
 
 time_run () {
-    printf "%-22s" "$1"
+    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
+    if ! eval >&3 "/usr/bin/time -f '%e\t%U\t%S\t%M\t%I/%O' $2" ; then
        test_failure=$(($test_failure + 1))
+       return 1
     fi
+    return 0
 }
 
 time_done () {
@@ -65,3 +92,6 @@ time_done () {
 
 cd -P "$test" || error "Cannot setup test environment"
 test_failure=0
+
+echo
+echo $(basename "$0"): "Testing ${test_description:-notmuch performance}"