X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2Ftest-lib.sh;h=a48faf5cf5298dc724cffa510bcc3eb3dec26c4e;hb=5800a44bd5b77390d2243426f0c82de4d0495a1c;hp=11e66465108bb952d09443adfe0f68dbf29654e8;hpb=5af65f65e8a32fb7f11f5b1c2036e35a4c4809e2;p=notmuch diff --git a/test/test-lib.sh b/test/test-lib.sh index 11e66465..a48faf5c 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -554,10 +554,10 @@ test_declare_external_prereq () { test "$#" = 2 && name=$2 || name="$binary(1)" hash $binary 2>/dev/null || eval " -$binary () { test_missing_external_prereq_${binary}_=t - echo -n \"\$test_subtest_missing_external_prereqs_\" | grep -e \" $name \" || - test_subtest_missing_external_prereqs_=\"$test_subtest_missing_external_prereqs_ $name\" +$binary () { + 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_