X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2Ftest-lib.sh;h=a48faf5cf5298dc724cffa510bcc3eb3dec26c4e;hb=a647f43643073cd02e26788e417efd8dd3323669;hp=9dcb2d2e2a2bc4a57c4356d182dc59f291e8bd7e;hpb=571810f71762ab8debeea3c5cffeb7dac665b2dd;p=notmuch diff --git a/test/test-lib.sh b/test/test-lib.sh index 9dcb2d2e..a48faf5c 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -556,7 +556,7 @@ test_declare_external_prereq () { hash $binary 2>/dev/null || eval " test_missing_external_prereq_${binary}_=t $binary () { - echo -n \"\$test_subtest_missing_external_prereqs_\" | grep -e \" $name \" || + echo -n \"\$test_subtest_missing_external_prereqs_ \" | grep -qe \" $name \" || test_subtest_missing_external_prereqs_=\"\$test_subtest_missing_external_prereqs_ $name\" false }" @@ -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" < "$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_