]> git.notmuchmail.org Git - notmuch/blob - test/T750-gzip.sh
build: fix update-versions rule
[notmuch] / test / T750-gzip.sh
1 #!/usr/bin/env bash
2 test_description='support for gzipped messages'
3 . $(dirname "$0")/test-lib.sh || exit 1
4
5 #######################################################################
6 # notmuch new
7 test_begin_subtest "Single new gzipped message"
8 generate_message
9 gzip $gen_msg_filename
10 output=$(NOTMUCH_NEW --debug)
11 test_expect_equal "$output" "Added 1 new message to the database."
12
13 test_begin_subtest "Single new gzipped message (full-scan)"
14 generate_message
15 gzip $gen_msg_filename
16 output=$(NOTMUCH_NEW --debug --full-scan 2>&1)
17 test_expect_equal "$output" "Added 1 new message to the database."
18
19 test_begin_subtest "Multiple new messages, one gzipped"
20 generate_message
21 gzip $gen_msg_filename
22 generate_message
23 output=$(NOTMUCH_NEW --debug)
24 test_expect_equal "$output" "Added 2 new messages to the database."
25
26 test_begin_subtest "Multiple new messages, one gzipped (full-scan)"
27 generate_message
28 gzip $gen_msg_filename
29 generate_message
30 output=$(NOTMUCH_NEW --debug --full-scan 2>&1)
31 test_expect_equal "$output" "Added 2 new messages to the database."
32
33 test_begin_subtest "Renamed (gzipped) message"
34 generate_message
35 echo $gen_message_filename
36 notmuch new > /dev/null
37 gzip $gen_msg_filename
38 output=$(NOTMUCH_NEW --debug)
39 test_expect_equal "$output" "(D) add_files, pass 2: queuing passed file ${gen_msg_filename} for deletion from database
40 No new mail. Detected 1 file rename."
41
42 ######################################################################
43 # notmuch search
44
45 test_begin_subtest "notmuch search with partially gzipped mail store"
46 notmuch search '*' | notmuch_search_sanitize > OUTPUT
47 cat <<EOF > EXPECTED
48 thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; Single new gzipped message (inbox unread)
49 thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; Single new gzipped message (full-scan) (inbox unread)
50 thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; Multiple new messages, one gzipped (inbox unread)
51 thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; Multiple new messages, one gzipped (inbox unread)
52 thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; Multiple new messages, one gzipped (full-scan) (inbox unread)
53 thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; Multiple new messages, one gzipped (full-scan) (inbox unread)
54 thread:XXX   2001-01-05 [1/1] Notmuch Test Suite; Renamed (gzipped) message (inbox unread)
55 EOF
56 test_expect_equal_file EXPECTED OUTPUT
57
58 test_begin_subtest "notmuch search --output=files with partially gzipped mail store"
59 notmuch search --output=files '*' | notmuch_search_files_sanitize > OUTPUT
60 cat <<EOF > EXPECTED
61 MAIL_DIR/msg-001.gz
62 MAIL_DIR/msg-002.gz
63 MAIL_DIR/msg-003.gz
64 MAIL_DIR/msg-004
65 MAIL_DIR/msg-005.gz
66 MAIL_DIR/msg-006
67 MAIL_DIR/msg-007.gz
68 EOF
69 test_expect_equal_file EXPECTED OUTPUT
70
71 ######################################################################
72 # notmuch show
73
74 test_begin_subtest "show un-gzipped message"
75 notmuch show id:msg-006@notmuch-test-suite | notmuch_show_sanitize > OUTPUT
76 cat <<EOF > EXPECTED
77 \fmessage{ id:msg-006@notmuch-test-suite depth:0 match:1 excluded:0 filename:/XXX/mail/msg-006
78 \fheader{
79 Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox unread)
80 Subject: Multiple new messages, one gzipped (full-scan)
81 From: Notmuch Test Suite <test_suite@notmuchmail.org>
82 To: Notmuch Test Suite <test_suite@notmuchmail.org>
83 Date: Fri, 05 Jan 2001 15:43:51 +0000
84 \fheader}
85 \fbody{
86 \fpart{ ID: 1, Content-type: text/plain
87 This is just a test message (#6)
88 \fpart}
89 \fbody}
90 \fmessage}
91 EOF
92 test_expect_equal_file EXPECTED OUTPUT
93
94 test_begin_subtest "show un-gzipped message (format mbox)"
95 notmuch show --format=mbox id:msg-006@notmuch-test-suite | notmuch_show_sanitize > OUTPUT
96 cat <<EOF > EXPECTED
97 From test_suite@notmuchmail.org Fri Jan  5 15:43:51 2001
98 From: Notmuch Test Suite <test_suite@notmuchmail.org>
99 To: Notmuch Test Suite <test_suite@notmuchmail.org>
100 Message-Id: <msg-006@notmuch-test-suite>
101 Subject: Multiple new messages, one gzipped (full-scan)
102 Date: Fri, 05 Jan 2001 15:43:51 +0000
103
104 This is just a test message (#6)
105
106 EOF
107 test_expect_equal_file EXPECTED OUTPUT
108
109 test_begin_subtest "show un-gzipped message (format raw)"
110 notmuch show --format=raw id:msg-006@notmuch-test-suite | notmuch_show_sanitize > OUTPUT
111 cat <<EOF > EXPECTED
112 From: Notmuch Test Suite <test_suite@notmuchmail.org>
113 To: Notmuch Test Suite <test_suite@notmuchmail.org>
114 Message-Id: <msg-006@notmuch-test-suite>
115 Subject: Multiple new messages, one gzipped (full-scan)
116 Date: Fri, 05 Jan 2001 15:43:51 +0000
117
118 This is just a test message (#6)
119 EOF
120 test_expect_equal_file EXPECTED OUTPUT
121
122 test_begin_subtest "show gzipped message"
123 notmuch show id:msg-007@notmuch-test-suite | notmuch_show_sanitize > OUTPUT
124 cat <<EOF > EXPECTED
125 \fmessage{ id:msg-007@notmuch-test-suite depth:0 match:1 excluded:0 filename:/XXX/mail/msg-007.gz
126 \fheader{
127 Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox unread)
128 Subject: Renamed (gzipped) message
129 From: Notmuch Test Suite <test_suite@notmuchmail.org>
130 To: Notmuch Test Suite <test_suite@notmuchmail.org>
131 Date: Fri, 05 Jan 2001 15:43:50 +0000
132 \fheader}
133 \fbody{
134 \fpart{ ID: 1, Content-type: text/plain
135 This is just a test message (#7)
136 \fpart}
137 \fbody}
138 \fmessage}
139 EOF
140 test_expect_equal_file EXPECTED OUTPUT
141
142 test_begin_subtest "show gzipped message (mbox)"
143 notmuch show --format=mbox id:msg-007@notmuch-test-suite | notmuch_show_sanitize > OUTPUT
144 cat <<EOF > EXPECTED
145 From test_suite@notmuchmail.org Fri Jan  5 15:43:50 2001
146 From: Notmuch Test Suite <test_suite@notmuchmail.org>
147 To: Notmuch Test Suite <test_suite@notmuchmail.org>
148 Message-Id: <msg-007@notmuch-test-suite>
149 Subject: Renamed (gzipped) message
150 Date: Fri, 05 Jan 2001 15:43:50 +0000
151
152 This is just a test message (#7)
153
154 EOF
155 test_expect_equal_file EXPECTED OUTPUT
156
157 test_begin_subtest "show gzipped message (raw)"
158 notmuch show --format=raw id:msg-007@notmuch-test-suite | notmuch_show_sanitize > OUTPUT
159 cat <<EOF > EXPECTED
160 From: Notmuch Test Suite <test_suite@notmuchmail.org>
161 To: Notmuch Test Suite <test_suite@notmuchmail.org>
162 Message-Id: <msg-007@notmuch-test-suite>
163 Subject: Renamed (gzipped) message
164 Date: Fri, 05 Jan 2001 15:43:50 +0000
165
166 This is just a test message (#7)
167 EOF
168 test_expect_equal_file EXPECTED OUTPUT
169
170 # there are more than 200 messages in this corpus
171 add_email_corpus lkml
172 test_begin_subtest "new doesn't run out of file descriptors with many gzipped files"
173 ulimit -n 200
174 gzip --recursive ${MAIL_DIR}
175 test_expect_success "notmuch new"
176
177 test_done