]> git.cworth.org Git - notmuch/blob - test/T140-excludes.sh
NEWS: At least Emacs 25.1 is required now
[notmuch] / test / T140-excludes.sh
1 #!/usr/bin/env bash
2 test_description='"notmuch search, count and show" with excludes in several variations'
3 . $(dirname "$0")/test-lib.sh || exit 1
4
5 # Generates a thread consisting of a top level message and 'length'
6 # replies. The subject of the top message 'subject: top message"
7 # and the subject of the nth reply in the thread is "subject: reply n"
8 generate_thread ()
9 {
10     local subject="$1"
11     local length="$2"
12     generate_message '[subject]="'"${subject}: top message"'"' '[body]="'"body of top message"'"'
13     parent_id=$gen_msg_id
14     gen_thread_msg_id[0]=$gen_msg_id
15     for i in `seq 1 $length`
16     do
17         generate_message '[subject]="'"${subject}: reply $i"'"' \
18                          "[in-reply-to]=\<$parent_id\>" \
19                          '[body]="'"body of reply $i"'"'
20         gen_thread_msg_id[$i]=$gen_msg_id
21         parent_id=$gen_msg_id
22     done
23     notmuch new > /dev/null
24     # We cannot retrieve the thread_id until after we have run notmuch new.
25     gen_thread_id=`notmuch search --output=threads id:${gen_thread_msg_id[0]}`
26 }
27
28 #############################################
29 # These are the original search exclude tests.
30
31 test_begin_subtest "Search, exclude \"deleted\" messages from search"
32 notmuch config set search.exclude_tags deleted
33 generate_message '[subject]="Not deleted"'
34 not_deleted_id=$gen_msg_id
35 generate_message '[subject]="Deleted"'
36 notmuch new > /dev/null
37 notmuch tag +deleted id:$gen_msg_id
38 deleted_id=$gen_msg_id
39 output=$(notmuch search subject:deleted | notmuch_search_sanitize)
40 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; Not deleted (inbox unread)"
41
42 test_begin_subtest "Search, exclude \"deleted\" messages from message search"
43 output=$(notmuch search --output=messages subject:deleted | notmuch_search_sanitize)
44 test_expect_equal "$output" "id:$not_deleted_id"
45
46 test_begin_subtest "Search, exclude \"deleted\" messages from message search --exclude=false"
47 output=$(notmuch search --exclude=false --output=messages subject:deleted | notmuch_search_sanitize)
48 test_expect_equal "$output" "id:$not_deleted_id
49 id:$deleted_id"
50
51 test_begin_subtest "Search, exclude \"deleted\" messages from message search (non-existent exclude-tag)"
52 notmuch config set search.exclude_tags deleted non_existent_tag
53 output=$(notmuch search --output=messages subject:deleted | notmuch_search_sanitize)
54 test_expect_equal "$output" "id:$not_deleted_id"
55 notmuch config set search.exclude_tags deleted
56
57 test_begin_subtest "Search, exclude \"deleted\" messages from search, overridden"
58 output=$(notmuch search subject:deleted and tag:deleted | notmuch_search_sanitize)
59 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; Deleted (deleted inbox unread)"
60
61 test_begin_subtest "Search, exclude \"deleted\" messages from threads"
62 add_message '[subject]="Not deleted reply"' '[in-reply-to]="<$gen_msg_id>"'
63 output=$(notmuch search subject:deleted | notmuch_search_sanitize)
64 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; Not deleted (inbox unread)
65 thread:XXX   2001-01-05 [1/2] Notmuch Test Suite; Not deleted reply (deleted inbox unread)"
66
67 test_begin_subtest "Search, don't exclude \"deleted\" messages when --exclude=flag specified"
68 output=$(notmuch search --exclude=flag subject:deleted | notmuch_search_sanitize)
69 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; Not deleted (inbox unread)
70 thread:XXX   2001-01-05 [1/2] Notmuch Test Suite; Deleted (deleted inbox unread)"
71
72 test_begin_subtest "Search, don't exclude \"deleted\" messages from search if not configured"
73 notmuch config set search.exclude_tags
74 output=$(notmuch search subject:deleted | notmuch_search_sanitize)
75 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; Not deleted (inbox unread)
76 thread:XXX   2001-01-05 [2/2] Notmuch Test Suite; Deleted (deleted inbox unread)"
77
78
79 ########################################################
80 # We construct some threads for the tests. We use the tag "test" to
81 # indicate which messages we will search for.
82
83 # A thread of deleted messages; test matches one of them.
84 generate_thread "All messages excluded: single match" 5
85 notmuch tag +deleted $gen_thread_id
86 notmuch tag +test id:${gen_thread_msg_id[2]}
87
88 # A thread of deleted messages; test matches two of them.
89 generate_thread "All messages excluded: double match" 5
90 notmuch tag +deleted $gen_thread_id
91 notmuch tag +test id:${gen_thread_msg_id[2]}
92 notmuch tag +test id:${gen_thread_msg_id[4]}
93
94 # A thread some messages deleted; test only matches a deleted message.
95 generate_thread "Some messages excluded: single excluded match" 5
96 notmuch tag +deleted +test id:${gen_thread_msg_id[3]}
97
98 # A thread some messages deleted; test only matches a non-deleted message.
99 generate_thread "Some messages excluded: single non-excluded match" 5
100 notmuch tag +deleted id:${gen_thread_msg_id[2]}
101 notmuch tag +test id:${gen_thread_msg_id[4]}
102
103 # A thread no messages deleted; test matches a message.
104 generate_thread "No messages excluded: single match" 5
105 notmuch tag +test id:${gen_thread_msg_id[3]}
106
107 # Temporarily remove excludes to get list of matching messages
108 notmuch config set search.exclude_tags
109 matching_message_ids=( `notmuch search --output=messages tag:test` )
110 notmuch config set search.exclude_tags deleted
111
112 #########################################
113 # Notmuch search tests
114
115 test_begin_subtest "Search, default exclusion (thread summary)"
116 output=$(notmuch search tag:test | notmuch_search_sanitize)
117 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; Some messages excluded: single non-excluded match: reply 4 (deleted inbox test unread)
118 thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; No messages excluded: single match: reply 3 (inbox test unread)"
119
120 test_begin_subtest "Search, default exclusion (messages)"
121 output=$(notmuch search --output=messages tag:test | notmuch_search_sanitize)
122 test_expect_equal "$output" "${matching_message_ids[4]}
123 ${matching_message_ids[5]}"
124
125 test_begin_subtest "Search, exclude=true (thread summary)"
126 output=$(notmuch search --exclude=true tag:test | notmuch_search_sanitize)
127 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; Some messages excluded: single non-excluded match: reply 4 (deleted inbox test unread)
128 thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; No messages excluded: single match: reply 3 (inbox test unread)"
129
130 test_begin_subtest "Search, exclude=true (messages)"
131 output=$(notmuch search --exclude=true --output=messages tag:test | notmuch_search_sanitize)
132 test_expect_equal "$output" "${matching_message_ids[4]}
133 ${matching_message_ids[5]}"
134
135 test_begin_subtest "Search, exclude=false (thread summary)"
136 output=$(notmuch search --exclude=false tag:test | notmuch_search_sanitize)
137 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; All messages excluded: single match: reply 2 (deleted inbox test unread)
138 thread:XXX   2001-01-05 [2/6] Notmuch Test Suite; All messages excluded: double match: reply 2 (deleted inbox test unread)
139 thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; Some messages excluded: single excluded match: reply 3 (deleted inbox test unread)
140 thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; Some messages excluded: single non-excluded match: reply 4 (deleted inbox test unread)
141 thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; No messages excluded: single match: reply 3 (inbox test unread)"
142
143 test_begin_subtest "Search, exclude=false (messages)"
144 output=$(notmuch search --exclude=false --output=messages tag:test | notmuch_search_sanitize)
145 test_expect_equal "$output" "${matching_message_ids[0]}
146 ${matching_message_ids[1]}
147 ${matching_message_ids[2]}
148 ${matching_message_ids[3]}
149 ${matching_message_ids[4]}
150 ${matching_message_ids[5]}"
151
152 test_begin_subtest "Search, exclude=flag (thread summary)"
153 output=$(notmuch search --exclude=flag tag:test | notmuch_search_sanitize)
154 test_expect_equal "$output" "thread:XXX   2001-01-05 [0/6] Notmuch Test Suite; All messages excluded: single match: reply 2 (deleted inbox test unread)
155 thread:XXX   2001-01-05 [0/6] Notmuch Test Suite; All messages excluded: double match: reply 2 (deleted inbox test unread)
156 thread:XXX   2001-01-05 [0/6] Notmuch Test Suite; Some messages excluded: single excluded match: reply 3 (deleted inbox test unread)
157 thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; Some messages excluded: single non-excluded match: reply 4 (deleted inbox test unread)
158 thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; No messages excluded: single match: reply 3 (inbox test unread)"
159
160 test_begin_subtest "Search, exclude=flag (messages)"
161 output=$(notmuch search --exclude=flag --output=messages tag:test | notmuch_search_sanitize)
162 test_expect_equal "$output" "${matching_message_ids[0]}
163 ${matching_message_ids[1]}
164 ${matching_message_ids[2]}
165 ${matching_message_ids[3]}
166 ${matching_message_ids[4]}
167 ${matching_message_ids[5]}"
168
169 test_begin_subtest "Search, exclude=all (thread summary)"
170 output=$(notmuch search --exclude=all tag:test | notmuch_search_sanitize)
171 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/5] Notmuch Test Suite; Some messages excluded: single non-excluded match: reply 4 (inbox test unread)
172 thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; No messages excluded: single match: reply 3 (inbox test unread)"
173
174 test_begin_subtest "Search, exclude=all (messages)"
175 output=$(notmuch search --exclude=all --output=messages tag:test | notmuch_search_sanitize)
176 test_expect_equal "$output" "${matching_message_ids[4]}
177 ${matching_message_ids[5]}"
178
179 test_begin_subtest "Search, default exclusion: tag in query (thread summary)"
180 output=$(notmuch search tag:test and tag:deleted | notmuch_search_sanitize)
181 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; All messages excluded: single match: reply 2 (deleted inbox test unread)
182 thread:XXX   2001-01-05 [2/6] Notmuch Test Suite; All messages excluded: double match: reply 2 (deleted inbox test unread)
183 thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; Some messages excluded: single excluded match: reply 3 (deleted inbox test unread)"
184
185 test_begin_subtest "Search, default exclusion: tag in query (messages)"
186 output=$(notmuch search --output=messages tag:test and tag:deleted | notmuch_search_sanitize)
187 test_expect_equal "$output" "${matching_message_ids[0]}
188 ${matching_message_ids[1]}
189 ${matching_message_ids[2]}
190 ${matching_message_ids[3]}"
191
192 test_begin_subtest "Search, exclude=true: tag in query (thread summary)"
193 output=$(notmuch search --exclude=true tag:test and tag:deleted | notmuch_search_sanitize)
194 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; All messages excluded: single match: reply 2 (deleted inbox test unread)
195 thread:XXX   2001-01-05 [2/6] Notmuch Test Suite; All messages excluded: double match: reply 2 (deleted inbox test unread)
196 thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; Some messages excluded: single excluded match: reply 3 (deleted inbox test unread)"
197
198 test_begin_subtest "Search, exclude=true: tag in query (messages)"
199 output=$(notmuch search --exclude=true --output=messages tag:test and tag:deleted | notmuch_search_sanitize)
200 test_expect_equal "$output" "${matching_message_ids[0]}
201 ${matching_message_ids[1]}
202 ${matching_message_ids[2]}
203 ${matching_message_ids[3]}"
204
205 test_begin_subtest "Search, exclude=false: tag in query (thread summary)"
206 output=$(notmuch search --exclude=false tag:test and tag:deleted | notmuch_search_sanitize)
207 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; All messages excluded: single match: reply 2 (deleted inbox test unread)
208 thread:XXX   2001-01-05 [2/6] Notmuch Test Suite; All messages excluded: double match: reply 2 (deleted inbox test unread)
209 thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; Some messages excluded: single excluded match: reply 3 (deleted inbox test unread)"
210
211 test_begin_subtest "Search, exclude=false: tag in query (messages)"
212 output=$(notmuch search --exclude=false --output=messages tag:test and tag:deleted | notmuch_search_sanitize)
213 test_expect_equal "$output" "${matching_message_ids[0]}
214 ${matching_message_ids[1]}
215 ${matching_message_ids[2]}
216 ${matching_message_ids[3]}"
217
218 test_begin_subtest "Search, exclude=flag: tag in query (thread summary)"
219 output=$(notmuch search --exclude=flag tag:test and tag:deleted | notmuch_search_sanitize)
220 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; All messages excluded: single match: reply 2 (deleted inbox test unread)
221 thread:XXX   2001-01-05 [2/6] Notmuch Test Suite; All messages excluded: double match: reply 2 (deleted inbox test unread)
222 thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; Some messages excluded: single excluded match: reply 3 (deleted inbox test unread)"
223
224 test_begin_subtest "Search, exclude=flag: tag in query (messages)"
225 output=$(notmuch search --exclude=flag --output=messages tag:test and tag:deleted | notmuch_search_sanitize)
226 test_expect_equal "$output" "${matching_message_ids[0]}
227 ${matching_message_ids[1]}
228 ${matching_message_ids[2]}
229 ${matching_message_ids[3]}"
230
231 test_begin_subtest "Search, exclude=all: tag in query (thread summary)"
232 output=$(notmuch search --exclude=all tag:test and tag:deleted | notmuch_search_sanitize)
233 test_expect_equal "$output" "thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; All messages excluded: single match: reply 2 (deleted inbox test unread)
234 thread:XXX   2001-01-05 [2/6] Notmuch Test Suite; All messages excluded: double match: reply 2 (deleted inbox test unread)
235 thread:XXX   2001-01-05 [1/6] Notmuch Test Suite; Some messages excluded: single excluded match: reply 3 (deleted inbox test unread)"
236
237 test_begin_subtest "Search, exclude=all: tag in query (messages)"
238 output=$(notmuch search --exclude=all --output=messages tag:test and tag:deleted | notmuch_search_sanitize)
239 test_expect_equal "$output" "${matching_message_ids[0]}
240 ${matching_message_ids[1]}
241 ${matching_message_ids[2]}
242 ${matching_message_ids[3]}"
243
244 #########################################################
245 # Notmuch count tests
246
247 test_begin_subtest "Count, default exclusion (messages)"
248 output=$(notmuch count tag:test)
249 test_expect_equal "$output" "2"
250
251 test_begin_subtest "Count, default exclusion (threads)"
252 output=$(notmuch count --output=threads tag:test)
253 test_expect_equal "$output" "2"
254
255 test_begin_subtest "Count, exclude=true (messages)"
256 output=$(notmuch count --exclude=true tag:test)
257 test_expect_equal "$output" "2"
258
259 test_begin_subtest "Count, exclude=true (threads)"
260 output=$(notmuch count --output=threads --exclude=true tag:test)
261 test_expect_equal "$output" "2"
262
263 test_begin_subtest "Count, exclude=false (messages)"
264 output=$(notmuch count --exclude=false tag:test)
265 test_expect_equal "$output" "6"
266
267 test_begin_subtest "Count, exclude=false (threads)"
268 output=$(notmuch count --output=threads --exclude=false tag:test)
269 test_expect_equal "$output" "5"
270
271 test_begin_subtest "Count, default exclusion: tag in query (messages)"
272 output=$(notmuch count tag:test and tag:deleted)
273 test_expect_equal "$output" "4"
274
275 test_begin_subtest "Count, default exclusion: tag in query (threads)"
276 output=$(notmuch count --output=threads tag:test and tag:deleted)
277 test_expect_equal "$output" "3"
278
279 test_begin_subtest "Count, exclude=true: tag in query (messages)"
280 output=$(notmuch count --exclude=true tag:test and tag:deleted)
281 test_expect_equal "$output" "4"
282
283 test_begin_subtest "Count, exclude=true: tag in query (threads)"
284 output=$(notmuch count --output=threads --exclude=true tag:test and tag:deleted)
285 test_expect_equal "$output" "3"
286
287 test_begin_subtest "Count, exclude=false: tag in query (messages)"
288 output=$(notmuch count --exclude=false tag:test and tag:deleted)
289 test_expect_equal "$output" "4"
290
291 test_begin_subtest "Count, exclude=false: tag in query (threads)"
292 output=$(notmuch count --output=threads --exclude=false tag:test and tag:deleted)
293 test_expect_equal "$output" "3"
294
295 #############################################################
296 # Show tests
297
298 test_begin_subtest "Show, default exclusion"
299 output=$(notmuch show tag:test | notmuch_show_sanitize_all | egrep "Subject:|message{")
300 test_expect_equal "$output" "\fmessage{ id:XXXXX depth:0 match:1 excluded:0 filename:XXXXX
301 Subject: Some messages excluded: single non-excluded match: reply 4
302 \fmessage{ id:XXXXX depth:0 match:1 excluded:0 filename:XXXXX
303 Subject: No messages excluded: single match: reply 3"
304
305 test_begin_subtest "Show, default exclusion (entire-thread)"
306 output=$(notmuch show --entire-thread tag:test | notmuch_show_sanitize_all | egrep "Subject:|message{")
307 test_expect_equal "$output" "\fmessage{ id:XXXXX depth:0 match:0 excluded:0 filename:XXXXX
308 Subject: Some messages excluded: single non-excluded match: top message
309 \fmessage{ id:XXXXX depth:1 match:0 excluded:0 filename:XXXXX
310 Subject: Some messages excluded: single non-excluded match: reply 1
311 \fmessage{ id:XXXXX depth:2 match:0 excluded:1 filename:XXXXX
312 Subject: Some messages excluded: single non-excluded match: reply 2
313 \fmessage{ id:XXXXX depth:3 match:0 excluded:0 filename:XXXXX
314 Subject: Some messages excluded: single non-excluded match: reply 3
315 \fmessage{ id:XXXXX depth:4 match:1 excluded:0 filename:XXXXX
316 Subject: Some messages excluded: single non-excluded match: reply 4
317 \fmessage{ id:XXXXX depth:5 match:0 excluded:0 filename:XXXXX
318 Subject: Some messages excluded: single non-excluded match: reply 5
319 \fmessage{ id:XXXXX depth:0 match:0 excluded:0 filename:XXXXX
320 Subject: No messages excluded: single match: top message
321 \fmessage{ id:XXXXX depth:1 match:0 excluded:0 filename:XXXXX
322 Subject: No messages excluded: single match: reply 1
323 \fmessage{ id:XXXXX depth:2 match:0 excluded:0 filename:XXXXX
324 Subject: No messages excluded: single match: reply 2
325 \fmessage{ id:XXXXX depth:3 match:1 excluded:0 filename:XXXXX
326 Subject: No messages excluded: single match: reply 3
327 \fmessage{ id:XXXXX depth:4 match:0 excluded:0 filename:XXXXX
328 Subject: No messages excluded: single match: reply 4
329 \fmessage{ id:XXXXX depth:5 match:0 excluded:0 filename:XXXXX
330 Subject: No messages excluded: single match: reply 5"
331
332 test_begin_subtest "Show, exclude=true"
333 output=$(notmuch show --exclude=true tag:test | notmuch_show_sanitize_all | egrep "Subject:|message{")
334 test_expect_equal "$output" "\fmessage{ id:XXXXX depth:0 match:1 excluded:0 filename:XXXXX
335 Subject: Some messages excluded: single non-excluded match: reply 4
336 \fmessage{ id:XXXXX depth:0 match:1 excluded:0 filename:XXXXX
337 Subject: No messages excluded: single match: reply 3"
338
339 test_begin_subtest "Show, exclude=true (entire-thread)"
340 output=$(notmuch show --entire-thread --exclude=true tag:test | notmuch_show_sanitize_all | egrep "Subject:|message{")
341 test_expect_equal "$output" "\fmessage{ id:XXXXX depth:0 match:0 excluded:0 filename:XXXXX
342 Subject: Some messages excluded: single non-excluded match: top message
343 \fmessage{ id:XXXXX depth:1 match:0 excluded:0 filename:XXXXX
344 Subject: Some messages excluded: single non-excluded match: reply 1
345 \fmessage{ id:XXXXX depth:2 match:0 excluded:1 filename:XXXXX
346 Subject: Some messages excluded: single non-excluded match: reply 2
347 \fmessage{ id:XXXXX depth:3 match:0 excluded:0 filename:XXXXX
348 Subject: Some messages excluded: single non-excluded match: reply 3
349 \fmessage{ id:XXXXX depth:4 match:1 excluded:0 filename:XXXXX
350 Subject: Some messages excluded: single non-excluded match: reply 4
351 \fmessage{ id:XXXXX depth:5 match:0 excluded:0 filename:XXXXX
352 Subject: Some messages excluded: single non-excluded match: reply 5
353 \fmessage{ id:XXXXX depth:0 match:0 excluded:0 filename:XXXXX
354 Subject: No messages excluded: single match: top message
355 \fmessage{ id:XXXXX depth:1 match:0 excluded:0 filename:XXXXX
356 Subject: No messages excluded: single match: reply 1
357 \fmessage{ id:XXXXX depth:2 match:0 excluded:0 filename:XXXXX
358 Subject: No messages excluded: single match: reply 2
359 \fmessage{ id:XXXXX depth:3 match:1 excluded:0 filename:XXXXX
360 Subject: No messages excluded: single match: reply 3
361 \fmessage{ id:XXXXX depth:4 match:0 excluded:0 filename:XXXXX
362 Subject: No messages excluded: single match: reply 4
363 \fmessage{ id:XXXXX depth:5 match:0 excluded:0 filename:XXXXX
364 Subject: No messages excluded: single match: reply 5"
365
366 test_begin_subtest "Show, exclude=false"
367 output=$(notmuch show --exclude=false tag:test | notmuch_show_sanitize_all  | egrep "Subject:|message{")
368 test_expect_equal "$output" "\fmessage{ id:XXXXX depth:0 match:1 excluded:1 filename:XXXXX
369 Subject: All messages excluded: single match: reply 2
370 \fmessage{ id:XXXXX depth:0 match:1 excluded:1 filename:XXXXX
371 Subject: All messages excluded: double match: reply 2
372 \fmessage{ id:XXXXX depth:1 match:1 excluded:1 filename:XXXXX
373 Subject: All messages excluded: double match: reply 4
374 \fmessage{ id:XXXXX depth:0 match:1 excluded:1 filename:XXXXX
375 Subject: Some messages excluded: single excluded match: reply 3
376 \fmessage{ id:XXXXX depth:0 match:1 excluded:0 filename:XXXXX
377 Subject: Some messages excluded: single non-excluded match: reply 4
378 \fmessage{ id:XXXXX depth:0 match:1 excluded:0 filename:XXXXX
379 Subject: No messages excluded: single match: reply 3"
380
381 test_begin_subtest "Show, exclude=false (entire-thread)"
382 output=$(notmuch show --entire-thread --exclude=false tag:test | notmuch_show_sanitize_all | egrep "Subject:|message{")
383 test_expect_equal "$output" "\fmessage{ id:XXXXX depth:0 match:0 excluded:1 filename:XXXXX
384 Subject: All messages excluded: single match: top message
385 \fmessage{ id:XXXXX depth:1 match:0 excluded:1 filename:XXXXX
386 Subject: All messages excluded: single match: reply 1
387 \fmessage{ id:XXXXX depth:2 match:1 excluded:1 filename:XXXXX
388 Subject: All messages excluded: single match: reply 2
389 \fmessage{ id:XXXXX depth:3 match:0 excluded:1 filename:XXXXX
390 Subject: All messages excluded: single match: reply 3
391 \fmessage{ id:XXXXX depth:4 match:0 excluded:1 filename:XXXXX
392 Subject: All messages excluded: single match: reply 4
393 \fmessage{ id:XXXXX depth:5 match:0 excluded:1 filename:XXXXX
394 Subject: All messages excluded: single match: reply 5
395 \fmessage{ id:XXXXX depth:0 match:0 excluded:1 filename:XXXXX
396 Subject: All messages excluded: double match: top message
397 \fmessage{ id:XXXXX depth:1 match:0 excluded:1 filename:XXXXX
398 Subject: All messages excluded: double match: reply 1
399 \fmessage{ id:XXXXX depth:2 match:1 excluded:1 filename:XXXXX
400 Subject: All messages excluded: double match: reply 2
401 \fmessage{ id:XXXXX depth:3 match:0 excluded:1 filename:XXXXX
402 Subject: All messages excluded: double match: reply 3
403 \fmessage{ id:XXXXX depth:4 match:1 excluded:1 filename:XXXXX
404 Subject: All messages excluded: double match: reply 4
405 \fmessage{ id:XXXXX depth:5 match:0 excluded:1 filename:XXXXX
406 Subject: All messages excluded: double match: reply 5
407 \fmessage{ id:XXXXX depth:0 match:0 excluded:0 filename:XXXXX
408 Subject: Some messages excluded: single excluded match: top message
409 \fmessage{ id:XXXXX depth:1 match:0 excluded:0 filename:XXXXX
410 Subject: Some messages excluded: single excluded match: reply 1
411 \fmessage{ id:XXXXX depth:2 match:0 excluded:0 filename:XXXXX
412 Subject: Some messages excluded: single excluded match: reply 2
413 \fmessage{ id:XXXXX depth:3 match:1 excluded:1 filename:XXXXX
414 Subject: Some messages excluded: single excluded match: reply 3
415 \fmessage{ id:XXXXX depth:4 match:0 excluded:0 filename:XXXXX
416 Subject: Some messages excluded: single excluded match: reply 4
417 \fmessage{ id:XXXXX depth:5 match:0 excluded:0 filename:XXXXX
418 Subject: Some messages excluded: single excluded match: reply 5
419 \fmessage{ id:XXXXX depth:0 match:0 excluded:0 filename:XXXXX
420 Subject: Some messages excluded: single non-excluded match: top message
421 \fmessage{ id:XXXXX depth:1 match:0 excluded:0 filename:XXXXX
422 Subject: Some messages excluded: single non-excluded match: reply 1
423 \fmessage{ id:XXXXX depth:2 match:0 excluded:1 filename:XXXXX
424 Subject: Some messages excluded: single non-excluded match: reply 2
425 \fmessage{ id:XXXXX depth:3 match:0 excluded:0 filename:XXXXX
426 Subject: Some messages excluded: single non-excluded match: reply 3
427 \fmessage{ id:XXXXX depth:4 match:1 excluded:0 filename:XXXXX
428 Subject: Some messages excluded: single non-excluded match: reply 4
429 \fmessage{ id:XXXXX depth:5 match:0 excluded:0 filename:XXXXX
430 Subject: Some messages excluded: single non-excluded match: reply 5
431 \fmessage{ id:XXXXX depth:0 match:0 excluded:0 filename:XXXXX
432 Subject: No messages excluded: single match: top message
433 \fmessage{ id:XXXXX depth:1 match:0 excluded:0 filename:XXXXX
434 Subject: No messages excluded: single match: reply 1
435 \fmessage{ id:XXXXX depth:2 match:0 excluded:0 filename:XXXXX
436 Subject: No messages excluded: single match: reply 2
437 \fmessage{ id:XXXXX depth:3 match:1 excluded:0 filename:XXXXX
438 Subject: No messages excluded: single match: reply 3
439 \fmessage{ id:XXXXX depth:4 match:0 excluded:0 filename:XXXXX
440 Subject: No messages excluded: single match: reply 4
441 \fmessage{ id:XXXXX depth:5 match:0 excluded:0 filename:XXXXX
442 Subject: No messages excluded: single match: reply 5"
443
444
445 test_done