<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/test/emacs, branch master</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=master</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2014-01-13T18:16:46Z</updated>
<entry>
<title>test: renamed test scripts to format T\d\d\d-name.sh</title>
<updated>2014-01-13T18:16:46Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2014-01-09T15:18:59Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a755c9d6a9099366cc82ba3a4bee8e6d2b83d529'/>
<id>urn:sha1:a755c9d6a9099366cc82ba3a4bee8e6d2b83d529</id>
<content type='text'>
All test scripts to be executed are now named as T\d\d\d-name.sh,
numers in increments of 10.

This eases adding new tests and developers to see which are test scripts
that are executed by test suite and in which order.
</content>
</entry>
<entry>
<title>test: add emacs_fcc_message that does not use smtp-dummy</title>
<updated>2013-12-22T12:44:44Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2013-12-14T14:39:54Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=513a36d105995c327c23fec5f60ea70c65b986dd'/>
<id>urn:sha1:513a36d105995c327c23fec5f60ea70c65b986dd</id>
<content type='text'>
Most of the tests previously using emacs_deliver_message do not use
the actual transmitted message, so we replace it with a simpler (and
presumably more reliable function) that only saves (and indexes) an
fcc copy of the message.
</content>
</entry>
<entry>
<title>test: sanitize dates in emacs, raw, and text output</title>
<updated>2013-12-09T13:20:27Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2013-12-08T14:52:41Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=72ff135ac3e79be548bf5b82b63d15ba278ef4ce'/>
<id>urn:sha1:72ff135ac3e79be548bf5b82b63d15ba278ef4ce</id>
<content type='text'>
add a new function notmuch_date_sanitize for rfc822-ish things. Add
date sanitization to notmuch_show_sanitize_all and use it more places.

This is all in aid of a transition to unique timestamps on messages.
</content>
</entry>
<entry>
<title>test: replace $PWD with YYY in emacs &amp; emacs-show tests</title>
<updated>2013-11-24T00:25:29Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2013-11-23T11:01:16Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2560996b7ebb08cca7e20fbb182998bc2e0e2151'/>
<id>urn:sha1:2560996b7ebb08cca7e20fbb182998bc2e0e2151</id>
<content type='text'>
When executed command line is written to *Notmuch errors* buffer,
shell-quote-argument will backslash-escape any char that is not in
"POSIX filename characters" (i.e. matching "[^-0-9a-zA-Z_./\n]").

Currently in two emacs tests shell has expanded $PWD as part of
emacs variable, which will later be fed to #'shell-quote-argument
and finally written to ERROR file. If $PWD contained non-POSIX
filename characters, data in ERROR file will not match $PWD when
later comparing in shell. Therefore, in these two particular cases
the escaped $PWD is replaced with YYY in ERROR file and expected
content is adjusted accordingly.
</content>
</entry>
<entry>
<title>emacs: Fix search tagging races</title>
<updated>2013-11-09T00:52:00Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-10-24T15:19:11Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=96c0ce28f8288773870bff5a6ef1c43ff3a931f8'/>
<id>urn:sha1:96c0ce28f8288773870bff5a6ef1c43ff3a931f8</id>
<content type='text'>
This fixes races in thread-local and global tagging in notmuch-search
(e.g., "+", "-", "a", "*", etc.).  Previously, these would modify tags
of new messages that arrived after the search.  Now they only operate
on the messages that were in the threads when the search was
performed.  This prevents surprises like archiving messages that
arrived in a thread after the search results were shown.

This eliminates `notmuch-search-find-thread-id-region(-search)'
because these functions strongly encouraged racy usage.

This fixes the two broken tests added by the previous patch.
</content>
</entry>
<entry>
<title>emacs: Add known-broken tests for search tagging races</title>
<updated>2013-11-09T00:46:53Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-10-24T15:19:10Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=23fb842e04938513517adfed860d8b40ad910096'/>
<id>urn:sha1:23fb842e04938513517adfed860d8b40ad910096</id>
<content type='text'>
These tests check that both thread-local and global search tagging
operations are race-free.  They are currently known-broken because
they aren't race-free.
</content>
</entry>
<entry>
<title>emacs: Use notmuch tag --batch for large tag queries</title>
<updated>2013-11-09T00:35:13Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-10-24T15:19:07Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=730b8f61e0cf4b2e8c0f123c0914d472d6df38fc'/>
<id>urn:sha1:730b8f61e0cf4b2e8c0f123c0914d472d6df38fc</id>
<content type='text'>
(Unfortunately, it's difficult to first demonstrate this problem with
a known-broken test because modern Linux kernels have argument length
limits in the megabytes, which makes Emacs really slow!)
</content>
</entry>
<entry>
<title>test: Fix missing erase-buffer in emacs test</title>
<updated>2013-11-09T00:18:24Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-10-24T15:19:04Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c7e18288ae677b50344aed7d8f1746d1c72a30c2'/>
<id>urn:sha1:c7e18288ae677b50344aed7d8f1746d1c72a30c2</id>
<content type='text'>
The first subprocess error exit code test assumed the *Notmuch errors*
buffer would be empty.  Rather than assuming, make it so.
</content>
</entry>
<entry>
<title>emacs: Use streaming S-expr parser for search</title>
<updated>2013-06-01T12:00:40Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-06-01T00:40:07Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=89efd5717ab26cf626ceb67964b9b4af8820e52c'/>
<id>urn:sha1:89efd5717ab26cf626ceb67964b9b4af8820e52c</id>
<content type='text'>
In addition to being the Right Thing to do, this noticeably improves
the time taken to display the first page of search results, since it's
roughly an order of magnitude faster than the JSON parser.
Interestingly, it does *not* significantly improve the time to
completely fill a large search buffer because for large search
buffers, the cost of creating author invisibility overlays and
inserting text (which slows down with more overlays) dominates.
However, the time required to display the first page of results is
generally more important to the user experience.
</content>
</entry>
<entry>
<title>emacs: Use async process helper for search</title>
<updated>2013-06-01T11:56:16Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-06-01T00:40:05Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=08fde50bf3a4c54f6413aff4052e0d84392463f9'/>
<id>urn:sha1:08fde50bf3a4c54f6413aff4052e0d84392463f9</id>
<content type='text'>
Previously, search started the async notmuch process directly.  Now,
it uses `notmuch-start-notmuch'.  This simplifies the process sentinel
a bit and means that we no longer have to worry about errors
interleaved with the JSON output.

We also update the tests of Emacs error handling, since the error
output is now separated from the search results buffer.
</content>
</entry>
</feed>
