mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
perf-test: split basic into 00-new, 01-dump-restore, and 02-tag
We use the new "time_start" function to restore the database from cache if possible.
This commit is contained in:
parent
5c35791d7c
commit
51b0f8ff33
6 changed files with 54 additions and 23 deletions
19
performance-test/00-new
Executable file
19
performance-test/00-new
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
test_description='notmuch new'
|
||||||
|
|
||||||
|
. ./perf-test-lib.sh
|
||||||
|
|
||||||
|
uncache_database
|
||||||
|
|
||||||
|
time_start
|
||||||
|
|
||||||
|
time_run 'initial notmuch new' 'notmuch new'
|
||||||
|
|
||||||
|
cache_database
|
||||||
|
|
||||||
|
for i in $(seq 2 6); do
|
||||||
|
time_run "notmuch new #$i" 'notmuch new'
|
||||||
|
done
|
||||||
|
|
||||||
|
time_done
|
12
performance-test/01-dump-restore
Executable file
12
performance-test/01-dump-restore
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
test_description='dump and restore'
|
||||||
|
|
||||||
|
. ./perf-test-lib.sh
|
||||||
|
|
||||||
|
time_start
|
||||||
|
|
||||||
|
time_run 'dump *' 'notmuch dump > tags.out'
|
||||||
|
time_run 'restore *' 'notmuch restore < tags.out'
|
||||||
|
|
||||||
|
time_done
|
14
performance-test/02-tag
Executable file
14
performance-test/02-tag
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
test_description='tagging'
|
||||||
|
|
||||||
|
. ./perf-test-lib.sh
|
||||||
|
|
||||||
|
time_start
|
||||||
|
|
||||||
|
time_run 'tag * +new_tag' "notmuch tag +new_tag '*'"
|
||||||
|
time_run 'tag * +existing_tag' "notmuch tag +new_tag '*'"
|
||||||
|
time_run 'tag * -existing_tag' "notmuch tag -new_tag '*'"
|
||||||
|
time_run 'tag * -missing_tag' "notmuch tag -new_tag '*'"
|
||||||
|
|
||||||
|
time_done
|
|
@ -51,8 +51,8 @@ Each test script supports the following arguments
|
||||||
Writing tests
|
Writing tests
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Have a look at "basic" for an example. Sourcing "perf-test-lib.sh" is
|
Have a look at "01-dump-restore" for an example. Sourcing
|
||||||
mandatory. Utility functions include
|
"perf-test-lib.sh" is mandatory. Utility functions include
|
||||||
|
|
||||||
- 'add_email_corpus' unpacks a set of messages and adds them to the database.
|
- 'add_email_corpus' unpacks a set of messages and adds them to the database.
|
||||||
- 'cache_database': makes a snapshot of the current database
|
- 'cache_database': makes a snapshot of the current database
|
||||||
|
@ -62,3 +62,7 @@ mandatory. Utility functions include
|
||||||
cannot find a cache of the appropriate corpus.
|
cannot find a cache of the appropriate corpus.
|
||||||
- 'time_done' does the cleanup; comment it out or pass --debug to the
|
- 'time_done' does the cleanup; comment it out or pass --debug to the
|
||||||
script to leave the temporary files around.
|
script to leave the temporary files around.
|
||||||
|
|
||||||
|
Scripts are run in the order specified in notmuch-perf-test. In the
|
||||||
|
future this order might be chosen automatically so please follow the
|
||||||
|
convention of starting the name with two digits to specify the order.
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
. ./perf-test-lib.sh
|
|
||||||
|
|
||||||
uncache_database
|
|
||||||
|
|
||||||
add_email_corpus
|
|
||||||
|
|
||||||
print_header
|
|
||||||
|
|
||||||
time_run 'initial notmuch new' 'notmuch new'
|
|
||||||
|
|
||||||
cache_database
|
|
||||||
|
|
||||||
time_run 'second notmuch new' 'notmuch new'
|
|
||||||
time_run 'dump *' 'notmuch dump > tags.out'
|
|
||||||
time_run 'restore *' 'notmuch restore < tags.out'
|
|
||||||
time_run 'tag * +new_tag' "notmuch tag +new_tag '*'"
|
|
||||||
|
|
||||||
time_done
|
|
|
@ -17,7 +17,9 @@ fi
|
||||||
cd $(dirname "$0")
|
cd $(dirname "$0")
|
||||||
|
|
||||||
TESTS="
|
TESTS="
|
||||||
basic
|
00-new
|
||||||
|
01-dump-restore
|
||||||
|
02-tag
|
||||||
"
|
"
|
||||||
|
|
||||||
for test in $TESTS; do
|
for test in $TESTS; do
|
||||||
|
|
Loading…
Reference in a new issue