mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
test: add functions to count how much times notmuch was called
The patch adds two auxiliary functions and a variable: notmuch_counter_reset $notmuch_counter_command notmuch_counter_value They allow to count how many times notmuch binary is called. notmuch_counter_reset() function generates a script that counts how many times it is called and resets the counter to zero. The function sets $notmuch_counter_command variable to the path to the generated script that should be called instead of notmuch to do the counting. The notmuch_counter_value() function returns the current counter value.
This commit is contained in:
parent
2a349d739b
commit
e994bb28df
2 changed files with 46 additions and 2 deletions
16
test/README
16
test/README
|
@ -188,8 +188,8 @@ library for your script to use.
|
|||
is to summarize successes and failures in the test script and
|
||||
exit with an appropriate error code.
|
||||
|
||||
There are also a number of mail-specific functions which are useful in
|
||||
writing tests:
|
||||
There are also a number of notmuch-specific auxiliary functions and
|
||||
variables which are useful in writing tests:
|
||||
|
||||
generate_message
|
||||
|
||||
|
@ -213,3 +213,15 @@ writing tests:
|
|||
will initialize the mail database to a known state of 50 sample
|
||||
messages, (culled from the early history of the notmuch mailing
|
||||
list).
|
||||
|
||||
notmuch_counter_reset
|
||||
$notmuch_counter_command
|
||||
notmuch_counter_value
|
||||
|
||||
These allow to count how many times notmuch binary is called.
|
||||
notmuch_counter_reset() function generates a script that counts
|
||||
how many times it is called and resets the counter to zero. The
|
||||
function sets $notmuch_counter_command variable to the path to the
|
||||
generated script that should be called instead of notmuch to do
|
||||
the counting. The notmuch_counter_value() function prints the
|
||||
current counter value.
|
||||
|
|
|
@ -919,6 +919,38 @@ test_emacs () {
|
|||
emacsclient --socket-name="$EMACS_SERVER" --eval "(progn $@)"
|
||||
}
|
||||
|
||||
# Creates a script that counts how much time it is executed and calls
|
||||
# notmuch. $notmuch_counter_command is set to the path to the
|
||||
# generated script. Use notmuch_counter_value() function to get the
|
||||
# current counter value.
|
||||
notmuch_counter_reset () {
|
||||
notmuch_counter_command="$TMP_DIRECTORY/notmuch_counter"
|
||||
if [ ! -x "$notmuch_counter_command" ]; then
|
||||
notmuch_counter_state_path="$TMP_DIRECTORY/notmuch_counter.state"
|
||||
cat >"$notmuch_counter_command" <<EOF || return
|
||||
#!/bin/sh
|
||||
|
||||
read count < "$notmuch_counter_state_path"
|
||||
echo \$((count + 1)) > "$notmuch_counter_state_path"
|
||||
|
||||
exec notmuch "\$@"
|
||||
EOF
|
||||
chmod +x "$notmuch_counter_command" || return
|
||||
fi
|
||||
|
||||
echo 0 > "$notmuch_counter_state_path"
|
||||
}
|
||||
|
||||
# Returns the current notmuch counter value.
|
||||
notmuch_counter_value () {
|
||||
if [ -r "$notmuch_counter_state_path" ]; then
|
||||
read count < "$notmuch_counter_state_path"
|
||||
else
|
||||
count=0
|
||||
fi
|
||||
echo $count
|
||||
}
|
||||
|
||||
test_reset_state_ () {
|
||||
test -z "$test_init_done_" && test_init_
|
||||
|
||||
|
|
Loading…
Reference in a new issue