[PATCH 1/2] test: Add "test_expect_emacs_t" to assist with emacs testing.
Dmitry Kurochkin
dmitry.kurochkin at gmail.com
Mon Jan 16 09:50:22 PST 2012
Hi David.
On Mon, 16 Jan 2012 16:47:32 +0000, David Edmondson <dme at dme.org> wrote:
> "test_expect_emacs_t" expects a single argument. If this is `t' then
> the test passes. Otherwise the argument provides the details of the
> test failure to be reported.
Isn't this function the same as something like "test_expect_equal $x t"?
IMO the function seems too complex for what it does (and basically that
is "compare $x with t"). Why do we need to implement it in such a way?
Also, the function has nothing to do with emacs (except for the fact
that 't' is commonly used in it).
I think a more useful approach would be to add a function which takes a
lisp expression, runs test_emacs and compares the result with "t" using
test_expect_equal or similar. This way you do not need to make an
explicit test_emacs call and avoid code duplication when checking the
result. test_emacs_expect_t should be a good name for it. What do you
think?
Regards,
Dmitry
> ---
>
> For use in the following set of tests and later for other emacs related tests.
>
> test/test-lib.sh | 20 ++++++++++++++++++++
> 1 files changed, 20 insertions(+), 0 deletions(-)
>
> diff --git a/test/test-lib.sh b/test/test-lib.sh
> index d1fbc05..0ffe9a6 100644
> --- a/test/test-lib.sh
> +++ b/test/test-lib.sh
> @@ -503,6 +503,26 @@ test_expect_equal_file ()
> fi
> }
>
> +# Pass test if the result is `t', else report the results.
> +test_expect_emacs_t ()
> +{
> + exec 1>&6 2>&7 # Restore stdout and stderr
> + inside_subtest=
> + test "$#" = 1 ||
> + error "bug in the test script: not 1 parameter to test_expect_emacs_t"
> +
> + result="$1"
> + if ! test_skip "$test_subtest_name"
> + then
> + if [ "${result}" == "t" ] ; then
> + test_ok_ "$test_subtest_name"
> + else
> + testname=$this_test.$test_count
> + test_failure_ "$test_subtest_name" "$(eval printf ${result})"
> + fi
> + fi
> +}
> +
> NOTMUCH_NEW ()
> {
> notmuch new | grep -v -E -e '^Processed [0-9]*( total)? file|Found [0-9]* total file'
> --
> 1.7.7.3
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list