<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/test/T360-symbol-hiding.sh, branch nmweb</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=nmweb</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=nmweb'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2023-07-21T10:41:50Z</updated>
<entry>
<title>test: support testing notmuch as installed</title>
<updated>2023-07-21T10:41:50Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2023-04-09T14:26:26Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ec26eeaeec87781dee7dbf720103a5bc9b6bba5d'/>
<id>urn:sha1:ec26eeaeec87781dee7dbf720103a5bc9b6bba5d</id>
<content type='text'>
We put some effort into testing the built copy rather than some
installed copy. On the other hand for people like packagers, testing
the installed copy is also of interest.

When NOTMUCH_TEST_INSTALLED is set to a nonempty value, tests do not
require a built notmuch tree or running configure.

Some of the tests marked as broken when running against installed
notmuch are probably fixable.
</content>
</entry>
<entry>
<title>lib/open: Use check for existing database by trial opening</title>
<updated>2021-03-20T10:38:15Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-02-07T16:54:45Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=986056bdbcfea642a2d08f7ee257f7aaaed433b9'/>
<id>urn:sha1:986056bdbcfea642a2d08f7ee257f7aaaed433b9</id>
<content type='text'>
This is a bit heavyweight for now, but it will make more sense when we
check multiple locations for the Xapian database.
</content>
</entry>
<entry>
<title>test/T360-symbol-hiding.sh: trim extra output from readelf</title>
<updated>2020-12-25T15:36:33Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-12-15T20:45:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6d5d28c593a6f0e935bd039ade450e23d7b08ac8'/>
<id>urn:sha1:6d5d28c593a6f0e935bd039ade450e23d7b08ac8</id>
<content type='text'>
readelf on (at least) ppc64le sometimes generates some extension to
the Ndx name inside '[]'. Remove this output to allow our simple
column based parsing to work.
</content>
</entry>
<entry>
<title>test/T360-symbol-hiding: use readelf in place of nm</title>
<updated>2020-12-13T12:23:42Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-12-11T17:06:44Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=82faa059b8c98a3af016778734be329557d4217d'/>
<id>urn:sha1:82faa059b8c98a3af016778734be329557d4217d</id>
<content type='text'>
It turns out that using nm -P isn't as portable as hoped. In
particular with some ELF ABIs (e.g. ppc64 ELFv1), the desired symbols
end up in the data section instead of text.

The test is currently only functional on ELF based architectures, so I
think it's legit to depend on readelf instead of nm.

The switch to readelf has the advantage that we can explicitely ask
for all of the symbols with global visibility, rather than grepping
for notmuch. That seems a more robust approach since it will catch any
strangely named global symbols.
</content>
</entry>
<entry>
<title>test: drop NOTMUCH_DEFAULT_XAPIAN_BACKEND from T360-symbol-test</title>
<updated>2020-08-01T00:30:06Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-07-30T00:01:29Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=29a58ecf4a8859766861170cd6f7adec9441edea'/>
<id>urn:sha1:29a58ecf4a8859766861170cd6f7adec9441edea</id>
<content type='text'>
Inspired by the suggestion of

         id:20200727154108.16269-3-congdanhqx@gmail.com

to drop the configuration test for the default backend. This version
is hopefully robust against backend changes.
</content>
</entry>
<entry>
<title>test: use source and build paths in T360-symbol-hiding.sh</title>
<updated>2017-10-20T23:49:26Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-09-25T20:38:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0364a6d74bbca223e4368be3c1dce2b99f5917db'/>
<id>urn:sha1:0364a6d74bbca223e4368be3c1dce2b99f5917db</id>
<content type='text'>
Make a distinction between source and build directories.
</content>
</entry>
<entry>
<title>test: use $(dirname "$0") for sourcing test-lib.sh</title>
<updated>2017-10-20T22:52:49Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-09-25T20:38:19Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a863de1e43ee34f6f5794a2759fdceb287e851aa'/>
<id>urn:sha1:a863de1e43ee34f6f5794a2759fdceb287e851aa</id>
<content type='text'>
Don't assume the tests are always run from within the source tree.
</content>
</entry>
<entry>
<title>build: switch to hiding libnotmuch symbols by default</title>
<updated>2017-05-12T10:17:18Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-05-10T19:42:11Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=bc11759dd1fd198661657b741bc0143c9af309a4'/>
<id>urn:sha1:bc11759dd1fd198661657b741bc0143c9af309a4</id>
<content type='text'>
The dynamic generation of the linker version script for libnotmuch
exports has grown rather complicated.

Reverse the visibility control by hiding symbols by default using
-fvisibility=hidden, and explicitly exporting symbols in notmuch.h
using #pragma GCC visibility. (We could also use __attribute__
((visibility ("default"))) for each exported function, but the pragma
is more convenient.)

The above is not quite enough alone, as it would "leak" a number of
weak symbols from Xapian and C++ standard library. Combine it with a
small static version script that filters out everything except the
notmuch_* symbols that we explicitly exposed, and the C++ RTTI
typeinfo symbols for exception handling.

Finally, as the symbol hiding test can no longer look at the generated
symbol table, switch the test to parse the functions from notmuch.h.
</content>
</entry>
<entry>
<title>test: set LD_LIBRARY_PATH early and keep its old contents</title>
<updated>2016-06-11T16:11:49Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2016-05-25T21:37:40Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f0e5317bcdc856739c5107705e3bc86b31b01d38'/>
<id>urn:sha1:f0e5317bcdc856739c5107705e3bc86b31b01d38</id>
<content type='text'>
Previously LD_LIBRARY_PATH was exported (and environment changed)
in the middle of test case execution, when a function setting it
was called.

Previously the old contents of LD_LIBRARY_PATH was lost (if any)
when it was re-set and exported. In some systems the old contents of
LD_LIBRARY_PATH was needed to e.g. locate suitable gmime library.
</content>
</entry>
<entry>
<title>Use https instead of http where possible</title>
<updated>2016-06-05T11:32:17Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2016-06-02T16:26:14Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6a833a6e83865f6999707cc30768d07e1351c2cb'/>
<id>urn:sha1:6a833a6e83865f6999707cc30768d07e1351c2cb</id>
<content type='text'>
Many of the external links found in the notmuch source can be resolved
using https instead of http.  This changeset addresses as many as i
could find, without touching the e-mail corpus or expected outputs
found in tests.
</content>
</entry>
</feed>
