[PATCH] test: add broken tests for maildir syncing

classic Classic list List threaded Threaded
3 messages Options
David Bremner-2 David Bremner-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[PATCH] test: add broken tests for maildir syncing

Users should be able to specify synced tags in new.tags
---

Anarcat had an interesting idea about using "flagged" in new.tags, but
it doesn't work, because of (I think) the following code:

        for (tag = state->new_tags; *tag != NULL; tag++)
            notmuch_message_add_tag (message, *tag);
        if (state->synchronize_flags)
            notmuch_message_maildir_flags_to_tags (message);

i.e. the tags are removed because the newly delivered message doesn't
have them.

FWIW, notmuch-insert does the right thing, I think

 test/T340-maildir-sync.sh | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/test/T340-maildir-sync.sh b/test/T340-maildir-sync.sh
index 959bf8d8..172c22eb 100755
--- a/test/T340-maildir-sync.sh
+++ b/test/T340-maildir-sync.sh
@@ -181,11 +181,33 @@ test_expect_equal "$(cd $MAIL_DIR/cur/; ls non-compliant*)" "non-compliant-maild
 
 test_begin_subtest "Files in new/ get default synchronized tags"
 OLDCONFIG=$(notmuch config get new.tags)
-notmuch config set new.tags test
+notmuch config set new.tags test;unread
 add_message [subject]='"File in new/"' [dir]=new [filename]='file-in-new'
 notmuch config set new.tags $OLDCONFIG
 notmuch search 'subject:"File in new"' | notmuch_search_sanitize > output
 test_expect_equal "$(< output)" \
 "thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; File in new/ (test unread)"
 
+test_begin_subtest "unread is not mandatory in new/"
+test_subtest_known_broken
+OLDCONFIG=$(notmuch config get new.tags)
+notmuch config set new.tags test
+add_message [subject]='"File in new/"' [dir]=new [filename]='file-in-new'
+notmuch config set new.tags $OLDCONFIG
+notmuch search 'subject:"File in new"' | notmuch_search_sanitize > output
+test_expect_equal "$(< output)" \
+"thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; File in new/ (test)"
+
+for tag in draft flagged passed replied; do
+
+    test_begin_subtest "$tag is valid in new.tags"
+    test_subtest_known_broken
+    OLDCONFIG=$(notmuch config get new.tags)
+    notmuch config set new.tags "$tag"
+    add_message [subject]="\"$tag sync in new\"" [dir]=new
+    notmuch config set new.tags $OLDCONFIG
+    notmuch search subject:"$tag in new" | notmuch_search_sanitize > output
+    test_expect_equal "$(< output)" \
+      "thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; $tag sync in new ($tag)"
+done
 test_done
--
2.13.2

_______________________________________________
notmuch mailing list
[hidden email]
https://notmuchmail.org/mailman/listinfo/notmuch
Tomi Ollila-2 Tomi Ollila-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PATCH] test: add broken tests for maildir syncing

On Fri, Aug 04 2017, David Bremner wrote:

> Users should be able to specify synced tags in new.tags
> ---
>
> Anarcat had an interesting idea about using "flagged" in new.tags, but
> it doesn't work, because of (I think) the following code:
>
> for (tag = state->new_tags; *tag != NULL; tag++)
>    notmuch_message_add_tag (message, *tag);
> if (state->synchronize_flags)
>    notmuch_message_maildir_flags_to_tags (message);
>
> i.e. the tags are removed because the newly delivered message doesn't
> have them.
>
> FWIW, notmuch-insert does the right thing, I think
>
>  test/T340-maildir-sync.sh | 24 +++++++++++++++++++++++-
>  1 file changed, 23 insertions(+), 1 deletion(-)
>
> diff --git a/test/T340-maildir-sync.sh b/test/T340-maildir-sync.sh
> index 959bf8d8..172c22eb 100755
> --- a/test/T340-maildir-sync.sh
> +++ b/test/T340-maildir-sync.sh
> @@ -181,11 +181,33 @@ test_expect_equal "$(cd $MAIL_DIR/cur/; ls non-compliant*)" "non-compliant-maild
>  
>  test_begin_subtest "Files in new/ get default synchronized tags"
>  OLDCONFIG=$(notmuch config get new.tags)
> -notmuch config set new.tags test
> +notmuch config set new.tags test;unread
>  add_message [subject]='"File in new/"' [dir]=new [filename]='file-in-new'
>  notmuch config set new.tags $OLDCONFIG
>  notmuch search 'subject:"File in new"' | notmuch_search_sanitize > output
>  test_expect_equal "$(< output)" \
>  "thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; File in new/ (test unread)"
>  
> +test_begin_subtest "unread is not mandatory in new/"
> +test_subtest_known_broken
> +OLDCONFIG=$(notmuch config get new.tags)
> +notmuch config set new.tags test
> +add_message [subject]='"File in new/"' [dir]=new [filename]='file-in-new'
> +notmuch config set new.tags $OLDCONFIG
> +notmuch search 'subject:"File in new"' | notmuch_search_sanitize > output
> +test_expect_equal "$(< output)" \
> +"thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; File in new/ (test)"
> +
> +for tag in draft flagged passed replied; do
> +
> +    test_begin_subtest "$tag is valid in new.tags"
> +    test_subtest_known_broken
> +    OLDCONFIG=$(notmuch config get new.tags)
> +    notmuch config set new.tags "$tag"
> +    add_message [subject]="\"$tag sync in new\"" [dir]=new
> +    notmuch config set new.tags $OLDCONFIG
> +    notmuch search subject:"$tag in new" | notmuch_search_sanitize > output

+    notmuch search "subject:\"$tag in new\"" | notmuch_search_sanitize > output

> +    test_expect_equal "$(< output)" \
> +      "thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; $tag sync in new ($tag)"
> +done
>  test_done
> --
> 2.13.2
_______________________________________________
notmuch mailing list
[hidden email]
https://notmuchmail.org/mailman/listinfo/notmuch
David Bremner-2 David Bremner-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PATCH] test: add broken tests for maildir syncing

Tomi Ollila <[hidden email]> writes:

>
> +    notmuch search "subject:\"$tag in new\"" | notmuch_search_sanitize > output
>

I was just telling someone in Montreal that one of the great helps I had
in notmuch was someone who fixes my shell mistakes :).

pushed, amended as suggested,

d
_______________________________________________
notmuch mailing list
[hidden email]
https://notmuchmail.org/mailman/listinfo/notmuch
Loading...