]> git.notmuchmail.org Git - notmuch/blobdiff - performance-test/perf-test-lib.sh
perf-test: unpack tags.
[notmuch] / performance-test / perf-test-lib.sh
index 53ef96dae8b28d1afd3a609000719d01695b1daa..3a7ef2b35999506e7b3c47b0511ed94f9f0d4f4e 100644 (file)
@@ -35,6 +35,8 @@ then
        exit 1
 fi
 
+DB_CACHE_DIR=${TEST_DIRECTORY}/notmuch.cache.$corpus_size
+
 add_email_corpus ()
 {
     rm -rf ${MAIL_DIR}
@@ -54,7 +56,13 @@ add_email_corpus ()
     esac
 
     MAIL_CORPUS="${TEST_DIRECTORY}/corpus/$mail_subdir"
+    TAG_CORPUS="${TEST_DIRECTORY}/corpus/tags"
+
     args=()
+    if [ ! -d "$TAG_CORPUS" ] ; then
+       args+=("notmuch-email-corpus/tags")
+    fi
+
     if [ ! -d "$check_for" ] ; then
        args+=("notmuch-email-corpus/$mail_subdir")
     fi
@@ -79,9 +87,36 @@ add_email_corpus ()
 
     fi
 
+    cp -lr $TAG_CORPUS $TMP_DIRECTORY/corpus.tags
     cp -lr $MAIL_CORPUS $MAIL_DIR
+
 }
 
+time_start () {
+
+    add_email_corpus
+
+    print_header
+
+    if [ -d $DB_CACHE_DIR ]; then
+       cp -r $DB_CACHE_DIR ${MAIL_DIR}/.notmuch
+    else
+       time_run 'Initial notmuch new' "notmuch new"
+       cache_database
+    fi
+}
+
+cache_database () {
+    if [ -d $MAIL_DIR/.notmuch ]; then
+       cp -r $MAIL_DIR/.notmuch $DB_CACHE_DIR
+    else
+       echo "Warning: No database found to cache"
+    fi
+}
+
+uncache_database () {
+    rm -rf $DB_CACHE_DIR
+}
 
 print_header () {
     printf "[v%4s %6s]          Wall(s)\tUsr(s)\tSys(s)\tRes(K)\tIn/Out(512B)\n" \