| Age | Commit message (Collapse) | Author |
|
There is some duplication of code here, but not all of the locations
valid to find a database make sense to create. Furthermore we nead two
passes, so the control flow in _choose_database_path would get a bit
convoluted.
|
|
This simplifies the logic of creating the directory path when it doesn't
exist.
|
|
This should return false, but currently segfaults.
Start a new file for tags library API related tests. This is maybe
overkill, but new C boilerplate which doesn't corrupt the database is
needed anyway.
|
|
Like notmuch_database_open, we need to conditionally print the error
message.
|
|
This is a bit more involved than replacing the use of
notmuch_database_open_verbose, as we have to effectively inline the
definition of notmuch_database_open.
|
|
We need to do it some day, and it is a bit annoying to read
deprecation messages in broken tests.
|
|
Although this default worked for "notmuch config get", it didn't work
most other places. Restore the previous functionality, with the
wrinkle that XDG locations will shadow $HOME/mail if they exist.
This fixes a bug reported by Jack Kamm in id:87eeefdc8b.fsf@gmail.com
|
|
This changes some error reporting, either intentionally by reporting
the highest level missing directory, or by side effect from looking in
XDG locations when given null database location.
|
|
Make checks more uniform between creating new databases and opening
existing ones.
|
|
This takes a config path parameter, and can use that to decide the
new database location.
|
|
This will allow the dropping of the test for the default ending from
configure.
|
|
This is for consistency with the recently added tests for
notmuch_database_*.
|
|
The error message and name were confusing when called in some "read
only" context.
|
|
The original generic handler had an extra '%s' in the format
string. Update tests that failed to catch this because the template to
print status strings checked 'stat', which was not set.
|
|
Also update the documentation for the behaviour of n_m_get_thread_id
that this fix relies on.
|
|
This is another case where the code should not call INTERNAL_ERROR.
|
|
This is actually one of the few potentially useful things you can do
with a message belonging to a closed database, since in principle you
could re-open the database.
|
|
This should be fine because the message belongs to the
database (talloc context wise).
|
|
Neither of these accesses the database, so should be safe. Add the
tests to catch any changes in exception throwing.
|
|
At least the exception we already catch should be reported properly.
|
|
The Xapian exception is actually caught here, but the NULL return is
not dealt with properly.
|
|
This function currently catches at least the obvious Xapian exceptions
and we want to keep it that way.
|
|
Initially the new function is mainly tested indirectly via the
wrapper.
|
|
This passes the NULL return inside _ensure_maildir_flags does not
break anything. Probably this should be handled more explicitely.
|
|
It's not very nice to return FALSE for an error, so provide
notmuch_message_get_flag_st as a migration path.
Bump LIBNOTMUCH_MINOR_VERSION because the API is extended.
|
|
The churn here is again mainly re-indentation.
|
|
Exception will be caught in next commit.
|
|
This is mostly just (horizontal) code movement due to wrapping
everything in a try / catch.
|
|
Exception will be caught in next commit.
|
|
This will require some care for the caller to check the sign, and not
just add error returns into a running total.
|
|
This will be fixed in the next commit.
|
|
This allows the function to return an error value rather than
crashing.
|
|
This will be fixed in the next commit.
|
|
This function catches Xapian exceptions. The test is intended to make
sure it stays that way.
|
|
Exception caught in next commit. Note that FLAG_GHOST is the only one
that triggers the I/O code path.
|
|
This is essentially copied from the change to notmuch_message_get_filename
|
|
This will be fixed in the next commit
|
|
This is the same machinery as applied for
notmuch_message_get_{thread,message}_id
|
|
This will be fixed in the next commit
|
|
We need to to set a query and retrieve the threads to meaningfully
test this function.
|
|
This function already catches Xapian exceptions, and we want to make
sure it stays that way.
|
|
Instead of printing the same static string for each test, can replace
the assert with something simpler (or at least easier to integrate
into the test suite).
|
|
Since these backups are never restored, they should be safe to remove.
|
|
This allows us to return an error value from the library.
|
|
This will be fixed in the next commit.
|
|
By catching it at the library top level, we can return an error value.
|
|
Based on id:87d05je1j6.fsf@powell.devork.be
|
|
Don't assume the tests are always run from within the source tree.
|
|
We need a way to pass parameters to the indexing functionality on the
first index, not just on reindexing. The obvious place is in
notmuch_database_add_message. But since modifying the argument list
would break both API and ABI, we needed a new name.
I considered notmuch_database_add_message_with_params(), but the
functionality we're talking about doesn't always add a message. It
tries to index a specific file, possibly adding a message, but
possibly doing other things, like adding terms to an existing message,
or failing to deal with message objects entirely (e.g. because the
file didn't contain a message).
So i chose the function name notmuch_database_index_file.
I confess i'm a little concerned about confusing future notmuch
developers with the new name, since we already have a private
_notmuch_message_index_file function, and the two do rather different
things. But i think the added clarity for people linking against the
future libnotmuch and the capacity for using index parameters makes
this a worthwhile tradeoff. (that said, if anyone has another name
that they strongly prefer, i'd be happy to go with it)
This changeset also adjusts the tests so that we test whether the new,
preferred function returns bad values (since the deprecated function
just calls the new one).
We can keep the deprecated n_d_add_message function around as long as
we like, but at the next place where we're forced to break API or ABI
we can probably choose to drop the name relatively safely.
NOTE: there is probably more cleanup to do in the ruby and go bindings
to complete the deprecation directly. I don't know those languages
well enough to attempt a fix; i don't know how to test them; and i
don't know the culture around those languages about API additions or
deprecations.
|
|
This function was deprecated in notmuch 0.21. We re-use the name for
a status returning version, and deprecate the _st name. One or two
remaining uses of the (removed) non-status returning version fixed at
the same time
|