Re: [PATCH 0/4] Allow specifying alternate names for addresses in other_email
[notmuch-archives.git] / 96 / 1f94a091c9073ab928fecb19cb0ba5bfcdaa2e
1 Return-Path: <prvs=jrosenthal=7296245fb@jhu.edu>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id 22F854196F0\r
6         for <notmuch@notmuchmail.org>; Fri, 30 Apr 2010 12:08:00 -0700 (PDT)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: -4.199\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5\r
12         tests=[BAYES_00=-1.9, NORMAL_HTTP_TO_IP=0.001, RCVD_IN_DNSWL_MED=-2.3]\r
13         autolearn=ham\r
14 Received: from olra.theworths.org ([127.0.0.1])\r
15         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
16         with ESMTP id xQ--GHEzJ4zl for <notmuch@notmuchmail.org>;\r
17         Fri, 30 Apr 2010 12:07:52 -0700 (PDT)\r
18 Received: from ipex2.johnshopkins.edu (ipex2.johnshopkins.edu [162.129.8.151])\r
19         by olra.theworths.org (Postfix) with ESMTP id B4DAB431FC1\r
20         for <notmuch@notmuchmail.org>; Fri, 30 Apr 2010 12:07:51 -0700 (PDT)\r
21 X-IronPort-AV: E=Sophos;i="4.52,304,1270440000"; d="scan'208";a="326232761"\r
22 Received: from c-69-255-36-229.hsd1.md.comcast.net (HELO lucky)\r
23         ([69.255.36.229])\r
24         by ipex2.johnshopkins.edu with ESMTP/TLS/AES256-SHA;\r
25         30 Apr 2010 15:07:50 -0400\r
26 Received: from jkr by lucky with local (Exim 4.69)\r
27         (envelope-from <jrosenthal@jhu.edu>)\r
28         id 1O7vYz-0004z2-7Y; Fri, 30 Apr 2010 15:07:49 -0400\r
29 From: Jesse Rosenthal <jrosenthal@jhu.edu>\r
30 To: Notmuch developer list <notmuch@notmuchmail.org>\r
31 Subject: [PATCH 1/2] test: add modular test collections\r
32 In-Reply-To: <87sk6cdbxz.fsf@jhu.edu>\r
33 References: <87sk6cdbxz.fsf@jhu.edu>\r
34 User-Agent: Notmuch/0.3-23-g5efa9bd (http://notmuchmail.org) Emacs/23.1.1\r
35         (i486-pc-linux-gnu)\r
36 Date: Fri, 30 Apr 2010 15:07:49 -0400\r
37 Message-ID: <87iq78daii.fsf@jhu.edu>\r
38 MIME-Version: 1.0\r
39 Content-Type: text/plain; charset=utf-8\r
40 Content-Transfer-Encoding: quoted-printable\r
41 X-BeenThere: notmuch@notmuchmail.org\r
42 X-Mailman-Version: 2.1.13\r
43 Precedence: list\r
44 List-Id: "Use and development of the notmuch mail system."\r
45         <notmuch.notmuchmail.org>\r
46 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
47         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
48 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
49 List-Post: <mailto:notmuch@notmuchmail.org>\r
50 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
51 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
52         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
53 X-List-Received-Date: Fri, 30 Apr 2010 19:08:00 -0000\r
54 \r
55 For the sake of modularization, add modular test collections. Each\r
56 collection is a subdir of test/tests. With each dir is a series of files\r
57 with the prefix "*.test" or "*.setup". The command "notmuch-test X" will\r
58 run all of the files test and setup files in X, in numerical order (as\r
59 determined by their numerical prefix).\r
60 \r
61 *.test files are the actual tests, while *.setup files are used to change\r
62 to the state that the tests expect.\r
63 \r
64 00001-$(basename $(pwd)).setup and 99999-$(basename $(pwd)).setup are\r
65 reserved for setting up for the collection and cleaning up after it. In\r
66 the original monolithic test suite, certain tests required a certain state\r
67 at their startup. By setting up and cleaning up for each test, we can\r
68 guarantee that they do not need to be run in a specific order.\r
69 \r
70 The numbering system for all other tests is 00100, 00200, etc. This is\r
71 designed to allow for numerous tests to be added, or added between other\r
72 tests, while remaining consistent.\r
73 ---\r
74  .../00001-author-reordering.setup                  |    2 +\r
75  .../author-reordering/00100-adding-parent-msg.test |    4 +\r
76  .../00200-adding-initial-child-message.test        |    4 +\r
77  .../00300-adding-second-child-msg.test             |    4 +\r
78  .../00400-search-all-msgs-match.test               |    3 +\r
79  .../00500-search-two-msgs-match.test               |    3 +\r
80  .../00600-search-one-msg-matches.test              |    3 +\r
81  .../00700-search-first-msg-matches.test            |    3 +\r
82  .../99999-author-reordering.setup                  |    4 +\r
83  .../00001-from-guessing-multiple.setup             |    2 +\r
84  .../00100-nothing-to-go-on.test                    |   17 +++\r
85  .../from-guessing-multiple/00200-envelope-to.test  |   18 +++\r
86  .../00300-x-original-to.test                       |   18 +++\r
87  .../from-guessing-multiple/00400-received-for.test |   20 +++\r
88  .../00500-received-doman.test                      |   20 +++\r
89  .../99999-from-guessing-multiple.setup             |    4 +\r
90  .../00001-from-guessing-single.setup               |    4 +\r
91  .../00100-nothing-to-go-on.test                    |   17 +++\r
92  .../from-guessing-single/00200-envelope-to.test    |   18 +++\r
93  .../from-guessing-single/00300-x-original-to.test  |   18 +++\r
94  .../from-guessing-single/00400-received-for.test   |   20 +++\r
95  .../from-guessing-single/00500-received-doman.test |   20 +++\r
96  .../99999-from-guessing-single.setup               |   14 ++\r
97  test/tests/json/00001-json.setup                   |    2 +\r
98  test/tests/json/00100-show-message-json.test       |    4 +\r
99  test/tests/json/00200-search-message-json.test     |   10 ++\r
100  test/tests/json/00300-search-by-subject-utf8.test  |    4 +\r
101  test/tests/json/00400-show-message-json-utf8.test  |    4 +\r
102  .../tests/json/00500-search-message-json-utf8.test |   10 ++\r
103  test/tests/json/99999-json.setup                   |    4 +\r
104  .../00001-notmuch-dump-restore.setup               |    2 +\r
105  .../00100-dumping-all-tags.test                    |    3 +\r
106  .../00200-clearing-all-tags.test                   |    5 +\r
107  .../00300-restoring-original-tags.test             |    4 +\r
108  .../00400-restore-with-nothing.test                |    3 +\r
109  .../99999-notmuch-dump-restore.setup               |    4 +\r
110  test/tests/notmuch-new/00001-notmuch-new.setup     |    2 +\r
111  test/tests/notmuch-new/00100-no-new-mail.test      |    3 +\r
112  test/tests/notmuch-new/00200-one-new-message.test  |    4 +\r
113  .../notmuch-new/00300-multiple-new-messages.test   |    5 +\r
114  test/tests/notmuch-new/00400-non-empty-db.test     |    3 +\r
115  test/tests/notmuch-new/00500-new-directories.test  |    8 +\r
116  .../notmuch-new/00550-alternate-inode-order.test   |    9 ++\r
117  test/tests/notmuch-new/00600-message-moved.test    |   12 ++\r
118  test/tests/notmuch-new/00700-renamed-message.test  |    8 +\r
119  test/tests/notmuch-new/00800-deleted-message.test  |    6 +\r
120  .../tests/notmuch-new/00900-renamed-directory.test |   13 ++\r
121  .../tests/notmuch-new/01000-deleted-directory.test |    7 +\r
122  .../notmuch-new/01100-new-directory-end-list.test  |    8 +\r
123  .../01200-deleted-directory-end-list.test          |    7 +\r
124  .../notmuch-new/01300-new-symlink-to-dir.test      |   10 ++\r
125  .../notmuch-new/01400-new-symlink-to-file.test     |    9 ++\r
126  .../tests/notmuch-new/01500-new-two-level-dir.test |    8 +\r
127  .../notmuch-new/01600-deleted-two-level-dir.test   |    7 +\r
128  test/tests/notmuch-new/99999-notmuch-new.setup     |    4 +\r
129  test/tests/notmuch-reply/00001-notmuch-reply.setup |    2 +\r
130  test/tests/notmuch-reply/00100-basic-reply.test    |   17 +++\r
131  .../notmuch-reply/00200-multiple-recipients.test   |   17 +++\r
132  test/tests/notmuch-reply/00300-reply-with-cc.test  |   19 +++\r
133  .../00400-reply-from-alternate-address.test        |   17 +++\r
134  .../notmuch-reply/00500-support-for-reply-to.test  |   18 +++\r
135  .../notmuch-reply/00600-unmunging-reply-to.test    |   18 +++\r
136  test/tests/notmuch-reply/99999-notmuch-reply.setup |    4 +\r
137  .../notmuch-search/00001-notmuch-search.setup      |  152 ++++++++++++++++=\r
138 ++++\r
139  test/tests/notmuch-search/00100-search-body.test   |    4 +\r
140  .../tests/notmuch-search/00200-search-by-from.test |    4 +\r
141  test/tests/notmuch-search/00300-search-by-to.test  |    4 +\r
142  .../notmuch-search/00400-search-by-subject.test    |    4 +\r
143  test/tests/notmuch-search/00500-search-by-id.test  |    4 +\r
144  test/tests/notmuch-search/00600-search-by-tag.test |    5 +\r
145  .../notmuch-search/00700-search-by-thread.test     |    5 +\r
146  .../notmuch-search/00800-search-body-phrase.test   |    5 +\r
147  .../00900-search-by-from-address.test              |    4 +\r
148  .../notmuch-search/01000-search-by-from-name.test  |    4 +\r
149  .../notmuch-search/01100-search-by-to-address.test |    4 +\r
150  .../notmuch-search/01200-search-by-to-name.test    |    4 +\r
151  .../01300-search-by-subject-phrase.test            |    5 +\r
152  .../01400-search-for-all-messages.test             |   19 +++\r
153  .../notmuch-search/01500-search-body-utf-8.test    |    4 +\r
154  .../notmuch-search/99999-notmuch-search.setup      |    4 +\r
155  .../00001-out-of-order-threading.setup             |    2 +\r
156  .../00100-addinitial-child-message.test            |    4 +\r
157  .../00200-searching-returns-message.test           |    3 +\r
158  .../00300-adding-second-child-message.test         |    4 +\r
159  .../00400-searching-returns-both-msgs.test         |    3 +\r
160  .../00500-adding-parent-msg.test                   |    4 +\r
161  .../00600-return-all-msgs-in-one-thread.test       |    3 +\r
162  .../99999-out-of-order-threading.setup             |    4 +\r
163  test/tests/thread-naming/00001-thread-naming.setup |   17 +++\r
164  ...00-initial-thread-name-oldest-first-search.test |    3 +\r
165  ...00-initial-thread-name-newest-first-search.test |    3 +\r
166  ...00-changed-thread-name-oldest-first-search.test |    6 +\r
167  ...00-changed-thread-name-newest-first-search.test |    3 +\r
168  .../00500-ignore-added-reply-prefix-re.test        |    6 +\r
169  .../00600-ignore-added-reply-prefix-aw.test        |    6 +\r
170  .../00700-ignore-added-reply-prefix-vs.test        |    6 +\r
171  .../00800-ignore-added-reply-prefix-sv.test        |    6 +\r
172  .../00900-test-order-of-messages-in-nm-show.test   |  114 +++++++++++++++\r
173  test/tests/thread-naming/99999-thread-naming.setup |    4 +\r
174  test/tests/uuencoded/00001-uuencoded.setup         |   19 +++\r
175  .../uuencoded/00100-index-content-before-uu.test   |    3 +\r
176  test/tests/uuencoded/00200-dont-index-uu-data.test |    3 +\r
177  .../tests/uuencoded/00300-index-data-after-uu.test |    3 +\r
178  test/tests/uuencoded/99999-uuencoded.setup         |    4 +\r
179  104 files changed, 1012 insertions(+), 0 deletions(-)\r
180  create mode 100644 test/tests/author-reordering/00001-author-reordering.se=\r
181 tup\r
182  create mode 100644 test/tests/author-reordering/00100-adding-parent-msg.te=\r
183 st\r
184  create mode 100644 test/tests/author-reordering/00200-adding-initial-child=\r
185 -message.test\r
186  create mode 100644 test/tests/author-reordering/00300-adding-second-child-=\r
187 msg.test\r
188  create mode 100644 test/tests/author-reordering/00400-search-all-msgs-matc=\r
189 h.test\r
190  create mode 100644 test/tests/author-reordering/00500-search-two-msgs-matc=\r
191 h.test\r
192  create mode 100644 test/tests/author-reordering/00600-search-one-msg-match=\r
193 es.test\r
194  create mode 100644 test/tests/author-reordering/00700-search-first-msg-mat=\r
195 ches.test\r
196  create mode 100644 test/tests/author-reordering/99999-author-reordering.se=\r
197 tup\r
198  create mode 100644 test/tests/from-guessing-multiple/00001-from-guessing-m=\r
199 ultiple.setup\r
200  create mode 100644 test/tests/from-guessing-multiple/00100-nothing-to-go-o=\r
201 n.test\r
202  create mode 100644 test/tests/from-guessing-multiple/00200-envelope-to.test\r
203  create mode 100644 test/tests/from-guessing-multiple/00300-x-original-to.t=\r
204 est\r
205  create mode 100644 test/tests/from-guessing-multiple/00400-received-for.te=\r
206 st\r
207  create mode 100644 test/tests/from-guessing-multiple/00500-received-doman.=\r
208 test\r
209  create mode 100644 test/tests/from-guessing-multiple/99999-from-guessing-m=\r
210 ultiple.setup\r
211  create mode 100644 test/tests/from-guessing-single/00001-from-guessing-sin=\r
212 gle.setup\r
213  create mode 100644 test/tests/from-guessing-single/00100-nothing-to-go-on.=\r
214 test\r
215  create mode 100644 test/tests/from-guessing-single/00200-envelope-to.test\r
216  create mode 100644 test/tests/from-guessing-single/00300-x-original-to.test\r
217  create mode 100644 test/tests/from-guessing-single/00400-received-for.test\r
218  create mode 100644 test/tests/from-guessing-single/00500-received-doman.te=\r
219 st\r
220  create mode 100644 test/tests/from-guessing-single/99999-from-guessing-sin=\r
221 gle.setup\r
222  create mode 100644 test/tests/json/00001-json.setup\r
223  create mode 100644 test/tests/json/00100-show-message-json.test\r
224  create mode 100644 test/tests/json/00200-search-message-json.test\r
225  create mode 100644 test/tests/json/00300-search-by-subject-utf8.test\r
226  create mode 100644 test/tests/json/00400-show-message-json-utf8.test\r
227  create mode 100644 test/tests/json/00500-search-message-json-utf8.test\r
228  create mode 100644 test/tests/json/99999-json.setup\r
229  create mode 100644 test/tests/notmuch-dump-restore/00001-notmuch-dump-rest=\r
230 ore.setup\r
231  create mode 100644 test/tests/notmuch-dump-restore/00100-dumping-all-tags.=\r
232 test\r
233  create mode 100644 test/tests/notmuch-dump-restore/00200-clearing-all-tags=\r
234 .test\r
235  create mode 100644 test/tests/notmuch-dump-restore/00300-restoring-origina=\r
236 l-tags.test\r
237  create mode 100644 test/tests/notmuch-dump-restore/00400-restore-with-noth=\r
238 ing.test\r
239  create mode 100644 test/tests/notmuch-dump-restore/99999-notmuch-dump-rest=\r
240 ore.setup\r
241  create mode 100644 test/tests/notmuch-new/00001-notmuch-new.setup\r
242  create mode 100644 test/tests/notmuch-new/00100-no-new-mail.test\r
243  create mode 100644 test/tests/notmuch-new/00200-one-new-message.test\r
244  create mode 100644 test/tests/notmuch-new/00300-multiple-new-messages.test\r
245  create mode 100644 test/tests/notmuch-new/00400-non-empty-db.test\r
246  create mode 100644 test/tests/notmuch-new/00500-new-directories.test\r
247  create mode 100644 test/tests/notmuch-new/00550-alternate-inode-order.test\r
248  create mode 100644 test/tests/notmuch-new/00600-message-moved.test\r
249  create mode 100644 test/tests/notmuch-new/00700-renamed-message.test\r
250  create mode 100644 test/tests/notmuch-new/00800-deleted-message.test\r
251  create mode 100644 test/tests/notmuch-new/00900-renamed-directory.test\r
252  create mode 100644 test/tests/notmuch-new/01000-deleted-directory.test\r
253  create mode 100644 test/tests/notmuch-new/01100-new-directory-end-list.test\r
254  create mode 100644 test/tests/notmuch-new/01200-deleted-directory-end-list=\r
255 .test\r
256  create mode 100644 test/tests/notmuch-new/01300-new-symlink-to-dir.test\r
257  create mode 100644 test/tests/notmuch-new/01400-new-symlink-to-file.test\r
258  create mode 100644 test/tests/notmuch-new/01500-new-two-level-dir.test\r
259  create mode 100644 test/tests/notmuch-new/01600-deleted-two-level-dir.test\r
260  create mode 100644 test/tests/notmuch-new/99999-notmuch-new.setup\r
261  create mode 100644 test/tests/notmuch-reply/00001-notmuch-reply.setup\r
262  create mode 100644 test/tests/notmuch-reply/00100-basic-reply.test\r
263  create mode 100644 test/tests/notmuch-reply/00200-multiple-recipients.test\r
264  create mode 100644 test/tests/notmuch-reply/00300-reply-with-cc.test\r
265  create mode 100644 test/tests/notmuch-reply/00400-reply-from-alternate-add=\r
266 ress.test\r
267  create mode 100644 test/tests/notmuch-reply/00500-support-for-reply-to.test\r
268  create mode 100644 test/tests/notmuch-reply/00600-unmunging-reply-to.test\r
269  create mode 100644 test/tests/notmuch-reply/99999-notmuch-reply.setup\r
270  create mode 100644 test/tests/notmuch-search/00001-notmuch-search.setup\r
271  create mode 100644 test/tests/notmuch-search/00100-search-body.test\r
272  create mode 100644 test/tests/notmuch-search/00200-search-by-from.test\r
273  create mode 100644 test/tests/notmuch-search/00300-search-by-to.test\r
274  create mode 100644 test/tests/notmuch-search/00400-search-by-subject.test\r
275  create mode 100644 test/tests/notmuch-search/00500-search-by-id.test\r
276  create mode 100644 test/tests/notmuch-search/00600-search-by-tag.test\r
277  create mode 100644 test/tests/notmuch-search/00700-search-by-thread.test\r
278  create mode 100644 test/tests/notmuch-search/00800-search-body-phrase.test\r
279  create mode 100644 test/tests/notmuch-search/00900-search-by-from-address.=\r
280 test\r
281  create mode 100644 test/tests/notmuch-search/01000-search-by-from-name.test\r
282  create mode 100644 test/tests/notmuch-search/01100-search-by-to-address.te=\r
283 st\r
284  create mode 100644 test/tests/notmuch-search/01200-search-by-to-name.test\r
285  create mode 100644 test/tests/notmuch-search/01300-search-by-subject-phras=\r
286 e.test\r
287  create mode 100644 test/tests/notmuch-search/01400-search-for-all-messages=\r
288 .test\r
289  create mode 100644 test/tests/notmuch-search/01500-search-body-utf-8.test\r
290  create mode 100644 test/tests/notmuch-search/99999-notmuch-search.setup\r
291  create mode 100644 test/tests/out-of-order-threading/00001-out-of-order-th=\r
292 reading.setup\r
293  create mode 100644 test/tests/out-of-order-threading/00100-addinitial-chil=\r
294 d-message.test\r
295  create mode 100644 test/tests/out-of-order-threading/00200-searching-retur=\r
296 ns-message.test\r
297  create mode 100644 test/tests/out-of-order-threading/00300-adding-second-c=\r
298 hild-message.test\r
299  create mode 100644 test/tests/out-of-order-threading/00400-searching-retur=\r
300 ns-both-msgs.test\r
301  create mode 100644 test/tests/out-of-order-threading/00500-adding-parent-m=\r
302 sg.test\r
303  create mode 100644 test/tests/out-of-order-threading/00600-return-all-msgs=\r
304 -in-one-thread.test\r
305  create mode 100644 test/tests/out-of-order-threading/99999-out-of-order-th=\r
306 reading.setup\r
307  create mode 100644 test/tests/thread-naming/00001-thread-naming.setup\r
308  create mode 100644 test/tests/thread-naming/00100-initial-thread-name-olde=\r
309 st-first-search.test\r
310  create mode 100644 test/tests/thread-naming/00200-initial-thread-name-newe=\r
311 st-first-search.test\r
312  create mode 100644 test/tests/thread-naming/00300-changed-thread-name-olde=\r
313 st-first-search.test\r
314  create mode 100644 test/tests/thread-naming/00400-changed-thread-name-newe=\r
315 st-first-search.test\r
316  create mode 100644 test/tests/thread-naming/00500-ignore-added-reply-prefi=\r
317 x-re.test\r
318  create mode 100644 test/tests/thread-naming/00600-ignore-added-reply-prefi=\r
319 x-aw.test\r
320  create mode 100644 test/tests/thread-naming/00700-ignore-added-reply-prefi=\r
321 x-vs.test\r
322  create mode 100644 test/tests/thread-naming/00800-ignore-added-reply-prefi=\r
323 x-sv.test\r
324  create mode 100644 test/tests/thread-naming/00900-test-order-of-messages-i=\r
325 n-nm-show.test\r
326  create mode 100644 test/tests/thread-naming/99999-thread-naming.setup\r
327  create mode 100644 test/tests/uuencoded/00001-uuencoded.setup\r
328  create mode 100644 test/tests/uuencoded/00100-index-content-before-uu.test\r
329  create mode 100644 test/tests/uuencoded/00200-dont-index-uu-data.test\r
330  create mode 100644 test/tests/uuencoded/00300-index-data-after-uu.test\r
331  create mode 100644 test/tests/uuencoded/99999-uuencoded.setup\r
332 \r
333 diff --git a/test/tests/author-reordering/00001-author-reordering.setup b/t=\r
334 est/tests/author-reordering/00001-author-reordering.setup\r
335 new file mode 100644\r
336 index 0000000..46046bb\r
337 --- /dev/null\r
338 +++ b/test/tests/author-reordering/00001-author-reordering.setup\r
339 @@ -0,0 +1,2 @@\r
340 +printf "\nTesting author reordering;\n"\r
341 +printf " Setting up...\n"\r
342 diff --git a/test/tests/author-reordering/00100-adding-parent-msg.test b/te=\r
343 st/tests/author-reordering/00100-adding-parent-msg.test\r
344 new file mode 100644\r
345 index 0000000..1cb6819\r
346 --- /dev/null\r
347 +++ b/test/tests/author-reordering/00100-adding-parent-msg.test\r
348 @@ -0,0 +1,4 @@\r
349 +printf " Adding parent message...\t\t\t"\r
350 +generate_message [body]=3Dfindme [id]=3Dnew-parent-id [subject]=3Dauthor-r=\r
351 eorder-threadtest '[from]=3D"User <user@example.com>"' '[date]=3D"Sat, 01 J=\r
352 an 2000 12:00:00 -0000"'\r
353 +output=3D$(NOTMUCH_NEW)\r
354 +pass_if_equal "$output" "Added 1 new message to the database."\r
355 diff --git a/test/tests/author-reordering/00200-adding-initial-child-messag=\r
356 e.test b/test/tests/author-reordering/00200-adding-initial-child-message.te=\r
357 st\r
358 new file mode 100644\r
359 index 0000000..193187b\r
360 --- /dev/null\r
361 +++ b/test/tests/author-reordering/00200-adding-initial-child-message.test\r
362 @@ -0,0 +1,4 @@\r
363 +printf " Adding initial child message...\t\t"\r
364 +generate_message [body]=3Dfindme '[in-reply-to]=3D\<new-parent-id\>' [subj=\r
365 ect]=3Dauthor-reorder-threadtest '[from]=3D"User1 <user1@example.com>"' '[d=\r
366 ate]=3D"Sat, 01 Jan 2000 12:00:00 -0000"'\r
367 +output=3D$(NOTMUCH_NEW)\r
368 +pass_if_equal "$output" "Added 1 new message to the database."\r
369 diff --git a/test/tests/author-reordering/00300-adding-second-child-msg.tes=\r
370 t b/test/tests/author-reordering/00300-adding-second-child-msg.test\r
371 new file mode 100644\r
372 index 0000000..e470776\r
373 --- /dev/null\r
374 +++ b/test/tests/author-reordering/00300-adding-second-child-msg.test\r
375 @@ -0,0 +1,4 @@\r
376 +printf " Adding second child message...\t\t\t"\r
377 +generate_message [body]=3Dfindme '[in-reply-to]=3D\<new-parent-id\>' [subj=\r
378 ect]=3Dauthor-reorder-threadtest '[from]=3D"User2 <user2@example.com>"' '[d=\r
379 ate]=3D"Sat, 01 Jan 2000 12:00:00 -0000"'\r
380 +output=3D$(NOTMUCH_NEW)\r
381 +pass_if_equal "$output" "Added 1 new message to the database."\r
382 diff --git a/test/tests/author-reordering/00400-search-all-msgs-match.test =\r
383 b/test/tests/author-reordering/00400-search-all-msgs-match.test\r
384 new file mode 100644\r
385 index 0000000..b21af06\r
386 --- /dev/null\r
387 +++ b/test/tests/author-reordering/00400-search-all-msgs-match.test\r
388 @@ -0,0 +1,3 @@\r
389 +printf " Searching when all three messages match...\t"\r
390 +output=3D$($NOTMUCH search findme | notmuch_search_sanitize)\r
391 +pass_if_equal "$output" "thread:XXX   2000-01-01 [3/3] User, User1, User2;=\r
392  author-reorder-threadtest (inbox unread)"\r
393 diff --git a/test/tests/author-reordering/00500-search-two-msgs-match.test =\r
394 b/test/tests/author-reordering/00500-search-two-msgs-match.test\r
395 new file mode 100644\r
396 index 0000000..b879411\r
397 --- /dev/null\r
398 +++ b/test/tests/author-reordering/00500-search-two-msgs-match.test\r
399 @@ -0,0 +1,3 @@\r
400 +printf " Searching when two messages match...\t\t"\r
401 +output=3D$($NOTMUCH search User1 or User2 | notmuch_search_sanitize)\r
402 +pass_if_equal "$output" "thread:XXX   2000-01-01 [2/3] User1, User2| User;=\r
403  author-reorder-threadtest (inbox unread)"\r
404 diff --git a/test/tests/author-reordering/00600-search-one-msg-matches.test=\r
405  b/test/tests/author-reordering/00600-search-one-msg-matches.test\r
406 new file mode 100644\r
407 index 0000000..998cb87\r
408 --- /dev/null\r
409 +++ b/test/tests/author-reordering/00600-search-one-msg-matches.test\r
410 @@ -0,0 +1,3 @@\r
411 +printf " Searching when only one message matches...\t"\r
412 +output=3D$($NOTMUCH search User2 | notmuch_search_sanitize)\r
413 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/3] User2| User, User1;=\r
414  author-reorder-threadtest (inbox unread)"\r
415 diff --git a/test/tests/author-reordering/00700-search-first-msg-matches.te=\r
416 st b/test/tests/author-reordering/00700-search-first-msg-matches.test\r
417 new file mode 100644\r
418 index 0000000..cbabdce\r
419 --- /dev/null\r
420 +++ b/test/tests/author-reordering/00700-search-first-msg-matches.test\r
421 @@ -0,0 +1,3 @@\r
422 +printf " Searching when only first message matches...\t"\r
423 +output=3D$($NOTMUCH search User | notmuch_search_sanitize)\r
424 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/3] User| User1, User2;=\r
425  author-reorder-threadtest (inbox unread)"\r
426 diff --git a/test/tests/author-reordering/99999-author-reordering.setup b/t=\r
427 est/tests/author-reordering/99999-author-reordering.setup\r
428 new file mode 100644\r
429 index 0000000..ce00cfc\r
430 --- /dev/null\r
431 +++ b/test/tests/author-reordering/99999-author-reordering.setup\r
432 @@ -0,0 +1,4 @@\r
433 +printf " Cleaning up...\n"\r
434 +\r
435 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
436 +$NOTMUCH new > /dev/null\r
437 diff --git a/test/tests/from-guessing-multiple/00001-from-guessing-multiple=\r
438 .setup b/test/tests/from-guessing-multiple/00001-from-guessing-multiple.set=\r
439 up\r
440 new file mode 100644\r
441 index 0000000..f7fb7b2\r
442 --- /dev/null\r
443 +++ b/test/tests/from-guessing-multiple/00001-from-guessing-multiple.setup\r
444 @@ -0,0 +1,2 @@\r
445 +printf "\nTesting From line heuristics (with multiple configured addresses=\r
446 ):\n"\r
447 +printf " Setting up...\n"\r
448 diff --git a/test/tests/from-guessing-multiple/00100-nothing-to-go-on.test =\r
449 b/test/tests/from-guessing-multiple/00100-nothing-to-go-on.test\r
450 new file mode 100644\r
451 index 0000000..e266127\r
452 --- /dev/null\r
453 +++ b/test/tests/from-guessing-multiple/00100-nothing-to-go-on.test\r
454 @@ -0,0 +1,17 @@\r
455 +printf " Magic from guessing (nothing to go on)...\t"\r
456 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
457 +             [to]=3Dmailinglist@notmuchmail.org \\r
458 +             [subject]=3Dnotmuch-reply-test \\r
459 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
460 +            '[body]=3D"from guessing test"'\r
461 +\r
462 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
463 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.=\r
464 org>\r
465 +Subject: Re: notmuch-reply-test\r
466 +To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
467 +Bcc: test_suite@notmuchmail.org\r
468 +In-Reply-To: <${gen_msg_id}>\r
469 +References: <${gen_msg_id}>\r
470 +\r
471 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
472 +> from guessing test"\r
473 diff --git a/test/tests/from-guessing-multiple/00200-envelope-to.test b/tes=\r
474 t/tests/from-guessing-multiple/00200-envelope-to.test\r
475 new file mode 100644\r
476 index 0000000..745eef1\r
477 --- /dev/null\r
478 +++ b/test/tests/from-guessing-multiple/00200-envelope-to.test\r
479 @@ -0,0 +1,18 @@\r
480 +printf " Magic from guessing (Envelope-to:)...\t\t"\r
481 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
482 +             [to]=3Dmailinglist@notmuchmail.org \\r
483 +             [subject]=3Dnotmuch-reply-test \\r
484 +            '[header]=3D"Envelope-To: test_suite_other@notmuchmail.org"' \\r
485 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
486 +            '[body]=3D"from guessing test"'\r
487 +\r
488 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
489 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuc=\r
490 hmail.org>\r
491 +Subject: Re: notmuch-reply-test\r
492 +To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
493 +Bcc: test_suite@notmuchmail.org\r
494 +In-Reply-To: <${gen_msg_id}>\r
495 +References: <${gen_msg_id}>\r
496 +\r
497 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
498 +> from guessing test"\r
499 diff --git a/test/tests/from-guessing-multiple/00300-x-original-to.test b/t=\r
500 est/tests/from-guessing-multiple/00300-x-original-to.test\r
501 new file mode 100644\r
502 index 0000000..af1baa8\r
503 --- /dev/null\r
504 +++ b/test/tests/from-guessing-multiple/00300-x-original-to.test\r
505 @@ -0,0 +1,18 @@\r
506 +printf " Magic from guessing (X-Original-To:)...\t"\r
507 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
508 +             [to]=3Dmailinglist@notmuchmail.org \\r
509 +             [subject]=3Dnotmuch-reply-test \\r
510 +            '[header]=3D"X-Original-To: test_suite_other@notmuchmail.org"'=\r
511  \\r
512 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
513 +            '[body]=3D"from guessing test"'\r
514 +\r
515 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
516 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuc=\r
517 hmail.org>\r
518 +Subject: Re: notmuch-reply-test\r
519 +To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
520 +Bcc: test_suite@notmuchmail.org\r
521 +In-Reply-To: <${gen_msg_id}>\r
522 +References: <${gen_msg_id}>\r
523 +\r
524 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
525 +> from guessing test"\r
526 diff --git a/test/tests/from-guessing-multiple/00400-received-for.test b/te=\r
527 st/tests/from-guessing-multiple/00400-received-for.test\r
528 new file mode 100644\r
529 index 0000000..c02f8fa\r
530 --- /dev/null\r
531 +++ b/test/tests/from-guessing-multiple/00400-received-for.test\r
532 @@ -0,0 +1,20 @@\r
533 +printf " Magic from guessing (Received: .. for ..)...\t"\r
534 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
535 +             [to]=3Dmailinglist@notmuchmail.org \\r
536 +             [subject]=3Dnotmuch-reply-test \\r
537 +            '[header]=3D"Received: from mail.example.com (mail.example.com=\r
538  [1.1.1.1])\\r
539 +        by mail.notmuchmail.org (some MTA) with ESMTP id 12345678\\r
540 +        for <test_suite_other@notmuchmail.org>; Sat, 10 Apr 2010 07:54:51 =\r
541 -0400 (EDT)"' \\r
542 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
543 +            '[body]=3D"from guessing test"'\r
544 +\r
545 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
546 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuc=\r
547 hmail.org>\r
548 +Subject: Re: notmuch-reply-test\r
549 +To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
550 +Bcc: test_suite@notmuchmail.org\r
551 +In-Reply-To: <${gen_msg_id}>\r
552 +References: <${gen_msg_id}>\r
553 +\r
554 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
555 +> from guessing test"\r
556 diff --git a/test/tests/from-guessing-multiple/00500-received-doman.test b/=\r
557 test/tests/from-guessing-multiple/00500-received-doman.test\r
558 new file mode 100644\r
559 index 0000000..f0c0abd\r
560 --- /dev/null\r
561 +++ b/test/tests/from-guessing-multiple/00500-received-doman.test\r
562 @@ -0,0 +1,20 @@\r
563 +printf " Magic from guessing (Received: domain)...\t"\r
564 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
565 +             [to]=3Dmailinglist@notmuchmail.org \\r
566 +             [subject]=3Dnotmuch-reply-test \\r
567 +            '[header]=3D"Received: from mail.example.com (mail.example.com=\r
568  [1.1.1.1])\\r
569 +        by mail.otherdomain.org (some MTA) with ESMTP id 12345678\\r
570 +        Sat, 10 Apr 2010 07:54:51 -0400 (EDT)"' \\r
571 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
572 +            '[body]=3D"from guessing test"'\r
573 +\r
574 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
575 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite@otherdomain.=\r
576 org>\r
577 +Subject: Re: notmuch-reply-test\r
578 +To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
579 +Bcc: test_suite@notmuchmail.org\r
580 +In-Reply-To: <${gen_msg_id}>\r
581 +References: <${gen_msg_id}>\r
582 +\r
583 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
584 +> from guessing test"\r
585 diff --git a/test/tests/from-guessing-multiple/99999-from-guessing-multiple=\r
586 .setup b/test/tests/from-guessing-multiple/99999-from-guessing-multiple.set=\r
587 up\r
588 new file mode 100644\r
589 index 0000000..ce00cfc\r
590 --- /dev/null\r
591 +++ b/test/tests/from-guessing-multiple/99999-from-guessing-multiple.setup\r
592 @@ -0,0 +1,4 @@\r
593 +printf " Cleaning up...\n"\r
594 +\r
595 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
596 +$NOTMUCH new > /dev/null\r
597 diff --git a/test/tests/from-guessing-single/00001-from-guessing-single.set=\r
598 up b/test/tests/from-guessing-single/00001-from-guessing-single.setup\r
599 new file mode 100644\r
600 index 0000000..a8ac5b5\r
601 --- /dev/null\r
602 +++ b/test/tests/from-guessing-single/00001-from-guessing-single.setup\r
603 @@ -0,0 +1,4 @@\r
604 +printf "\nTesting From line heuristics (with single configured address):\n"\r
605 +printf " Setting up...\n"\r
606 +\r
607 +sed -i -e 's/^other_email.*//' ${NOTMUCH_CONFIG}\r
608 diff --git a/test/tests/from-guessing-single/00100-nothing-to-go-on.test b/=\r
609 test/tests/from-guessing-single/00100-nothing-to-go-on.test\r
610 new file mode 100644\r
611 index 0000000..e266127\r
612 --- /dev/null\r
613 +++ b/test/tests/from-guessing-single/00100-nothing-to-go-on.test\r
614 @@ -0,0 +1,17 @@\r
615 +printf " Magic from guessing (nothing to go on)...\t"\r
616 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
617 +             [to]=3Dmailinglist@notmuchmail.org \\r
618 +             [subject]=3Dnotmuch-reply-test \\r
619 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
620 +            '[body]=3D"from guessing test"'\r
621 +\r
622 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
623 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.=\r
624 org>\r
625 +Subject: Re: notmuch-reply-test\r
626 +To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
627 +Bcc: test_suite@notmuchmail.org\r
628 +In-Reply-To: <${gen_msg_id}>\r
629 +References: <${gen_msg_id}>\r
630 +\r
631 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
632 +> from guessing test"\r
633 diff --git a/test/tests/from-guessing-single/00200-envelope-to.test b/test/=\r
634 tests/from-guessing-single/00200-envelope-to.test\r
635 new file mode 100644\r
636 index 0000000..2c3f375\r
637 --- /dev/null\r
638 +++ b/test/tests/from-guessing-single/00200-envelope-to.test\r
639 @@ -0,0 +1,18 @@\r
640 +printf " Magic from guessing (Envelope-to:)...\t\t"\r
641 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
642 +             [to]=3Dmailinglist@notmuchmail.org \\r
643 +             [subject]=3Dnotmuch-reply-test \\r
644 +            '[header]=3D"Envelope-To: test_suite_other@notmuchmail.org"' \\r
645 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
646 +            '[body]=3D"from guessing test"'\r
647 +\r
648 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
649 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.=\r
650 org>\r
651 +Subject: Re: notmuch-reply-test\r
652 +To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
653 +Bcc: test_suite@notmuchmail.org\r
654 +In-Reply-To: <${gen_msg_id}>\r
655 +References: <${gen_msg_id}>\r
656 +\r
657 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
658 +> from guessing test"\r
659 diff --git a/test/tests/from-guessing-single/00300-x-original-to.test b/tes=\r
660 t/tests/from-guessing-single/00300-x-original-to.test\r
661 new file mode 100644\r
662 index 0000000..29906ac\r
663 --- /dev/null\r
664 +++ b/test/tests/from-guessing-single/00300-x-original-to.test\r
665 @@ -0,0 +1,18 @@\r
666 +printf " Magic from guessing (X-Original-To:)...\t"\r
667 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
668 +             [to]=3Dmailinglist@notmuchmail.org \\r
669 +             [subject]=3Dnotmuch-reply-test \\r
670 +            '[header]=3D"X-Original-To: test_suite_other@notmuchmail.org"'=\r
671  \\r
672 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
673 +            '[body]=3D"from guessing test"'\r
674 +\r
675 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
676 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.=\r
677 org>\r
678 +Subject: Re: notmuch-reply-test\r
679 +To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
680 +Bcc: test_suite@notmuchmail.org\r
681 +In-Reply-To: <${gen_msg_id}>\r
682 +References: <${gen_msg_id}>\r
683 +\r
684 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
685 +> from guessing test"\r
686 diff --git a/test/tests/from-guessing-single/00400-received-for.test b/test=\r
687 /tests/from-guessing-single/00400-received-for.test\r
688 new file mode 100644\r
689 index 0000000..7fc4748\r
690 --- /dev/null\r
691 +++ b/test/tests/from-guessing-single/00400-received-for.test\r
692 @@ -0,0 +1,20 @@\r
693 +printf " Magic from guessing (Received: .. for ..)...\t"\r
694 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
695 +             [to]=3Dmailinglist@notmuchmail.org \\r
696 +             [subject]=3Dnotmuch-reply-test \\r
697 +            '[header]=3D"Received: from mail.example.com (mail.example.com=\r
698  [1.1.1.1])\\r
699 +        by mail.notmuchmail.org (some MTA) with ESMTP id 12345678\\r
700 +        for <test_suite_other@notmuchmail.org>; Sat, 10 Apr 2010 07:54:51 =\r
701 -0400 (EDT)"' \\r
702 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
703 +            '[body]=3D"from guessing test"'\r
704 +\r
705 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
706 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.=\r
707 org>\r
708 +Subject: Re: notmuch-reply-test\r
709 +To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
710 +Bcc: test_suite@notmuchmail.org\r
711 +In-Reply-To: <${gen_msg_id}>\r
712 +References: <${gen_msg_id}>\r
713 +\r
714 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
715 +> from guessing test"\r
716 diff --git a/test/tests/from-guessing-single/00500-received-doman.test b/te=\r
717 st/tests/from-guessing-single/00500-received-doman.test\r
718 new file mode 100644\r
719 index 0000000..bcd70f6\r
720 --- /dev/null\r
721 +++ b/test/tests/from-guessing-single/00500-received-doman.test\r
722 @@ -0,0 +1,20 @@\r
723 +printf " Magic from guessing (Received: domain)...\t"\r
724 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
725 +             [to]=3Dmailinglist@notmuchmail.org \\r
726 +             [subject]=3Dnotmuch-reply-test \\r
727 +            '[header]=3D"Received: from mail.example.com (mail.example.com=\r
728  [1.1.1.1])\\r
729 +        by mail.otherdomain.org (some MTA) with ESMTP id 12345678\\r
730 +        Sat, 10 Apr 2010 07:54:51 -0400 (EDT)"' \\r
731 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
732 +            '[body]=3D"from guessing test"'\r
733 +\r
734 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
735 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.=\r
736 org>\r
737 +Subject: Re: notmuch-reply-test\r
738 +To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
739 +Bcc: test_suite@notmuchmail.org\r
740 +In-Reply-To: <${gen_msg_id}>\r
741 +References: <${gen_msg_id}>\r
742 +\r
743 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
744 +> from guessing test"\r
745 diff --git a/test/tests/from-guessing-single/99999-from-guessing-single.set=\r
746 up b/test/tests/from-guessing-single/99999-from-guessing-single.setup\r
747 new file mode 100644\r
748 index 0000000..1401d0a\r
749 --- /dev/null\r
750 +++ b/test/tests/from-guessing-single/99999-from-guessing-single.setup\r
751 @@ -0,0 +1,14 @@\r
752 +printf " Cleaning up...\n"\r
753 +\r
754 +cat <<EOF > ${NOTMUCH_CONFIG}\r
755 +[database]\r
756 +path=3D${MAIL_DIR}\r
757 +\r
758 +[user]\r
759 +name=3DNotmuch Test Suite\r
760 +primary_email=3Dtest_suite@notmuchmail.org\r
761 +other_email=3Dtest_suite_other@notmuchmail.org;test_suite@otherdomain.org\r
762 +EOF\r
763 +\r
764 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
765 +$NOTMUCH new > /dev/null\r
766 diff --git a/test/tests/json/00001-json.setup b/test/tests/json/00001-json.=\r
767 setup\r
768 new file mode 100644\r
769 index 0000000..936fb03\r
770 --- /dev/null\r
771 +++ b/test/tests/json/00001-json.setup\r
772 @@ -0,0 +1,2 @@\r
773 +printf "\nTesting --format=3Djson output:\n"\r
774 +printf " Setting up...\n"\r
775 diff --git a/test/tests/json/00100-show-message-json.test b/test/tests/json=\r
776 /00100-show-message-json.test\r
777 new file mode 100644\r
778 index 0000000..cc6f98c\r
779 --- /dev/null\r
780 +++ b/test/tests/json/00100-show-message-json.test\r
781 @@ -0,0 +1,4 @@\r
782 +printf " Show message: json...\t\t\t\t"\r
783 +add_message '[subject]=3D"json-show-subject"' '[date]=3D"Sat, 01 Jan 2000 =\r
784 12:00:00 -0000"' '[body]=3D"json-show-message"'\r
785 +output=3D$($NOTMUCH show --format=3Djson 'json-show-message')\r
786 +pass_if_equal "$output" '[[[{"id": "'${gen_msg_id}'", "match": true, "file=\r
787 name": "'${gen_msg_filename}'", "timestamp": 946728000, "date_relative": "2=\r
788 000-01-01", "tags": ["inbox","unread"], "headers": {"Subject": "json-show-s=\r
789 ubject", "From": "Notmuch Test Suite <test_suite@notmuchmail.org>", "To": "=\r
790 Notmuch Test Suite <test_suite@notmuchmail.org>", "Cc": "", "Bcc": "", "Dat=\r
791 e": "Sat, 01 Jan 2000 12:00:00 -0000"}, "body": [{"id": 1, "content-type": =\r
792 "text/plain", "content": "json-show-message\n"}]}, []]]]'\r
793 diff --git a/test/tests/json/00200-search-message-json.test b/test/tests/js=\r
794 on/00200-search-message-json.test\r
795 new file mode 100644\r
796 index 0000000..5a30415\r
797 --- /dev/null\r
798 +++ b/test/tests/json/00200-search-message-json.test\r
799 @@ -0,0 +1,10 @@\r
800 +printf " Search message: json...\t\t\t"\r
801 +add_message '[subject]=3D"json-search-subject"' '[date]=3D"Sat, 01 Jan 200=\r
802 0 12:00:00 -0000"' '[body]=3D"json-search-message"'\r
803 +output=3D$($NOTMUCH search --format=3Djson 'json-search-message' | notmuch=\r
804 _search_sanitize)\r
805 +pass_if_equal "$output" '[{"thread": "XXX",\r
806 +"timestamp": 946728000,\r
807 +"matched": 1,\r
808 +"total": 1,\r
809 +"authors": "Notmuch Test Suite",\r
810 +"subject": "json-search-subject",\r
811 +"tags": ["inbox", "unread"]}]'\r
812 diff --git a/test/tests/json/00300-search-by-subject-utf8.test b/test/tests=\r
813 /json/00300-search-by-subject-utf8.test\r
814 new file mode 100644\r
815 index 0000000..27fbb7d\r
816 --- /dev/null\r
817 +++ b/test/tests/json/00300-search-by-subject-utf8.test\r
818 @@ -0,0 +1,4 @@\r
819 +printf " Search by subject (utf-8):...\t\t\t"\r
820 +add_message [subject]=3Dutf8-s=C3=BCbj=C3=A9ct '[date]=3D"Sat, 01 Jan 2000=\r
821  12:00:00 -0000"'\r
822 +output=3D$($NOTMUCH search subject:utf8-s=C3=BCbj=C3=A9ct | notmuch_search=\r
823 _sanitize)\r
824 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
825  utf8-s=C3=BCbj=C3=A9ct (inbox unread)"\r
826 diff --git a/test/tests/json/00400-show-message-json-utf8.test b/test/tests=\r
827 /json/00400-show-message-json-utf8.test\r
828 new file mode 100644\r
829 index 0000000..d90f24c\r
830 --- /dev/null\r
831 +++ b/test/tests/json/00400-show-message-json-utf8.test\r
832 @@ -0,0 +1,4 @@\r
833 +printf " Show message: json, utf-8...\t\t\t"\r
834 +add_message '[subject]=3D"json-show-utf8-body-s=C3=BCbj=C3=A9ct"' '[date]=\r
835 =3D"Sat, 01 Jan 2000 12:00:00 -0000"' '[body]=3D"js=C3=B6n-show-m=C3=A9ssag=\r
836 e"'\r
837 +output=3D$($NOTMUCH show --format=3Djson 'js=C3=B6n-show-m=C3=A9ssage')\r
838 +pass_if_equal "$output" '[[[{"id": "'${gen_msg_id}'", "match": true, "file=\r
839 name": "'${gen_msg_filename}'", "timestamp": 946728000, "date_relative": "2=\r
840 000-01-01", "tags": ["inbox","unread"], "headers": {"Subject": "json-show-u=\r
841 tf8-body-s=C3=BCbj=C3=A9ct", "From": "Notmuch Test Suite <test_suite@notmuc=\r
842 hmail.org>", "To": "Notmuch Test Suite <test_suite@notmuchmail.org>", "Cc":=\r
843  "", "Bcc": "", "Date": "Sat, 01 Jan 2000 12:00:00 -0000"}, "body": [{"id":=\r
844  1, "content-type": "text/plain", "content": "js=C3=B6n-show-m=C3=A9ssage\n=\r
845 "}]}, []]]]'\r
846 diff --git a/test/tests/json/00500-search-message-json-utf8.test b/test/tes=\r
847 ts/json/00500-search-message-json-utf8.test\r
848 new file mode 100644\r
849 index 0000000..50a9de7\r
850 --- /dev/null\r
851 +++ b/test/tests/json/00500-search-message-json-utf8.test\r
852 @@ -0,0 +1,10 @@\r
853 +printf " Search message: json, utf-8...\t\t\t"\r
854 +add_message '[subject]=3D"json-search-utf8-body-s=C3=BCbj=C3=A9ct"' '[date=\r
855 ]=3D"Sat, 01 Jan 2000 12:00:00 -0000"' '[body]=3D"js=C3=B6n-search-m=C3=A9s=\r
856 sage"'\r
857 +output=3D$($NOTMUCH search --format=3Djson 'js=C3=B6n-search-m=C3=A9ssage'=\r
858  | notmuch_search_sanitize)\r
859 +pass_if_equal "$output" '[{"thread": "XXX",\r
860 +"timestamp": 946728000,\r
861 +"matched": 1,\r
862 +"total": 1,\r
863 +"authors": "Notmuch Test Suite",\r
864 +"subject": "json-search-utf8-body-s=C3=BCbj=C3=A9ct",\r
865 +"tags": ["inbox", "unread"]}]'\r
866 diff --git a/test/tests/json/99999-json.setup b/test/tests/json/99999-json.=\r
867 setup\r
868 new file mode 100644\r
869 index 0000000..ce00cfc\r
870 --- /dev/null\r
871 +++ b/test/tests/json/99999-json.setup\r
872 @@ -0,0 +1,4 @@\r
873 +printf " Cleaning up...\n"\r
874 +\r
875 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
876 +$NOTMUCH new > /dev/null\r
877 diff --git a/test/tests/notmuch-dump-restore/00001-notmuch-dump-restore.set=\r
878 up b/test/tests/notmuch-dump-restore/00001-notmuch-dump-restore.setup\r
879 new file mode 100644\r
880 index 0000000..be0e7fc\r
881 --- /dev/null\r
882 +++ b/test/tests/notmuch-dump-restore/00001-notmuch-dump-restore.setup\r
883 @@ -0,0 +1,2 @@\r
884 +printf "\nTesting \"notmuch dump\" and \"notmuch restore\":\n"\r
885 +printf " Setting up...\n"\r
886 diff --git a/test/tests/notmuch-dump-restore/00100-dumping-all-tags.test b/=\r
887 test/tests/notmuch-dump-restore/00100-dumping-all-tags.test\r
888 new file mode 100644\r
889 index 0000000..2869aee\r
890 --- /dev/null\r
891 +++ b/test/tests/notmuch-dump-restore/00100-dumping-all-tags.test\r
892 @@ -0,0 +1,3 @@\r
893 +printf " Dumping all tags...\t\t\t\t"\r
894 +$NOTMUCH dump dump.expected\r
895 +pass_if_equal "$?" "0"\r
896 diff --git a/test/tests/notmuch-dump-restore/00200-clearing-all-tags.test b=\r
897 /test/tests/notmuch-dump-restore/00200-clearing-all-tags.test\r
898 new file mode 100644\r
899 index 0000000..bb6b4f3\r
900 --- /dev/null\r
901 +++ b/test/tests/notmuch-dump-restore/00200-clearing-all-tags.test\r
902 @@ -0,0 +1,5 @@\r
903 +printf " Clearing all tags...\t\t\t\t"\r
904 +sed -e 's/(\([^(]*\))$/()/' < dump.expected > clear.expected\r
905 +$NOTMUCH restore clear.expected\r
906 +$NOTMUCH dump clear.actual\r
907 +pass_if_equal "$(< clear.actual)" "$(< clear.expected)"\r
908 diff --git a/test/tests/notmuch-dump-restore/00300-restoring-original-tags.=\r
909 test b/test/tests/notmuch-dump-restore/00300-restoring-original-tags.test\r
910 new file mode 100644\r
911 index 0000000..79702ad\r
912 --- /dev/null\r
913 +++ b/test/tests/notmuch-dump-restore/00300-restoring-original-tags.test\r
914 @@ -0,0 +1,4 @@\r
915 +printf " Restoring original tags...\t\t\t"\r
916 +$NOTMUCH restore dump.expected\r
917 +$NOTMUCH dump dump.actual\r
918 +pass_if_equal "$(< dump.actual)" "$(< dump.expected)"\r
919 diff --git a/test/tests/notmuch-dump-restore/00400-restore-with-nothing.tes=\r
920 t b/test/tests/notmuch-dump-restore/00400-restore-with-nothing.test\r
921 new file mode 100644\r
922 index 0000000..536a0eb\r
923 --- /dev/null\r
924 +++ b/test/tests/notmuch-dump-restore/00400-restore-with-nothing.test\r
925 @@ -0,0 +1,3 @@\r
926 +printf " Restore with nothing to do...\t\t\t"\r
927 +$NOTMUCH restore dump.expected\r
928 +pass_if_equal "$?" "0"\r
929 diff --git a/test/tests/notmuch-dump-restore/99999-notmuch-dump-restore.set=\r
930 up b/test/tests/notmuch-dump-restore/99999-notmuch-dump-restore.setup\r
931 new file mode 100644\r
932 index 0000000..ce00cfc\r
933 --- /dev/null\r
934 +++ b/test/tests/notmuch-dump-restore/99999-notmuch-dump-restore.setup\r
935 @@ -0,0 +1,4 @@\r
936 +printf " Cleaning up...\n"\r
937 +\r
938 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
939 +$NOTMUCH new > /dev/null\r
940 diff --git a/test/tests/notmuch-new/00001-notmuch-new.setup b/test/tests/no=\r
941 tmuch-new/00001-notmuch-new.setup\r
942 new file mode 100644\r
943 index 0000000..9415160\r
944 --- /dev/null\r
945 +++ b/test/tests/notmuch-new/00001-notmuch-new.setup\r
946 @@ -0,0 +1,2 @@\r
947 +printf "Testing \"notmuch new\" in several variations:\n"\r
948 +printf " Setting up...\n"\r
949 diff --git a/test/tests/notmuch-new/00100-no-new-mail.test b/test/tests/not=\r
950 much-new/00100-no-new-mail.test\r
951 new file mode 100644\r
952 index 0000000..e7c646d\r
953 --- /dev/null\r
954 +++ b/test/tests/notmuch-new/00100-no-new-mail.test\r
955 @@ -0,0 +1,3 @@\r
956 +printf " No new messages...\t\t\t\t"\r
957 +output=3D$(NOTMUCH_NEW)\r
958 +pass_if_equal "$output" "No new mail."\r
959 diff --git a/test/tests/notmuch-new/00200-one-new-message.test b/test/tests=\r
960 /notmuch-new/00200-one-new-message.test\r
961 new file mode 100644\r
962 index 0000000..6a0af76\r
963 --- /dev/null\r
964 +++ b/test/tests/notmuch-new/00200-one-new-message.test\r
965 @@ -0,0 +1,4 @@\r
966 +printf " Single new message...\t\t\t\t"\r
967 +generate_message\r
968 +output=3D$(NOTMUCH_NEW)\r
969 +pass_if_equal "$output" "Added 1 new message to the database."\r
970 diff --git a/test/tests/notmuch-new/00300-multiple-new-messages.test b/test=\r
971 /tests/notmuch-new/00300-multiple-new-messages.test\r
972 new file mode 100644\r
973 index 0000000..f13bf19\r
974 --- /dev/null\r
975 +++ b/test/tests/notmuch-new/00300-multiple-new-messages.test\r
976 @@ -0,0 +1,5 @@\r
977 +printf " Multiple new messages...\t\t\t"\r
978 +generate_message\r
979 +generate_message\r
980 +output=3D$(NOTMUCH_NEW)\r
981 +pass_if_equal "$output" "Added 2 new messages to the database."\r
982 diff --git a/test/tests/notmuch-new/00400-non-empty-db.test b/test/tests/no=\r
983 tmuch-new/00400-non-empty-db.test\r
984 new file mode 100644\r
985 index 0000000..92b2fb8\r
986 --- /dev/null\r
987 +++ b/test/tests/notmuch-new/00400-non-empty-db.test\r
988 @@ -0,0 +1,3 @@\r
989 +printf " No new messages (non-empty DB)...\t\t"\r
990 +output=3D$(NOTMUCH_NEW)\r
991 +pass_if_equal "$output" "No new mail."\r
992 diff --git a/test/tests/notmuch-new/00500-new-directories.test b/test/tests=\r
993 /notmuch-new/00500-new-directories.test\r
994 new file mode 100644\r
995 index 0000000..c123c8f\r
996 --- /dev/null\r
997 +++ b/test/tests/notmuch-new/00500-new-directories.test\r
998 @@ -0,0 +1,8 @@\r
999 +printf " New directories...\t\t\t\t"\r
1000 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
1001 +mkdir ${MAIL_DIR}/def\r
1002 +mkdir ${MAIL_DIR}/ghi\r
1003 +generate_message [dir]=3Ddef\r
1004 +\r
1005 +output=3D$(NOTMUCH_NEW)\r
1006 +pass_if_equal "$output" "Added 1 new message to the database."\r
1007 diff --git a/test/tests/notmuch-new/00550-alternate-inode-order.test b/test=\r
1008 /tests/notmuch-new/00550-alternate-inode-order.test\r
1009 new file mode 100644\r
1010 index 0000000..448fcdf\r
1011 --- /dev/null\r
1012 +++ b/test/tests/notmuch-new/00550-alternate-inode-order.test\r
1013 @@ -0,0 +1,9 @@\r
1014 +printf " Alternate inode order...\t\t\t"\r
1015 +\r
1016 +rm -rf ${MAIL_DIR}/.notmuch\r
1017 +mv ${MAIL_DIR}/ghi ${MAIL_DIR}/abc\r
1018 +rm ${MAIL_DIR}/def/*\r
1019 +generate_message [dir]=3Dabc\r
1020 +\r
1021 +output=3D$(NOTMUCH_NEW)\r
1022 +pass_if_equal "$output" "Added 1 new message to the database."\r
1023 diff --git a/test/tests/notmuch-new/00600-message-moved.test b/test/tests/n=\r
1024 otmuch-new/00600-message-moved.test\r
1025 new file mode 100644\r
1026 index 0000000..5bae2af\r
1027 --- /dev/null\r
1028 +++ b/test/tests/notmuch-new/00600-message-moved.test\r
1029 @@ -0,0 +1,12 @@\r
1030 +printf " Message moved in...\t\t\t\t"\r
1031 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
1032 +generate_message\r
1033 +tmp_msg_filename=3Dtmp/$gen_msg_filename\r
1034 +mkdir -p $(dirname $tmp_msg_filename)\r
1035 +mv $gen_msg_filename $tmp_msg_filename\r
1036 +increment_mtime ${MAIL_DIR}\r
1037 +$NOTMUCH new > /dev/null\r
1038 +mv $tmp_msg_filename $gen_msg_filename\r
1039 +increment_mtime ${MAIL_DIR}\r
1040 +output=3D$(NOTMUCH_NEW)\r
1041 +pass_if_equal "$output" "Added 1 new message to the database."\r
1042 diff --git a/test/tests/notmuch-new/00700-renamed-message.test b/test/tests=\r
1043 /notmuch-new/00700-renamed-message.test\r
1044 new file mode 100644\r
1045 index 0000000..a774d79\r
1046 --- /dev/null\r
1047 +++ b/test/tests/notmuch-new/00700-renamed-message.test\r
1048 @@ -0,0 +1,8 @@\r
1049 +printf " Renamed message...\t\t\t\t"\r
1050 +\r
1051 +generate_message\r
1052 +$NOTMUCH new > /dev/null\r
1053 +mv $gen_msg_filename ${gen_msg_filename}-renamed\r
1054 +increment_mtime ${MAIL_DIR}\r
1055 +output=3D$(NOTMUCH_NEW)\r
1056 +pass_if_equal "$output" "No new mail. Detected 1 file rename."\r
1057 diff --git a/test/tests/notmuch-new/00800-deleted-message.test b/test/tests=\r
1058 /notmuch-new/00800-deleted-message.test\r
1059 new file mode 100644\r
1060 index 0000000..7f1a280\r
1061 --- /dev/null\r
1062 +++ b/test/tests/notmuch-new/00800-deleted-message.test\r
1063 @@ -0,0 +1,6 @@\r
1064 +printf " Deleted message...\t\t\t\t"\r
1065 +\r
1066 +rm ${gen_msg_filename}-renamed\r
1067 +increment_mtime ${MAIL_DIR}\r
1068 +output=3D$(NOTMUCH_NEW)\r
1069 +pass_if_equal "$output" "No new mail. Removed 1 message."\r
1070 diff --git a/test/tests/notmuch-new/00900-renamed-directory.test b/test/tes=\r
1071 ts/notmuch-new/00900-renamed-directory.test\r
1072 new file mode 100644\r
1073 index 0000000..64e587a\r
1074 --- /dev/null\r
1075 +++ b/test/tests/notmuch-new/00900-renamed-directory.test\r
1076 @@ -0,0 +1,13 @@\r
1077 +printf " Renamed directory...\t\t\t\t"\r
1078 +\r
1079 +generate_message [dir]=3Ddir\r
1080 +generate_message [dir]=3Ddir\r
1081 +generate_message [dir]=3Ddir\r
1082 +\r
1083 +$NOTMUCH new > /dev/null\r
1084 +\r
1085 +mv ${MAIL_DIR}/dir ${MAIL_DIR}/dir-renamed\r
1086 +increment_mtime ${MAIL_DIR}\r
1087 +\r
1088 +output=3D$(NOTMUCH_NEW)\r
1089 +pass_if_equal "$output" "No new mail. Detected 3 file renames."\r
1090 diff --git a/test/tests/notmuch-new/01000-deleted-directory.test b/test/tes=\r
1091 ts/notmuch-new/01000-deleted-directory.test\r
1092 new file mode 100644\r
1093 index 0000000..1808840\r
1094 --- /dev/null\r
1095 +++ b/test/tests/notmuch-new/01000-deleted-directory.test\r
1096 @@ -0,0 +1,7 @@\r
1097 +printf " Deleted directory...\t\t\t\t"\r
1098 +\r
1099 +rm -rf ${MAIL_DIR}/dir-renamed\r
1100 +increment_mtime ${MAIL_DIR}\r
1101 +\r
1102 +output=3D$(NOTMUCH_NEW)\r
1103 +pass_if_equal "$output" "No new mail. Removed 3 messages."\r
1104 diff --git a/test/tests/notmuch-new/01100-new-directory-end-list.test b/tes=\r
1105 t/tests/notmuch-new/01100-new-directory-end-list.test\r
1106 new file mode 100644\r
1107 index 0000000..741fb83\r
1108 --- /dev/null\r
1109 +++ b/test/tests/notmuch-new/01100-new-directory-end-list.test\r
1110 @@ -0,0 +1,8 @@\r
1111 +printf " New directory (at end of list)...\t\t"\r
1112 +\r
1113 +generate_message [dir]=3Dzzz\r
1114 +generate_message [dir]=3Dzzz\r
1115 +generate_message [dir]=3Dzzz\r
1116 +\r
1117 +output=3D$(NOTMUCH_NEW)\r
1118 +pass_if_equal "$output" "Added 3 new messages to the database."\r
1119 diff --git a/test/tests/notmuch-new/01200-deleted-directory-end-list.test b=\r
1120 /test/tests/notmuch-new/01200-deleted-directory-end-list.test\r
1121 new file mode 100644\r
1122 index 0000000..ee59bfd\r
1123 --- /dev/null\r
1124 +++ b/test/tests/notmuch-new/01200-deleted-directory-end-list.test\r
1125 @@ -0,0 +1,7 @@\r
1126 +printf " Deleted directory (end of list)...\t\t"\r
1127 +\r
1128 +rm -rf ${MAIL_DIR}/zzz\r
1129 +increment_mtime ${MAIL_DIR}\r
1130 +\r
1131 +output=3D$(NOTMUCH_NEW)\r
1132 +pass_if_equal "$output" "No new mail. Removed 3 messages."\r
1133 diff --git a/test/tests/notmuch-new/01300-new-symlink-to-dir.test b/test/te=\r
1134 sts/notmuch-new/01300-new-symlink-to-dir.test\r
1135 new file mode 100644\r
1136 index 0000000..ffcdfa4\r
1137 --- /dev/null\r
1138 +++ b/test/tests/notmuch-new/01300-new-symlink-to-dir.test\r
1139 @@ -0,0 +1,10 @@\r
1140 +printf " New symlink to directory...\t\t\t"\r
1141 +\r
1142 +rm -rf ${MAIL_DIR}/.notmuch\r
1143 +mv ${MAIL_DIR} ${TEST_DIR}/actual_maildir\r
1144 +\r
1145 +mkdir ${MAIL_DIR}\r
1146 +ln -s ${TEST_DIR}/actual_maildir ${MAIL_DIR}/symlink\r
1147 +\r
1148 +output=3D$(NOTMUCH_NEW)\r
1149 +pass_if_equal "$output" "Added 1 new message to the database."\r
1150 diff --git a/test/tests/notmuch-new/01400-new-symlink-to-file.test b/test/t=\r
1151 ests/notmuch-new/01400-new-symlink-to-file.test\r
1152 new file mode 100644\r
1153 index 0000000..e2ac273\r
1154 --- /dev/null\r
1155 +++ b/test/tests/notmuch-new/01400-new-symlink-to-file.test\r
1156 @@ -0,0 +1,9 @@\r
1157 +printf " New symlink to a file...\t\t\t"\r
1158 +generate_message\r
1159 +external_msg_filename=3D${TEST_DIR}/external/$(basename $gen_msg_filename)\r
1160 +mkdir -p $(dirname $external_msg_filename)\r
1161 +mv $gen_msg_filename $external_msg_filename\r
1162 +ln -s $external_msg_filename $gen_msg_filename\r
1163 +increment_mtime ${MAIL_DIR}\r
1164 +output=3D$(NOTMUCH_NEW)\r
1165 +pass_if_equal "$output" "Added 1 new message to the database."\r
1166 diff --git a/test/tests/notmuch-new/01500-new-two-level-dir.test b/test/tes=\r
1167 ts/notmuch-new/01500-new-two-level-dir.test\r
1168 new file mode 100644\r
1169 index 0000000..30c0bbb\r
1170 --- /dev/null\r
1171 +++ b/test/tests/notmuch-new/01500-new-two-level-dir.test\r
1172 @@ -0,0 +1,8 @@\r
1173 +printf " New two-level directory...\t\t\t"\r
1174 +\r
1175 +generate_message [dir]=3Dtwo/levels\r
1176 +generate_message [dir]=3Dtwo/levels\r
1177 +generate_message [dir]=3Dtwo/levels\r
1178 +\r
1179 +output=3D$(NOTMUCH_NEW)\r
1180 +pass_if_equal "$output" "Added 3 new messages to the database."\r
1181 diff --git a/test/tests/notmuch-new/01600-deleted-two-level-dir.test b/test=\r
1182 /tests/notmuch-new/01600-deleted-two-level-dir.test\r
1183 new file mode 100644\r
1184 index 0000000..8958b8a\r
1185 --- /dev/null\r
1186 +++ b/test/tests/notmuch-new/01600-deleted-two-level-dir.test\r
1187 @@ -0,0 +1,7 @@\r
1188 +printf " Deleted two-level directory...\t\t\t"\r
1189 +\r
1190 +rm -rf ${MAIL_DIR}/two\r
1191 +increment_mtime ${MAIL_DIR}\r
1192 +\r
1193 +output=3D$(NOTMUCH_NEW)\r
1194 +pass_if_equal "$output" "No new mail. Removed 3 messages."\r
1195 diff --git a/test/tests/notmuch-new/99999-notmuch-new.setup b/test/tests/no=\r
1196 tmuch-new/99999-notmuch-new.setup\r
1197 new file mode 100644\r
1198 index 0000000..ce00cfc\r
1199 --- /dev/null\r
1200 +++ b/test/tests/notmuch-new/99999-notmuch-new.setup\r
1201 @@ -0,0 +1,4 @@\r
1202 +printf " Cleaning up...\n"\r
1203 +\r
1204 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
1205 +$NOTMUCH new > /dev/null\r
1206 diff --git a/test/tests/notmuch-reply/00001-notmuch-reply.setup b/test/test=\r
1207 s/notmuch-reply/00001-notmuch-reply.setup\r
1208 new file mode 100644\r
1209 index 0000000..48ab355\r
1210 --- /dev/null\r
1211 +++ b/test/tests/notmuch-reply/00001-notmuch-reply.setup\r
1212 @@ -0,0 +1,2 @@\r
1213 +printf "\nTesting \"notmuch reply\" in several variations:\n"\r
1214 +printf " Setting up...\n"\r
1215 diff --git a/test/tests/notmuch-reply/00100-basic-reply.test b/test/tests/n=\r
1216 otmuch-reply/00100-basic-reply.test\r
1217 new file mode 100644\r
1218 index 0000000..12f8d76\r
1219 --- /dev/null\r
1220 +++ b/test/tests/notmuch-reply/00100-basic-reply.test\r
1221 @@ -0,0 +1,17 @@\r
1222 +printf " Basic reply...\t\t\t\t\t"\r
1223 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
1224 +             [to]=3Dtest_suite@notmuchmail.org \\r
1225 +             [subject]=3Dnotmuch-reply-test \\r
1226 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
1227 +            '[body]=3D"basic reply test"'\r
1228 +\r
1229 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
1230 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.=\r
1231 org>\r
1232 +Subject: Re: notmuch-reply-test\r
1233 +To: Sender <sender@example.com>\r
1234 +Bcc: test_suite@notmuchmail.org\r
1235 +In-Reply-To: <${gen_msg_id}>\r
1236 +References: <${gen_msg_id}>\r
1237 +\r
1238 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
1239 +> basic reply test"\r
1240 diff --git a/test/tests/notmuch-reply/00200-multiple-recipients.test b/test=\r
1241 /tests/notmuch-reply/00200-multiple-recipients.test\r
1242 new file mode 100644\r
1243 index 0000000..f0846dc\r
1244 --- /dev/null\r
1245 +++ b/test/tests/notmuch-reply/00200-multiple-recipients.test\r
1246 @@ -0,0 +1,17 @@\r
1247 +printf " Multiple recipients...\t\t\t\t"\r
1248 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
1249 +            '[to]=3D"test_suite@notmuchmail.org, Someone Else <someone@exa=\r
1250 mple.com>"' \\r
1251 +             [subject]=3Dnotmuch-reply-test \\r
1252 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
1253 +            '[body]=3D"Multiple recipients"'\r
1254 +\r
1255 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
1256 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.=\r
1257 org>\r
1258 +Subject: Re: notmuch-reply-test\r
1259 +To: Sender <sender@example.com>, Someone Else <someone@example.com>\r
1260 +Bcc: test_suite@notmuchmail.org\r
1261 +In-Reply-To: <${gen_msg_id}>\r
1262 +References: <${gen_msg_id}>\r
1263 +\r
1264 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
1265 +> Multiple recipients"\r
1266 diff --git a/test/tests/notmuch-reply/00300-reply-with-cc.test b/test/tests=\r
1267 /notmuch-reply/00300-reply-with-cc.test\r
1268 new file mode 100644\r
1269 index 0000000..904958f\r
1270 --- /dev/null\r
1271 +++ b/test/tests/notmuch-reply/00300-reply-with-cc.test\r
1272 @@ -0,0 +1,19 @@\r
1273 +printf " Reply with CC...\t\t\t\t"\r
1274 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
1275 +             [to]=3Dtest_suite@notmuchmail.org \\r
1276 +            '[cc]=3D"Other Parties <cc@example.com>"' \\r
1277 +             [subject]=3Dnotmuch-reply-test \\r
1278 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
1279 +            '[body]=3D"reply with CC"'\r
1280 +\r
1281 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
1282 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.=\r
1283 org>\r
1284 +Subject: Re: notmuch-reply-test\r
1285 +To: Sender <sender@example.com>\r
1286 +Cc: Other Parties <cc@example.com>\r
1287 +Bcc: test_suite@notmuchmail.org\r
1288 +In-Reply-To: <${gen_msg_id}>\r
1289 +References: <${gen_msg_id}>\r
1290 +\r
1291 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
1292 +> reply with CC"\r
1293 diff --git a/test/tests/notmuch-reply/00400-reply-from-alternate-address.te=\r
1294 st b/test/tests/notmuch-reply/00400-reply-from-alternate-address.test\r
1295 new file mode 100644\r
1296 index 0000000..77848f3\r
1297 --- /dev/null\r
1298 +++ b/test/tests/notmuch-reply/00400-reply-from-alternate-address.test\r
1299 @@ -0,0 +1,17 @@\r
1300 +printf " Reply from alternate address...\t\t"\r
1301 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
1302 +             [to]=3Dtest_suite_other@notmuchmail.org \\r
1303 +             [subject]=3Dnotmuch-reply-test \\r
1304 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
1305 +            '[body]=3D"reply from alternate address"'\r
1306 +\r
1307 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
1308 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuc=\r
1309 hmail.org>\r
1310 +Subject: Re: notmuch-reply-test\r
1311 +To: Sender <sender@example.com>\r
1312 +Bcc: test_suite@notmuchmail.org\r
1313 +In-Reply-To: <${gen_msg_id}>\r
1314 +References: <${gen_msg_id}>\r
1315 +\r
1316 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
1317 +> reply from alternate address"\r
1318 diff --git a/test/tests/notmuch-reply/00500-support-for-reply-to.test b/tes=\r
1319 t/tests/notmuch-reply/00500-support-for-reply-to.test\r
1320 new file mode 100644\r
1321 index 0000000..9194c7a\r
1322 --- /dev/null\r
1323 +++ b/test/tests/notmuch-reply/00500-support-for-reply-to.test\r
1324 @@ -0,0 +1,18 @@\r
1325 +printf " Support for Reply-To...\t\t\t"\r
1326 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
1327 +             [to]=3Dtest_suite@notmuchmail.org \\r
1328 +             [subject]=3Dnotmuch-reply-test \\r
1329 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
1330 +            '[body]=3D"support for reply-to"' \\r
1331 +            '[reply-to]=3D"Sender <elsewhere@example.com>"'\r
1332 +\r
1333 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
1334 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.=\r
1335 org>\r
1336 +Subject: Re: notmuch-reply-test\r
1337 +To: Sender <elsewhere@example.com>\r
1338 +Bcc: test_suite@notmuchmail.org\r
1339 +In-Reply-To: <${gen_msg_id}>\r
1340 +References: <${gen_msg_id}>\r
1341 +\r
1342 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
1343 +> support for reply-to"\r
1344 diff --git a/test/tests/notmuch-reply/00600-unmunging-reply-to.test b/test/=\r
1345 tests/notmuch-reply/00600-unmunging-reply-to.test\r
1346 new file mode 100644\r
1347 index 0000000..b470f65\r
1348 --- /dev/null\r
1349 +++ b/test/tests/notmuch-reply/00600-unmunging-reply-to.test\r
1350 @@ -0,0 +1,18 @@\r
1351 +printf " Un-munging Reply-To...\t\t\t\t"\r
1352 +add_message '[from]=3D"Sender <sender@example.com>"' \\r
1353 +            '[to]=3D"Some List <list@example.com>"' \\r
1354 +             [subject]=3Dnotmuch-reply-test \\r
1355 +            '[date]=3D"Tue, 05 Jan 2010 15:43:56 -0800"' \\r
1356 +            '[body]=3D"Un-munging Reply-To"' \\r
1357 +            '[reply-to]=3D"Evil Munging List <list@example.com>"'\r
1358 +\r
1359 +output=3D$($NOTMUCH reply id:${gen_msg_id})\r
1360 +pass_if_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.=\r
1361 org>\r
1362 +Subject: Re: notmuch-reply-test\r
1363 +To: Sender <sender@example.com>, Some List <list@example.com>\r
1364 +Bcc: test_suite@notmuchmail.org\r
1365 +In-Reply-To: <${gen_msg_id}>\r
1366 +References: <${gen_msg_id}>\r
1367 +\r
1368 +On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:\r
1369 +> Un-munging Reply-To"\r
1370 diff --git a/test/tests/notmuch-reply/99999-notmuch-reply.setup b/test/test=\r
1371 s/notmuch-reply/99999-notmuch-reply.setup\r
1372 new file mode 100644\r
1373 index 0000000..ce00cfc\r
1374 --- /dev/null\r
1375 +++ b/test/tests/notmuch-reply/99999-notmuch-reply.setup\r
1376 @@ -0,0 +1,4 @@\r
1377 +printf " Cleaning up...\n"\r
1378 +\r
1379 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
1380 +$NOTMUCH new > /dev/null\r
1381 diff --git a/test/tests/notmuch-search/00001-notmuch-search.setup b/test/te=\r
1382 sts/notmuch-search/00001-notmuch-search.setup\r
1383 new file mode 100644\r
1384 index 0000000..5afd7ec\r
1385 --- /dev/null\r
1386 +++ b/test/tests/notmuch-search/00001-notmuch-search.setup\r
1387 @@ -0,0 +1,152 @@\r
1388 +printf "\nTesting \"notmuch search\" in several variations:\n"\r
1389 +\r
1390 +# printf "Testing \"notmuch new\" in several variations:\n"\r
1391 +# printf " No new messages...\t\t\t\t"\r
1392 +# output=3D$(NOTMUCH_NEW)\r
1393 +# pass_if_equal "$output" "No new mail."\r
1394 +\r
1395 +printf " Setting up...\n"\r
1396 +\r
1397 +gen_msg_cnt=3D0\r
1398 +gen_msg_filename=3D""\r
1399 +gen_msg_id=3D""\r
1400 +\r
1401 +# printf " Single new message...\t\t\t\t"\r
1402 +generate_message\r
1403 +# output=3D$(NOTMUCH_NEW)\r
1404 +# pass_if_equal "$output" "Added 1 new message to the database."\r
1405 +\r
1406 +# printf " Multiple new messages...\t\t\t"\r
1407 +generate_message\r
1408 +generate_message\r
1409 +# output=3D$(NOTMUCH_NEW)\r
1410 +# pass_if_equal "$output" "Added 2 new messages to the database."\r
1411 +\r
1412 +# printf " No new messages (non-empty DB)...\t\t"\r
1413 +# output=3D$(NOTMUCH_NEW)\r
1414 +# pass_if_equal "$output" "No new mail."\r
1415 +\r
1416 +# printf " New directories...\t\t\t\t"\r
1417 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
1418 +mkdir ${MAIL_DIR}/def\r
1419 +mkdir ${MAIL_DIR}/ghi\r
1420 +generate_message [dir]=3Ddef\r
1421 +\r
1422 +# output=3D$(NOTMUCH_NEW)\r
1423 +# pass_if_equal "$output" "Added 1 new message to the database."\r
1424 +\r
1425 +# printf " Alternate inode order...\t\t\t"\r
1426 +\r
1427 +rm -rf ${MAIL_DIR}/.notmuch\r
1428 +mv ${MAIL_DIR}/ghi ${MAIL_DIR}/abc\r
1429 +rm ${MAIL_DIR}/def/*\r
1430 +generate_message [dir]=3Dabc\r
1431 +\r
1432 +# output=3D$(NOTMUCH_NEW)\r
1433 +# pass_if_equal "$output" "Added 1 new message to the database."\r
1434 +\r
1435 +# printf " Message moved in...\t\t\t\t"\r
1436 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
1437 +generate_message\r
1438 +tmp_msg_filename=3Dtmp/$gen_msg_filename\r
1439 +mkdir -p $(dirname $tmp_msg_filename)\r
1440 +mv $gen_msg_filename $tmp_msg_filename\r
1441 +increment_mtime ${MAIL_DIR}\r
1442 +$NOTMUCH new > /dev/null\r
1443 +mv $tmp_msg_filename $gen_msg_filename\r
1444 +increment_mtime ${MAIL_DIR}\r
1445 +# output=3D$(NOTMUCH_NEW)\r
1446 +# pass_if_equal "$output" "Added 1 new message to the database."\r
1447 +\r
1448 +# printf " Renamed message...\t\t\t\t"\r
1449 +\r
1450 +generate_message\r
1451 +$NOTMUCH new > /dev/null\r
1452 +mv $gen_msg_filename ${gen_msg_filename}-renamed\r
1453 +increment_mtime ${MAIL_DIR}\r
1454 +# output=3D$(NOTMUCH_NEW)\r
1455 +# pass_if_equal "$output" "No new mail. Detected 1 file rename."\r
1456 +\r
1457 +# printf " Deleted message...\t\t\t\t"\r
1458 +\r
1459 +rm ${gen_msg_filename}-renamed\r
1460 +increment_mtime ${MAIL_DIR}\r
1461 +# output=3D$(NOTMUCH_NEW)\r
1462 +# pass_if_equal "$output" "No new mail. Removed 1 message."\r
1463 +\r
1464 +# printf " Renamed directory...\t\t\t\t"\r
1465 +\r
1466 +generate_message [dir]=3Ddir\r
1467 +generate_message [dir]=3Ddir\r
1468 +generate_message [dir]=3Ddir\r
1469 +\r
1470 +$NOTMUCH new > /dev/null\r
1471 +\r
1472 +mv ${MAIL_DIR}/dir ${MAIL_DIR}/dir-renamed\r
1473 +increment_mtime ${MAIL_DIR}\r
1474 +\r
1475 +# output=3D$(NOTMUCH_NEW)\r
1476 +# pass_if_equal "$output" "No new mail. Detected 3 file renames."\r
1477 +\r
1478 +# printf " Deleted directory...\t\t\t\t"\r
1479 +\r
1480 +rm -rf ${MAIL_DIR}/dir-renamed\r
1481 +increment_mtime ${MAIL_DIR}\r
1482 +\r
1483 +# output=3D$(NOTMUCH_NEW)\r
1484 +# pass_if_equal "$output" "No new mail. Removed 3 messages."\r
1485 +\r
1486 +# printf " New directory (at end of list)...\t\t"\r
1487 +\r
1488 +generate_message [dir]=3Dzzz\r
1489 +generate_message [dir]=3Dzzz\r
1490 +generate_message [dir]=3Dzzz\r
1491 +\r
1492 +# output=3D$(NOTMUCH_NEW)\r
1493 +# pass_if_equal "$output" "Added 3 new messages to the database."\r
1494 +\r
1495 +# printf " Deleted directory (end of list)...\t\t"\r
1496 +\r
1497 +rm -rf ${MAIL_DIR}/zzz\r
1498 +increment_mtime ${MAIL_DIR}\r
1499 +\r
1500 +# output=3D$(NOTMUCH_NEW)\r
1501 +# pass_if_equal "$output" "No new mail. Removed 3 messages."\r
1502 +\r
1503 +# printf " New symlink to directory...\t\t\t"\r
1504 +\r
1505 +rm -rf ${MAIL_DIR}/.notmuch\r
1506 +mv ${MAIL_DIR} ${TEST_DIR}/actual_maildir\r
1507 +\r
1508 +mkdir ${MAIL_DIR}\r
1509 +ln -s ${TEST_DIR}/actual_maildir ${MAIL_DIR}/symlink\r
1510 +\r
1511 +# output=3D$(NOTMUCH_NEW)\r
1512 +# pass_if_equal "$output" "Added 1 new message to the database."\r
1513 +\r
1514 +# printf " New symlink to a file...\t\t\t"\r
1515 +generate_message\r
1516 +external_msg_filename=3D${TEST_DIR}/external/$(basename $gen_msg_filename)\r
1517 +mkdir -p $(dirname $external_msg_filename)\r
1518 +mv $gen_msg_filename $external_msg_filename\r
1519 +ln -s $external_msg_filename $gen_msg_filename\r
1520 +increment_mtime ${MAIL_DIR}\r
1521 +# output=3D$(NOTMUCH_NEW)\r
1522 +# pass_if_equal "$output" "Added 1 new message to the database."\r
1523 +\r
1524 +# printf " New two-level directory...\t\t\t"\r
1525 +\r
1526 +generate_message [dir]=3Dtwo/levels\r
1527 +generate_message [dir]=3Dtwo/levels\r
1528 +generate_message [dir]=3Dtwo/levels\r
1529 +\r
1530 +# output=3D$(NOTMUCH_NEW)\r
1531 +# pass_if_equal "$output" "Added 3 new messages to the database."\r
1532 +\r
1533 +# printf " Deleted two-level directory...\t\t\t"\r
1534 +\r
1535 +rm -rf ${MAIL_DIR}/two\r
1536 +increment_mtime ${MAIL_DIR}\r
1537 +\r
1538 +# output=3D$(NOTMUCH_NEW)\r
1539 +# pass_if_equal "$output" "No new mail. Removed 3 messages."\r
1540 diff --git a/test/tests/notmuch-search/00100-search-body.test b/test/tests/=\r
1541 notmuch-search/00100-search-body.test\r
1542 new file mode 100644\r
1543 index 0000000..a50d2e4\r
1544 --- /dev/null\r
1545 +++ b/test/tests/notmuch-search/00100-search-body.test\r
1546 @@ -0,0 +1,4 @@\r
1547 +printf " Search body...\t\t\t\t\t"\r
1548 +add_message '[subject]=3D"body search"' '[date]=3D"Sat, 01 Jan 2000 12:00:=\r
1549 00 -0000"' [body]=3Dbodysearchtest\r
1550 +output=3D$($NOTMUCH search bodysearchtest | notmuch_search_sanitize)\r
1551 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
1552  body search (inbox unread)"\r
1553 diff --git a/test/tests/notmuch-search/00200-search-by-from.test b/test/tes=\r
1554 ts/notmuch-search/00200-search-by-from.test\r
1555 new file mode 100644\r
1556 index 0000000..f4944d2\r
1557 --- /dev/null\r
1558 +++ b/test/tests/notmuch-search/00200-search-by-from.test\r
1559 @@ -0,0 +1,4 @@\r
1560 +printf " Search by from:...\t\t\t\t"\r
1561 +add_message '[subject]=3D"search by from"' '[date]=3D"Sat, 01 Jan 2000 12:=\r
1562 00:00 -0000"' [from]=3Dsearchbyfrom\r
1563 +output=3D$($NOTMUCH search from:searchbyfrom | notmuch_search_sanitize)\r
1564 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] searchbyfrom; searc=\r
1565 h by from (inbox unread)"\r
1566 diff --git a/test/tests/notmuch-search/00300-search-by-to.test b/test/tests=\r
1567 /notmuch-search/00300-search-by-to.test\r
1568 new file mode 100644\r
1569 index 0000000..fa9c9af\r
1570 --- /dev/null\r
1571 +++ b/test/tests/notmuch-search/00300-search-by-to.test\r
1572 @@ -0,0 +1,4 @@\r
1573 +printf " Search by to:...\t\t\t\t"\r
1574 +add_message '[subject]=3D"search by to"' '[date]=3D"Sat, 01 Jan 2000 12:00=\r
1575 :00 -0000"' [to]=3Dsearchbyto\r
1576 +output=3D$($NOTMUCH search to:searchbyto | notmuch_search_sanitize)\r
1577 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
1578  search by to (inbox unread)"\r
1579 diff --git a/test/tests/notmuch-search/00400-search-by-subject.test b/test/=\r
1580 tests/notmuch-search/00400-search-by-subject.test\r
1581 new file mode 100644\r
1582 index 0000000..ea8d98a\r
1583 --- /dev/null\r
1584 +++ b/test/tests/notmuch-search/00400-search-by-subject.test\r
1585 @@ -0,0 +1,4 @@\r
1586 +printf " Search by subject:...\t\t\t\t"\r
1587 +add_message [subject]=3Dsubjectsearchtest '[date]=3D"Sat, 01 Jan 2000 12:0=\r
1588 0:00 -0000"'\r
1589 +output=3D$($NOTMUCH search subject:subjectsearchtest | notmuch_search_sani=\r
1590 tize)\r
1591 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
1592  subjectsearchtest (inbox unread)"\r
1593 diff --git a/test/tests/notmuch-search/00500-search-by-id.test b/test/tests=\r
1594 /notmuch-search/00500-search-by-id.test\r
1595 new file mode 100644\r
1596 index 0000000..4e3a06e\r
1597 --- /dev/null\r
1598 +++ b/test/tests/notmuch-search/00500-search-by-id.test\r
1599 @@ -0,0 +1,4 @@\r
1600 +printf " Search by id:...\t\t\t\t"\r
1601 +add_message '[subject]=3D"search by id"' '[date]=3D"Sat, 01 Jan 2000 12:00=\r
1602 :00 -0000"'\r
1603 +output=3D$($NOTMUCH search id:${gen_msg_id} | notmuch_search_sanitize)\r
1604 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
1605  search by id (inbox unread)"\r
1606 diff --git a/test/tests/notmuch-search/00600-search-by-tag.test b/test/test=\r
1607 s/notmuch-search/00600-search-by-tag.test\r
1608 new file mode 100644\r
1609 index 0000000..2af2d69\r
1610 --- /dev/null\r
1611 +++ b/test/tests/notmuch-search/00600-search-by-tag.test\r
1612 @@ -0,0 +1,5 @@\r
1613 +printf " Search by tag:...\t\t\t\t"\r
1614 +add_message '[subject]=3D"search by tag"' '[date]=3D"Sat, 01 Jan 2000 12:0=\r
1615 0:00 -0000"'\r
1616 +$NOTMUCH tag +searchbytag id:${gen_msg_id}\r
1617 +output=3D$($NOTMUCH search tag:searchbytag | notmuch_search_sanitize)\r
1618 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
1619  search by tag (inbox searchbytag unread)"\r
1620 diff --git a/test/tests/notmuch-search/00700-search-by-thread.test b/test/t=\r
1621 ests/notmuch-search/00700-search-by-thread.test\r
1622 new file mode 100644\r
1623 index 0000000..9196cbd\r
1624 --- /dev/null\r
1625 +++ b/test/tests/notmuch-search/00700-search-by-thread.test\r
1626 @@ -0,0 +1,5 @@\r
1627 +printf " Search by thread:...\t\t\t\t"\r
1628 +add_message '[subject]=3D"search by thread"' '[date]=3D"Sat, 01 Jan 2000 1=\r
1629 2:00:00 -0000"'\r
1630 +thread_id=3D$($NOTMUCH search id:${gen_msg_id} | sed -e 's/thread:\([a-f0-=\r
1631 9]*\).*/\1/')\r
1632 +output=3D$($NOTMUCH search thread:${thread_id} | notmuch_search_sanitize)\r
1633 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
1634  search by thread (inbox unread)"\r
1635 diff --git a/test/tests/notmuch-search/00800-search-body-phrase.test b/test=\r
1636 /tests/notmuch-search/00800-search-body-phrase.test\r
1637 new file mode 100644\r
1638 index 0000000..687bf1d\r
1639 --- /dev/null\r
1640 +++ b/test/tests/notmuch-search/00800-search-body-phrase.test\r
1641 @@ -0,0 +1,5 @@\r
1642 +printf " Search body (phrase)...\t\t\t"\r
1643 +add_message '[subject]=3D"body search (phrase)"' '[date]=3D"Sat, 01 Jan 20=\r
1644 00 12:00:00 -0000"' '[body]=3D"body search (phrase)"'\r
1645 +add_message '[subject]=3D"negative result"' '[date]=3D"Sat, 01 Jan 2000 12=\r
1646 :00:00 -0000"' '[body]=3D"This phrase should not match the body search"'\r
1647 +output=3D$($NOTMUCH search '\"body search (phrase)\"' | notmuch_search_san=\r
1648 itize)\r
1649 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
1650  body search (phrase) (inbox unread)"\r
1651 diff --git a/test/tests/notmuch-search/00900-search-by-from-address.test b/=\r
1652 test/tests/notmuch-search/00900-search-by-from-address.test\r
1653 new file mode 100644\r
1654 index 0000000..a21c336\r
1655 --- /dev/null\r
1656 +++ b/test/tests/notmuch-search/00900-search-by-from-address.test\r
1657 @@ -0,0 +1,4 @@\r
1658 +printf " Search by from: (address)...\t\t\t"\r
1659 +add_message '[subject]=3D"search by from (address)"' '[date]=3D"Sat, 01 Ja=\r
1660 n 2000 12:00:00 -0000"' [from]=3Dsearchbyfrom@example.com\r
1661 +output=3D$($NOTMUCH search from:searchbyfrom@example.com | notmuch_search_=\r
1662 sanitize)\r
1663 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] searchbyfrom@exampl=\r
1664 e.com; search by from (address) (inbox unread)"\r
1665 diff --git a/test/tests/notmuch-search/01000-search-by-from-name.test b/tes=\r
1666 t/tests/notmuch-search/01000-search-by-from-name.test\r
1667 new file mode 100644\r
1668 index 0000000..2db7078\r
1669 --- /dev/null\r
1670 +++ b/test/tests/notmuch-search/01000-search-by-from-name.test\r
1671 @@ -0,0 +1,4 @@\r
1672 +printf " Search by from: (name)...\t\t\t"\r
1673 +add_message '[subject]=3D"search by from (name)"' '[date]=3D"Sat, 01 Jan 2=\r
1674 000 12:00:00 -0000"' '[from]=3D"Search By From Name <test@example.com>"'\r
1675 +output=3D$($NOTMUCH search from:'Search By From Name' | notmuch_search_san=\r
1676 itize)\r
1677 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Search By From Name=\r
1678 ; search by from (name) (inbox unread)"\r
1679 diff --git a/test/tests/notmuch-search/01100-search-by-to-address.test b/te=\r
1680 st/tests/notmuch-search/01100-search-by-to-address.test\r
1681 new file mode 100644\r
1682 index 0000000..514ecaf\r
1683 --- /dev/null\r
1684 +++ b/test/tests/notmuch-search/01100-search-by-to-address.test\r
1685 @@ -0,0 +1,4 @@\r
1686 +printf " Search by to: (address)...\t\t\t"\r
1687 +add_message '[subject]=3D"search by to (address)"' '[date]=3D"Sat, 01 Jan =\r
1688 2000 12:00:00 -0000"' [to]=3Dsearchbyto@example.com\r
1689 +output=3D$($NOTMUCH search to:searchbyto@example.com | notmuch_search_sani=\r
1690 tize)\r
1691 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
1692  search by to (address) (inbox unread)"\r
1693 diff --git a/test/tests/notmuch-search/01200-search-by-to-name.test b/test/=\r
1694 tests/notmuch-search/01200-search-by-to-name.test\r
1695 new file mode 100644\r
1696 index 0000000..3069a79\r
1697 --- /dev/null\r
1698 +++ b/test/tests/notmuch-search/01200-search-by-to-name.test\r
1699 @@ -0,0 +1,4 @@\r
1700 +printf " Search by to: (name)...\t\t\t"\r
1701 +add_message '[subject]=3D"search by to (name)"' '[date]=3D"Sat, 01 Jan 200=\r
1702 0 12:00:00 -0000"' '[to]=3D"Search By To Name <test@example.com>"'\r
1703 +output=3D$($NOTMUCH search to:'Search By To Name' | notmuch_search_sanitiz=\r
1704 e)\r
1705 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
1706  search by to (name) (inbox unread)"\r
1707 diff --git a/test/tests/notmuch-search/01300-search-by-subject-phrase.test =\r
1708 b/test/tests/notmuch-search/01300-search-by-subject-phrase.test\r
1709 new file mode 100644\r
1710 index 0000000..c9e1dc6\r
1711 --- /dev/null\r
1712 +++ b/test/tests/notmuch-search/01300-search-by-subject-phrase.test\r
1713 @@ -0,0 +1,5 @@\r
1714 +printf " Search by subject: (phrase)...\t\t\t"\r
1715 +add_message '[subject]=3D"subject search test (phrase)"' '[date]=3D"Sat, 0=\r
1716 1 Jan 2000 12:00:00 -0000"'\r
1717 +add_message '[subject]=3D"this phrase should not match the subject search =\r
1718 test"' '[date]=3D"Sat, 01 Jan 2000 12:00:00 -0000"'\r
1719 +output=3D$($NOTMUCH search 'subject:\"subject search test (phrase)\"' | no=\r
1720 tmuch_search_sanitize)\r
1721 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
1722  subject search test (phrase) (inbox unread)"\r
1723 diff --git a/test/tests/notmuch-search/01400-search-for-all-messages.test b=\r
1724 /test/tests/notmuch-search/01400-search-for-all-messages.test\r
1725 new file mode 100644\r
1726 index 0000000..4120442\r
1727 --- /dev/null\r
1728 +++ b/test/tests/notmuch-search/01400-search-for-all-messages.test\r
1729 @@ -0,0 +1,19 @@\r
1730 +printf " Search for all messages (\"*\"):...\t\t"\r
1731 +output=3D$($NOTMUCH search '*' | notmuch_search_sanitize)\r
1732 +pass_if_equal "$output" "thread:XXX   2001-01-05 [1/1] Notmuch Test Suite;=\r
1733  Test message #6 (inbox unread)\r
1734 +thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; Test message #14 (inbox =\r
1735 unread)\r
1736 +thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; body search (inbox unrea=\r
1737 d)\r
1738 +thread:XXX   2000-01-01 [1/1] searchbyfrom; search by from (inbox unread)\r
1739 +thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; search by to (inbox unre=\r
1740 ad)\r
1741 +thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; subjectsearchtest (inbox=\r
1742  unread)\r
1743 +thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; search by id (inbox unre=\r
1744 ad)\r
1745 +thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; search by tag (inbox sea=\r
1746 rchbytag unread)\r
1747 +thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; search by thread (inbox =\r
1748 unread)\r
1749 +thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; body search (phrase) (in=\r
1750 box unread)\r
1751 +thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; negative result (inbox u=\r
1752 nread)\r
1753 +thread:XXX   2000-01-01 [1/1] searchbyfrom@example.com; search by from (ad=\r
1754 dress) (inbox unread)\r
1755 +thread:XXX   2000-01-01 [1/1] Search By From Name; search by from (name) (=\r
1756 inbox unread)\r
1757 +thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; search by to (address) (=\r
1758 inbox unread)\r
1759 +thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; search by to (name) (inb=\r
1760 ox unread)\r
1761 +thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; subject search test (phr=\r
1762 ase) (inbox unread)\r
1763 +thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; this phrase should not m=\r
1764 atch the subject search test (inbox unread)"\r
1765 diff --git a/test/tests/notmuch-search/01500-search-body-utf-8.test b/test/=\r
1766 tests/notmuch-search/01500-search-body-utf-8.test\r
1767 new file mode 100644\r
1768 index 0000000..413d29d\r
1769 --- /dev/null\r
1770 +++ b/test/tests/notmuch-search/01500-search-body-utf-8.test\r
1771 @@ -0,0 +1,4 @@\r
1772 +printf " Search body (utf-8):...\t\t\t"\r
1773 +add_message '[subject]=3D"utf8-message-body-subject"' '[date]=3D"Sat, 01 J=\r
1774 an 2000 12:00:00 -0000"' '[body]=3D"message body utf8: b=C3=B6d=C3=BD"'\r
1775 +output=3D$($NOTMUCH search 'b=C3=B6d=C3=BD' | notmuch_search_sanitize)\r
1776 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
1777  utf8-message-body-subject (inbox unread)"\r
1778 diff --git a/test/tests/notmuch-search/99999-notmuch-search.setup b/test/te=\r
1779 sts/notmuch-search/99999-notmuch-search.setup\r
1780 new file mode 100644\r
1781 index 0000000..ce00cfc\r
1782 --- /dev/null\r
1783 +++ b/test/tests/notmuch-search/99999-notmuch-search.setup\r
1784 @@ -0,0 +1,4 @@\r
1785 +printf " Cleaning up...\n"\r
1786 +\r
1787 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
1788 +$NOTMUCH new > /dev/null\r
1789 diff --git a/test/tests/out-of-order-threading/00001-out-of-order-threading=\r
1790 .setup b/test/tests/out-of-order-threading/00001-out-of-order-threading.set=\r
1791 up\r
1792 new file mode 100644\r
1793 index 0000000..3edc3cb\r
1794 --- /dev/null\r
1795 +++ b/test/tests/out-of-order-threading/00001-out-of-order-threading.setup\r
1796 @@ -0,0 +1,2 @@\r
1797 +printf "\nTesting threading when messages received out of order:\n"\r
1798 +printf " Setting up...\n"\r
1799 diff --git a/test/tests/out-of-order-threading/00100-addinitial-child-messa=\r
1800 ge.test b/test/tests/out-of-order-threading/00100-addinitial-child-message.=\r
1801 test\r
1802 new file mode 100644\r
1803 index 0000000..c2a6588\r
1804 --- /dev/null\r
1805 +++ b/test/tests/out-of-order-threading/00100-addinitial-child-message.test\r
1806 @@ -0,0 +1,4 @@\r
1807 +printf " Adding initial child message...\t\t"\r
1808 +generate_message [body]=3Dfoo '[in-reply-to]=3D\<parent-id\>' [subject]=3D=\r
1809 brokenthreadtest '[date]=3D"Sat, 01 Jan 2000 12:00:00 -0000"'\r
1810 +output=3D$(NOTMUCH_NEW)\r
1811 +pass_if_equal "$output" "Added 1 new message to the database."\r
1812 diff --git a/test/tests/out-of-order-threading/00200-searching-returns-mess=\r
1813 age.test b/test/tests/out-of-order-threading/00200-searching-returns-messag=\r
1814 e.test\r
1815 new file mode 100644\r
1816 index 0000000..fbda06d\r
1817 --- /dev/null\r
1818 +++ b/test/tests/out-of-order-threading/00200-searching-returns-message.test\r
1819 @@ -0,0 +1,3 @@\r
1820 +printf " Searching returns the message...\t\t"\r
1821 +output=3D$($NOTMUCH search foo | notmuch_search_sanitize)\r
1822 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
1823  brokenthreadtest (inbox unread)"\r
1824 diff --git a/test/tests/out-of-order-threading/00300-adding-second-child-me=\r
1825 ssage.test b/test/tests/out-of-order-threading/00300-adding-second-child-me=\r
1826 ssage.test\r
1827 new file mode 100644\r
1828 index 0000000..1d3ac41\r
1829 --- /dev/null\r
1830 +++ b/test/tests/out-of-order-threading/00300-adding-second-child-message.t=\r
1831 est\r
1832 @@ -0,0 +1,4 @@\r
1833 +printf " Adding second child message...\t\t\t"\r
1834 +generate_message [body]=3Dfoo '[in-reply-to]=3D\<parent-id\>' [subject]=3D=\r
1835 brokenthreadtest '[date]=3D"Sat, 01 Jan 2000 12:00:00 -0000"'\r
1836 +output=3D$(NOTMUCH_NEW)\r
1837 +pass_if_equal "$output" "Added 1 new message to the database."\r
1838 diff --git a/test/tests/out-of-order-threading/00400-searching-returns-both=\r
1839 -msgs.test b/test/tests/out-of-order-threading/00400-searching-returns-both=\r
1840 -msgs.test\r
1841 new file mode 100644\r
1842 index 0000000..9b1483e\r
1843 --- /dev/null\r
1844 +++ b/test/tests/out-of-order-threading/00400-searching-returns-both-msgs.t=\r
1845 est\r
1846 @@ -0,0 +1,3 @@\r
1847 +printf " Searching returns both messages in one thread..."\r
1848 +output=3D$($NOTMUCH search foo | notmuch_search_sanitize)\r
1849 +pass_if_equal "$output" "thread:XXX   2000-01-01 [2/2] Notmuch Test Suite;=\r
1850  brokenthreadtest (inbox unread)"\r
1851 diff --git a/test/tests/out-of-order-threading/00500-adding-parent-msg.test=\r
1852  b/test/tests/out-of-order-threading/00500-adding-parent-msg.test\r
1853 new file mode 100644\r
1854 index 0000000..c77c0ae\r
1855 --- /dev/null\r
1856 +++ b/test/tests/out-of-order-threading/00500-adding-parent-msg.test\r
1857 @@ -0,0 +1,4 @@\r
1858 +printf " Adding parent message...\t\t\t"\r
1859 +generate_message [body]=3Dfoo [id]=3Dparent-id [subject]=3Dbrokenthreadtes=\r
1860 t '[date]=3D"Sat, 01 Jan 2000 12:00:00 -0000"'\r
1861 +output=3D$(NOTMUCH_NEW)\r
1862 +pass_if_equal "$output" "Added 1 new message to the database."\r
1863 diff --git a/test/tests/out-of-order-threading/00600-return-all-msgs-in-one=\r
1864 -thread.test b/test/tests/out-of-order-threading/00600-return-all-msgs-in-o=\r
1865 ne-thread.test\r
1866 new file mode 100644\r
1867 index 0000000..91ea3c2\r
1868 --- /dev/null\r
1869 +++ b/test/tests/out-of-order-threading/00600-return-all-msgs-in-one-thread=\r
1870 .test\r
1871 @@ -0,0 +1,3 @@\r
1872 +printf " Searching returns all three messages in one thread..."\r
1873 +output=3D$($NOTMUCH search foo | notmuch_search_sanitize)\r
1874 +pass_if_equal "$output" "thread:XXX   2000-01-01 [3/3] Notmuch Test Suite;=\r
1875  brokenthreadtest (inbox unread)"\r
1876 diff --git a/test/tests/out-of-order-threading/99999-out-of-order-threading=\r
1877 .setup b/test/tests/out-of-order-threading/99999-out-of-order-threading.set=\r
1878 up\r
1879 new file mode 100644\r
1880 index 0000000..ce00cfc\r
1881 --- /dev/null\r
1882 +++ b/test/tests/out-of-order-threading/99999-out-of-order-threading.setup\r
1883 @@ -0,0 +1,4 @@\r
1884 +printf " Cleaning up...\n"\r
1885 +\r
1886 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
1887 +$NOTMUCH new > /dev/null\r
1888 diff --git a/test/tests/thread-naming/00001-thread-naming.setup b/test/test=\r
1889 s/thread-naming/00001-thread-naming.setup\r
1890 new file mode 100644\r
1891 index 0000000..cc0d764\r
1892 --- /dev/null\r
1893 +++ b/test/tests/thread-naming/00001-thread-naming.setup\r
1894 @@ -0,0 +1,17 @@\r
1895 +printf "\nTesting naming of threads with changing subject:\n"\r
1896 +printf " Setting up...\n"\r
1897 +\r
1898 +add_message '[subject]=3D"thread-naming: Initial thread subject"' \\r
1899 +            '[date]=3D"Fri, 05 Jan 2001 15:43:56 -0800"'\r
1900 +first=3D${gen_msg_cnt}\r
1901 +parent=3D${gen_msg_id}\r
1902 +add_message '[subject]=3D"thread-naming: Older changed subject"' \\r
1903 +            '[date]=3D"Sat, 06 Jan 2001 15:43:56 -0800"' \\r
1904 +            "[in-reply-to]=3D\<$parent\>"\r
1905 +add_message '[subject]=3D"thread-naming: Newer changed subject"' \\r
1906 +            '[date]=3D"Sun, 07 Jan 2001 15:43:56 -0800"' \\r
1907 +            "[in-reply-to]=3D\<$parent\>"\r
1908 +add_message '[subject]=3D"thread-naming: Final thread subject"' \\r
1909 +            '[date]=3D"Mon, 08 Jan 2001 15:43:56 -0800"' \\r
1910 +            "[in-reply-to]=3D\<$parent\>"\r
1911 +final=3D${gen_msg_id}\r
1912 diff --git a/test/tests/thread-naming/00100-initial-thread-name-oldest-firs=\r
1913 t-search.test b/test/tests/thread-naming/00100-initial-thread-name-oldest-f=\r
1914 irst-search.test\r
1915 new file mode 100644\r
1916 index 0000000..482a7f4\r
1917 --- /dev/null\r
1918 +++ b/test/tests/thread-naming/00100-initial-thread-name-oldest-first-searc=\r
1919 h.test\r
1920 @@ -0,0 +1,3 @@\r
1921 +printf " Initial thread name (oldest-first search)...\t"\r
1922 +output=3D$($NOTMUCH search --sort=3Doldest-first thread-naming and tag:inb=\r
1923 ox | notmuch_search_sanitize)\r
1924 +pass_if_equal "$output" "thread:XXX   2001-01-05 [4/4] Notmuch Test Suite;=\r
1925  thread-naming: Initial thread subject (inbox unread)"\r
1926 diff --git a/test/tests/thread-naming/00200-initial-thread-name-newest-firs=\r
1927 t-search.test b/test/tests/thread-naming/00200-initial-thread-name-newest-f=\r
1928 irst-search.test\r
1929 new file mode 100644\r
1930 index 0000000..799ed66\r
1931 --- /dev/null\r
1932 +++ b/test/tests/thread-naming/00200-initial-thread-name-newest-first-searc=\r
1933 h.test\r
1934 @@ -0,0 +1,3 @@\r
1935 +printf " Initial thread name (newest-first search)...\t"\r
1936 +output=3D$($NOTMUCH search --sort=3Dnewest-first thread-naming and tag:inb=\r
1937 ox | notmuch_search_sanitize)\r
1938 +pass_if_equal "$output" "thread:XXX   2001-01-08 [4/4] Notmuch Test Suite;=\r
1939  thread-naming: Final thread subject (inbox unread)"\r
1940 diff --git a/test/tests/thread-naming/00300-changed-thread-name-oldest-firs=\r
1941 t-search.test b/test/tests/thread-naming/00300-changed-thread-name-oldest-f=\r
1942 irst-search.test\r
1943 new file mode 100644\r
1944 index 0000000..5d300d6\r
1945 --- /dev/null\r
1946 +++ b/test/tests/thread-naming/00300-changed-thread-name-oldest-first-searc=\r
1947 h.test\r
1948 @@ -0,0 +1,6 @@\r
1949 +# Remove oldest and newest messages from search results\r
1950 +$NOTMUCH tag -inbox id:$parent or id:$final\r
1951 +\r
1952 +printf " Changed thread name (oldest-first search)...\t"\r
1953 +output=3D$($NOTMUCH search --sort=3Doldest-first thread-naming and tag:inb=\r
1954 ox | notmuch_search_sanitize)\r
1955 +pass_if_equal "$output" "thread:XXX   2001-01-06 [2/4] Notmuch Test Suite;=\r
1956  thread-naming: Older changed subject (inbox unread)"\r
1957 diff --git a/test/tests/thread-naming/00400-changed-thread-name-newest-firs=\r
1958 t-search.test b/test/tests/thread-naming/00400-changed-thread-name-newest-f=\r
1959 irst-search.test\r
1960 new file mode 100644\r
1961 index 0000000..f412770\r
1962 --- /dev/null\r
1963 +++ b/test/tests/thread-naming/00400-changed-thread-name-newest-first-searc=\r
1964 h.test\r
1965 @@ -0,0 +1,3 @@\r
1966 +printf " Changed thread name (newest-first search)...\t"\r
1967 +output=3D$($NOTMUCH search --sort=3Dnewest-first thread-naming and tag:inb=\r
1968 ox | notmuch_search_sanitize)\r
1969 +pass_if_equal "$output" "thread:XXX   2001-01-07 [2/4] Notmuch Test Suite;=\r
1970  thread-naming: Newer changed subject (inbox unread)"\r
1971 diff --git a/test/tests/thread-naming/00500-ignore-added-reply-prefix-re.te=\r
1972 st b/test/tests/thread-naming/00500-ignore-added-reply-prefix-re.test\r
1973 new file mode 100644\r
1974 index 0000000..7c1544a\r
1975 --- /dev/null\r
1976 +++ b/test/tests/thread-naming/00500-ignore-added-reply-prefix-re.test\r
1977 @@ -0,0 +1,6 @@\r
1978 +printf " Ignore added reply prefix (Re:)...\t\t"\r
1979 +add_message '[subject]=3D"Re: thread-naming: Initial thread subject"' \\r
1980 +            '[date]=3D"Tue, 09 Jan 2001 15:43:45 -0800"' \\r
1981 +            "[in-reply-to]=3D\<$parent\>"\r
1982 +output=3D$($NOTMUCH search --sort=3Dnewest-first thread-naming and tag:inb=\r
1983 ox | notmuch_search_sanitize)\r
1984 +pass_if_equal "$output" "thread:XXX   2001-01-09 [3/5] Notmuch Test Suite;=\r
1985  thread-naming: Initial thread subject (inbox unread)"\r
1986 diff --git a/test/tests/thread-naming/00600-ignore-added-reply-prefix-aw.te=\r
1987 st b/test/tests/thread-naming/00600-ignore-added-reply-prefix-aw.test\r
1988 new file mode 100644\r
1989 index 0000000..d279fd1\r
1990 --- /dev/null\r
1991 +++ b/test/tests/thread-naming/00600-ignore-added-reply-prefix-aw.test\r
1992 @@ -0,0 +1,6 @@\r
1993 +printf " Ignore added reply prefix (Aw:)...\t\t"\r
1994 +add_message '[subject]=3D"Aw: thread-naming: Initial thread subject"' \\r
1995 +            '[date]=3D"Wed, 10 Jan 2001 15:43:45 -0800"' \\r
1996 +            "[in-reply-to]=3D\<$parent\>"\r
1997 +output=3D$($NOTMUCH search --sort=3Dnewest-first thread-naming and tag:inb=\r
1998 ox | notmuch_search_sanitize)\r
1999 +pass_if_equal "$output" "thread:XXX   2001-01-10 [4/6] Notmuch Test Suite;=\r
2000  thread-naming: Initial thread subject (inbox unread)"\r
2001 diff --git a/test/tests/thread-naming/00700-ignore-added-reply-prefix-vs.te=\r
2002 st b/test/tests/thread-naming/00700-ignore-added-reply-prefix-vs.test\r
2003 new file mode 100644\r
2004 index 0000000..02b6b0e\r
2005 --- /dev/null\r
2006 +++ b/test/tests/thread-naming/00700-ignore-added-reply-prefix-vs.test\r
2007 @@ -0,0 +1,6 @@\r
2008 +printf " Ignore added reply prefix (Vs:)...\t\t"\r
2009 +add_message '[subject]=3D"Vs: thread-naming: Initial thread subject"' \\r
2010 +            '[date]=3D"Thu, 11 Jan 2001 15:43:45 -0800"' \\r
2011 +            "[in-reply-to]=3D\<$parent\>"\r
2012 +output=3D$($NOTMUCH search --sort=3Dnewest-first thread-naming and tag:inb=\r
2013 ox | notmuch_search_sanitize)\r
2014 +pass_if_equal "$output" "thread:XXX   2001-01-11 [5/7] Notmuch Test Suite;=\r
2015  thread-naming: Initial thread subject (inbox unread)"\r
2016 diff --git a/test/tests/thread-naming/00800-ignore-added-reply-prefix-sv.te=\r
2017 st b/test/tests/thread-naming/00800-ignore-added-reply-prefix-sv.test\r
2018 new file mode 100644\r
2019 index 0000000..1014ece\r
2020 --- /dev/null\r
2021 +++ b/test/tests/thread-naming/00800-ignore-added-reply-prefix-sv.test\r
2022 @@ -0,0 +1,6 @@\r
2023 +printf " Ignore added reply prefix (Sv:)...\t\t"\r
2024 +add_message '[subject]=3D"Sv: thread-naming: Initial thread subject"' \\r
2025 +            '[date]=3D"Fri, 12 Jan 2001 15:43:45 -0800"' \\r
2026 +            "[in-reply-to]=3D\<$parent\>"\r
2027 +output=3D$($NOTMUCH search --sort=3Dnewest-first thread-naming and tag:inb=\r
2028 ox | notmuch_search_sanitize)\r
2029 +pass_if_equal "$output" "thread:XXX   2001-01-12 [6/8] Notmuch Test Suite;=\r
2030  thread-naming: Initial thread subject (inbox unread)"\r
2031 diff --git a/test/tests/thread-naming/00900-test-order-of-messages-in-nm-sh=\r
2032 ow.test b/test/tests/thread-naming/00900-test-order-of-messages-in-nm-show.=\r
2033 test\r
2034 new file mode 100644\r
2035 index 0000000..61af4c1\r
2036 --- /dev/null\r
2037 +++ b/test/tests/thread-naming/00900-test-order-of-messages-in-nm-show.test\r
2038 @@ -0,0 +1,114 @@\r
2039 +printf " Test order of messages in \"notmuch show\"\t"\r
2040 +output=3D$($NOTMUCH show thread-naming | notmuch_show_sanitize)\r
2041 +pass_if_equal "$output" "\f\r
2042 message{ id:msg-$(printf "%03d" $first)@notmuch-=\r
2043 test-suite depth:0 match:1 filename:/XXX/mail/msg-$(printf "%03d" $first)\r
2044 +\f\r
2045 header{\r
2046 +Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (unread)\r
2047 +Subject: thread-naming: Initial thread subject\r
2048 +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2049 +To: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2050 +Date: Fri, 05 Jan 2001 15:43:56 -0800\r
2051 +\f\r
2052 header}\r
2053 +\f\r
2054 body{\r
2055 +\f\r
2056 part{ ID: 1, Content-type: text/plain\r
2057 +This is just a test message (#$first)\r
2058 +\f\r
2059 part}\r
2060 +\f\r
2061 body}\r
2062 +\f\r
2063 message}\r
2064 +\f\r
2065 message{ id:msg-$(printf "%03d" $((first + 1)))@notmuch-test-suite depth:=\r
2066 1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 1)))\r
2067 +\f\r
2068 header{\r
2069 +Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-06) (inbox unread)\r
2070 +Subject: thread-naming: Older changed subject\r
2071 +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2072 +To: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2073 +Date: Sat, 06 Jan 2001 15:43:56 -0800\r
2074 +\f\r
2075 header}\r
2076 +\f\r
2077 body{\r
2078 +\f\r
2079 part{ ID: 1, Content-type: text/plain\r
2080 +This is just a test message (#$((first + 1)))\r
2081 +\f\r
2082 part}\r
2083 +\f\r
2084 body}\r
2085 +\f\r
2086 message}\r
2087 +\f\r
2088 message{ id:msg-$(printf "%03d" $((first + 2)))@notmuch-test-suite depth:=\r
2089 1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 2)))\r
2090 +\f\r
2091 header{\r
2092 +Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-07) (inbox unread)\r
2093 +Subject: thread-naming: Newer changed subject\r
2094 +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2095 +To: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2096 +Date: Sun, 07 Jan 2001 15:43:56 -0800\r
2097 +\f\r
2098 header}\r
2099 +\f\r
2100 body{\r
2101 +\f\r
2102 part{ ID: 1, Content-type: text/plain\r
2103 +This is just a test message (#$((first + 2)))\r
2104 +\f\r
2105 part}\r
2106 +\f\r
2107 body}\r
2108 +\f\r
2109 message}\r
2110 +\f\r
2111 message{ id:msg-$(printf "%03d" $((first + 3)))@notmuch-test-suite depth:=\r
2112 1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 3)))\r
2113 +\f\r
2114 header{\r
2115 +Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-08) (unread)\r
2116 +Subject: thread-naming: Final thread subject\r
2117 +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2118 +To: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2119 +Date: Mon, 08 Jan 2001 15:43:56 -0800\r
2120 +\f\r
2121 header}\r
2122 +\f\r
2123 body{\r
2124 +\f\r
2125 part{ ID: 1, Content-type: text/plain\r
2126 +This is just a test message (#$((first + 3)))\r
2127 +\f\r
2128 part}\r
2129 +\f\r
2130 body}\r
2131 +\f\r
2132 message}\r
2133 +\f\r
2134 message{ id:msg-$(printf "%03d" $((first + 4)))@notmuch-test-suite depth:=\r
2135 1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 4)))\r
2136 +\f\r
2137 header{\r
2138 +Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-09) (inbox unread)\r
2139 +Subject: Re: thread-naming: Initial thread subject\r
2140 +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2141 +To: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2142 +Date: Tue, 09 Jan 2001 15:43:45 -0800\r
2143 +\f\r
2144 header}\r
2145 +\f\r
2146 body{\r
2147 +\f\r
2148 part{ ID: 1, Content-type: text/plain\r
2149 +This is just a test message (#$((first + 4)))\r
2150 +\f\r
2151 part}\r
2152 +\f\r
2153 body}\r
2154 +\f\r
2155 message}\r
2156 +\f\r
2157 message{ id:msg-$(printf "%03d" $((first + 5)))@notmuch-test-suite depth:=\r
2158 1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 5)))\r
2159 +\f\r
2160 header{\r
2161 +Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-10) (inbox unread)\r
2162 +Subject: Aw: thread-naming: Initial thread subject\r
2163 +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2164 +To: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2165 +Date: Wed, 10 Jan 2001 15:43:45 -0800\r
2166 +\f\r
2167 header}\r
2168 +\f\r
2169 body{\r
2170 +\f\r
2171 part{ ID: 1, Content-type: text/plain\r
2172 +This is just a test message (#$((first + 5)))\r
2173 +\f\r
2174 part}\r
2175 +\f\r
2176 body}\r
2177 +\f\r
2178 message}\r
2179 +\f\r
2180 message{ id:msg-$(printf "%03d" $((first + 6)))@notmuch-test-suite depth:=\r
2181 1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 6)))\r
2182 +\f\r
2183 header{\r
2184 +Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-11) (inbox unread)\r
2185 +Subject: Vs: thread-naming: Initial thread subject\r
2186 +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2187 +To: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2188 +Date: Thu, 11 Jan 2001 15:43:45 -0800\r
2189 +\f\r
2190 header}\r
2191 +\f\r
2192 body{\r
2193 +\f\r
2194 part{ ID: 1, Content-type: text/plain\r
2195 +This is just a test message (#$((first + 6)))\r
2196 +\f\r
2197 part}\r
2198 +\f\r
2199 body}\r
2200 +\f\r
2201 message}\r
2202 +\f\r
2203 message{ id:msg-$(printf "%03d" $((first + 7)))@notmuch-test-suite depth:=\r
2204 1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 7)))\r
2205 +\f\r
2206 header{\r
2207 +Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-12) (inbox unread)\r
2208 +Subject: Sv: thread-naming: Initial thread subject\r
2209 +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2210 +To: Notmuch Test Suite <test_suite@notmuchmail.org>\r
2211 +Date: Fri, 12 Jan 2001 15:43:45 -0800\r
2212 +\f\r
2213 header}\r
2214 +\f\r
2215 body{\r
2216 +\f\r
2217 part{ ID: 1, Content-type: text/plain\r
2218 +This is just a test message (#$((first + 7)))\r
2219 +\f\r
2220 part}\r
2221 +\f\r
2222 body}\r
2223 +\f\r
2224 message}"\r
2225 diff --git a/test/tests/thread-naming/99999-thread-naming.setup b/test/test=\r
2226 s/thread-naming/99999-thread-naming.setup\r
2227 new file mode 100644\r
2228 index 0000000..ce00cfc\r
2229 --- /dev/null\r
2230 +++ b/test/tests/thread-naming/99999-thread-naming.setup\r
2231 @@ -0,0 +1,4 @@\r
2232 +printf " Cleaning up...\n"\r
2233 +\r
2234 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
2235 +$NOTMUCH new > /dev/null\r
2236 diff --git a/test/tests/uuencoded/00001-uuencoded.setup b/test/tests/uuenco=\r
2237 ded/00001-uuencoded.setup\r
2238 new file mode 100644\r
2239 index 0000000..11e6694\r
2240 --- /dev/null\r
2241 +++ b/test/tests/uuencoded/00001-uuencoded.setup\r
2242 @@ -0,0 +1,19 @@\r
2243 +printf "\nTesting handling of uuencoded data:\n"\r
2244 +printf " Setting up...\n"\r
2245 +\r
2246 +add_message [subject]=3Duuencodetest '[date]=3D"Sat, 01 Jan 2000 12:00:00 =\r
2247 -0000"' \\r
2248 +'[body]=3D"This message is used to ensure that notmuch correctly handles a\r
2249 +message containing a block of uuencoded data. First, we have a marker\r
2250 +this content beforeuudata . Then we beging the uunencoded data itself:\r
2251 +\r
2252 +begin 644 bogus-uuencoded-data\r
2253 +M0123456789012345678901234567890123456789012345678901234567890\r
2254 +MOBVIOUSLY, THIS IS NOT ANY SORT OF USEFUL UUNECODED DATA.\r
2255 +MINSTEAD THIS IS JUST A WAY TO ENSURE THAT THIS BLOCK OF DATA\r
2256 +MIS CORRECTLY IGNORED WHEN NOTMUCH CREATES ITS INDEX. SO WE\r
2257 +MINCLUDE A DURINGUUDATA MARKER THAT SHOULD NOT RESULT IN ANY\r
2258 +MSEARCH RESULT.\r
2259 +\`\r
2260 +end\r
2261 +\r
2262 +Finally, we have our afteruudata marker as well."'\r
2263 diff --git a/test/tests/uuencoded/00100-index-content-before-uu.test b/test=\r
2264 /tests/uuencoded/00100-index-content-before-uu.test\r
2265 new file mode 100644\r
2266 index 0000000..97d04a8\r
2267 --- /dev/null\r
2268 +++ b/test/tests/uuencoded/00100-index-content-before-uu.test\r
2269 @@ -0,0 +1,3 @@\r
2270 +printf " Ensure content before uu data is indexed...\t"\r
2271 +output=3D$($NOTMUCH search beforeuudata | notmuch_search_sanitize)\r
2272 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
2273  uuencodetest (inbox unread)"\r
2274 diff --git a/test/tests/uuencoded/00200-dont-index-uu-data.test b/test/test=\r
2275 s/uuencoded/00200-dont-index-uu-data.test\r
2276 new file mode 100644\r
2277 index 0000000..dcfe41e\r
2278 --- /dev/null\r
2279 +++ b/test/tests/uuencoded/00200-dont-index-uu-data.test\r
2280 @@ -0,0 +1,3 @@\r
2281 +printf " Ensure uu data is not indexed...\t\t"\r
2282 +output=3D$($NOTMUCH search DURINGUUDATA | notmuch_search_sanitize)\r
2283 +pass_if_equal "$output" ""\r
2284 diff --git a/test/tests/uuencoded/00300-index-data-after-uu.test b/test/tes=\r
2285 ts/uuencoded/00300-index-data-after-uu.test\r
2286 new file mode 100644\r
2287 index 0000000..1cd7221\r
2288 --- /dev/null\r
2289 +++ b/test/tests/uuencoded/00300-index-data-after-uu.test\r
2290 @@ -0,0 +1,3 @@\r
2291 +printf " Ensure content after uu data is indexed...\t"\r
2292 +output=3D$($NOTMUCH search afteruudata | notmuch_search_sanitize)\r
2293 +pass_if_equal "$output" "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite;=\r
2294  uuencodetest (inbox unread)"\r
2295 diff --git a/test/tests/uuencoded/99999-uuencoded.setup b/test/tests/uuenco=\r
2296 ded/99999-uuencoded.setup\r
2297 new file mode 100644\r
2298 index 0000000..ce00cfc\r
2299 --- /dev/null\r
2300 +++ b/test/tests/uuencoded/99999-uuencoded.setup\r
2301 @@ -0,0 +1,4 @@\r
2302 +printf " Cleaning up...\n"\r
2303 +\r
2304 +rm -rf ${MAIL_DIR}/* ${MAIL_DIR}/.notmuch\r
2305 +$NOTMUCH new > /dev/null\r
2306 --=20\r
2307 1.6.3.3\r
2308 \r