mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 10:58:10 +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
|
is to summarize successes and failures in the test script and
|
||||||
exit with an appropriate error code.
|
exit with an appropriate error code.
|
||||||
|
|
||||||
There are also a number of mail-specific functions which are useful in
|
There are also a number of notmuch-specific auxiliary functions and
|
||||||
writing tests:
|
variables which are useful in writing tests:
|
||||||
|
|
||||||
generate_message
|
generate_message
|
||||||
|
|
||||||
|
@ -213,3 +213,15 @@ writing tests:
|
||||||
will initialize the mail database to a known state of 50 sample
|
will initialize the mail database to a known state of 50 sample
|
||||||
messages, (culled from the early history of the notmuch mailing
|
messages, (culled from the early history of the notmuch mailing
|
||||||
list).
|
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 $@)"
|
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_reset_state_ () {
|
||||||
test -z "$test_init_done_" && test_init_
|
test -z "$test_init_done_" && test_init_
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue