[Patch v3 08/15] test: add tests for the new boolean folder: and path: prefixes

Austin Clements amdragon at MIT.EDU
Sat Mar 8 18:55:29 PST 2014


Quoth David Bremner on Mar 08 at  5:19 pm:
> From: Jani Nikula <jani at nikula.org>
> 
> Additional tests for the boolean folder: and path: prefixes using the
> new corpus.
> ---
>  test/T101-search-by-folder-and-path.sh | 83 ++++++++++++++++++++++++++++++++++

Would it be possible to fold these in to (or simply improve)
T100-search-by-folder.sh?  Maybe just concatenate the two and blow
away the database in the middle.  There's already a lot of ambiguity
between the test scripts (do I put Emacs show tests in T310-emacs
where most of them are, or in T450-emacs-show?) and it would be
unfortunate to introduce more.

>  1 file changed, 83 insertions(+)
>  create mode 100755 test/T101-search-by-folder-and-path.sh
> 
> diff --git a/test/T101-search-by-folder-and-path.sh b/test/T101-search-by-folder-and-path.sh
> new file mode 100755
> index 0000000..9f809e4
> --- /dev/null
> +++ b/test/T101-search-by-folder-and-path.sh
> @@ -0,0 +1,83 @@
> +#!/usr/bin/env bash
> +test_description='"notmuch search" by folder: and path:'
> +. ./test-lib.sh
> +
> +add_email_corpus folders
> +
> +test_begin_subtest "folder: search"
> +output=$(notmuch search --output=files folder:foo | sed -e "s,$MAIL_DIR,MAIL_DIR," | sort)

No need to do this in this series, but it would be nice if this
canonicalization were put into a function in test-lib, since we do it
in a lot of places.

> +# bar/baz/05:2, and new/03:2, are duplicates of foo/05:2, and
> +# foo/new/03:2, respectively
> +test_expect_equal "$output" "MAIL_DIR/bar/baz/05:2,
> +MAIL_DIR/foo/05:2,
> +MAIL_DIR/foo/06:2,
> +MAIL_DIR/foo/cur/07:2,
> +MAIL_DIR/foo/cur/08:2,
> +MAIL_DIR/foo/new/03:2,
> +MAIL_DIR/foo/new/09:2,
> +MAIL_DIR/foo/new/10:2,
> +MAIL_DIR/new/03:2,"
> +
> +test_begin_subtest "top level folder: search"
> +output=$(notmuch search --output=files folder:'""' | sed -e "s,$MAIL_DIR,MAIL_DIR," | sort)
> +# foo/new/03:2, is a duplicate of new/03:2,
> +test_expect_equal "$output" "MAIL_DIR/01:2,
> +MAIL_DIR/02:2,
> +MAIL_DIR/cur/29:2,
> +MAIL_DIR/cur/30:2,
> +MAIL_DIR/cur/31:2,
> +MAIL_DIR/cur/32:2,
> +MAIL_DIR/cur/33:2,
> +MAIL_DIR/cur/34:2,
> +MAIL_DIR/cur/35:2,
> +MAIL_DIR/cur/36:2,
> +MAIL_DIR/cur/37:2,
> +MAIL_DIR/cur/38:2,
> +MAIL_DIR/cur/39:2,
> +MAIL_DIR/cur/40:2,
> +MAIL_DIR/cur/41:2,
> +MAIL_DIR/cur/42:2,
> +MAIL_DIR/cur/43:2,
> +MAIL_DIR/cur/44:2,
> +MAIL_DIR/cur/45:2,
> +MAIL_DIR/cur/46:2,
> +MAIL_DIR/cur/47:2,
> +MAIL_DIR/cur/48:2,
> +MAIL_DIR/cur/49:2,
> +MAIL_DIR/cur/50:2,
> +MAIL_DIR/cur/52:2,
> +MAIL_DIR/cur/53:2,
> +MAIL_DIR/foo/new/03:2,
> +MAIL_DIR/new/03:2,
> +MAIL_DIR/new/04:2,"
> +
> +test_begin_subtest "path: search"
> +output=$(notmuch search --output=files path:"bar" | sed -e "s,$MAIL_DIR,MAIL_DIR," | sort)
> +# foo/05:2, is a duplicate of bar/baz/05:2,
> +test_expect_equal "$output" "MAIL_DIR/bar/17:2,
> +MAIL_DIR/bar/18:2,"
> +
> +test_begin_subtest "top level path: search"
> +output=$(notmuch search --output=files path:'""' | sed -e "s,$MAIL_DIR,MAIL_DIR," | sort)
> +test_expect_equal "$output" "MAIL_DIR/01:2,
> +MAIL_DIR/02:2,"
> +
> +test_begin_subtest "recursive path: search"
> +output=$(notmuch search --output=files path:"bar/**" | sed -e "s,$MAIL_DIR,MAIL_DIR," | sort)
> +# foo/05:2, is a duplicate of bar/baz/05:2,
> +test_expect_equal "$output" "MAIL_DIR/bar/17:2,
> +MAIL_DIR/bar/18:2,
> +MAIL_DIR/bar/baz/05:2,
> +MAIL_DIR/bar/baz/23:2,
> +MAIL_DIR/bar/baz/24:2,
> +MAIL_DIR/bar/baz/cur/25:2,
> +MAIL_DIR/bar/baz/cur/26:2,
> +MAIL_DIR/bar/baz/new/27:2,
> +MAIL_DIR/bar/baz/new/28:2,
> +MAIL_DIR/bar/cur/19:2,
> +MAIL_DIR/bar/cur/20:2,
> +MAIL_DIR/bar/new/21:2,
> +MAIL_DIR/bar/new/22:2,
> +MAIL_DIR/foo/05:2,"
> +
> +test_done


More information about the notmuch mailing list