34d3bf2e28
tests: only build when needed
...
Build the tests lazily, i.e., not before `meson test`. This helps with
build-times.
2025-08-15 21:01:05 +03:00
cc1112d342
tests: skip some slow tests when valgrinding
2025-05-24 21:04:49 +03:00
a7778fc333
test-store: don't break on slow systems
...
The 'circular-symlink' test.
2025-04-13 20:34:44 +03:00
17b85e8390
test-circular-symlink: loosen test a bit
...
Work-around some weirdness. No energy to do a root-cause analysis ;)
Fixes #2832 .
2025-04-12 00:56:43 +07:00
7baf1bf5e5
mu: remove empty refs + unit-test
...
Some message can have an _empty_ message-id, e.g. with:
In-Reply-To: <>
which we weren't filter out.
This would yield and _empty_ Thread-Id, in mu-message.cc
And this would make mu-query believe it had no matches in the first
query, in Query::Private::run_related, and effectively throw away the
results. (Xapian using empty string both for a "not found" result, and
"found an empty string doesn't help either).
So, avoid having an empty reference. Also add a unit-test.
Fixes #2812 .
2025-02-13 22:48:03 +02:00
09965b2d09
test: add unit-tests for related/new/skip-dups
...
Test the interaction between related/new/skipped-duplicates. Seems to
work as expected.
2025-02-02 11:38:32 +02:00
8fefc52eee
query: add related: combi-field + test
...
Add a new combination (pseudo) field "related:", which combines
"message-id" and "references"
2024-12-02 11:43:14 +02:00
ed4d0f5e9d
tests: add tests for ref: searching
2024-12-01 23:27:32 +02:00
d5d57b4327
remove non-single-threaded option
...
Single-threaded is the build-default, and seems to work well enough for
1.12.7, so remove the option to turn it off.
This is because build-options that influence such low-level/core
behavior are a pain to maintain.
2024-11-26 10:27:52 +02:00
c28bfe04e1
message: detect top-level smime parts + test
...
Fixes #2745
2024-08-22 22:34:34 +03:00
c6e8f894c1
test_index_move: extend unit test
...
Double-check the changed values are seen in a newly opened store.
2024-07-27 09:36:15 +03:00
bb5c36c658
tests: add some very basic CLD2_TEST
...
just to check if it works at all; no need to check cld2 at all.
2024-03-01 23:05:33 +02:00
30b8238522
tests: move to tests/, make optional
...
While not recommended, sometimes it can be useful to disable building
the unit tests. This can be done now with
meson -Dtests=disabled build
2024-01-06 18:35:22 +02:00
146b80113f
lib: move transaction handling to mu-xapian
...
Instead of handling transactions in the store, handle it in xapian-db.
Make the code a bit more natural / cleaner-out
Handle transaction automatically (with a batch-size) and add some RAII
Transaction object, which makes all database interaction transactable
for the duration. So, no more need for explicit parameters to
add_message while indexing.
2023-12-22 21:24:41 +02:00
de302e7609
lib/tests: add one more foo-bar regexp test
2023-10-29 17:16:05 +02:00
ee18c02762
maildir: improve unit tests
...
And get some more info from run_command.
2023-09-24 21:33:18 +03:00
4a0eba8ddf
improve unit tests
2023-09-24 20:21:57 +03:00
2d20074b99
mu-move: add new move sub command
...
Add sub-command to move messages; add tests and docs.
Fixes #157
2023-09-24 17:29:08 +03:00
1a3dc46866
lib: maildir/store: more tests
2023-09-23 09:28:45 +03:00
5bda8c321b
query: move phrasification to mu-query-parser
...
Do the "phrasification" for matching fields later during query parsing;
this allows for handling combination fields correctly.
Also match both the normal term and the "phrase term", so we catch more
cases. Update/extend unit tests.
This fixes the "kata-container" issue also for body test.
Fixes #2167 .
2023-09-17 18:11:21 +03:00
9dcbe1d96c
lib: unit tests: improve / better coverage
2023-09-13 23:02:53 +03:00
2f5602b938
unit tests: improve
...
and add a new one for the indexer
2023-09-12 21:38:57 +03:00
af9eb36ca0
unit-tests: modernize
...
Use TempDir, join_paths etc.
2023-09-11 23:51:37 +03:00
53c7381929
lib: move index/ into main lib/
...
simplify things a bit
2023-09-10 08:55:25 +03:00
3e5cec0d05
tests: update for new query parser / ngrams
2023-09-09 17:57:42 +03:00
a9bd6e69d3
lib: implement new query parser
...
Implement a new query parser; the results should be very similar to the
old one, but it adds an Sexp middle-representation, so users can see how
a query is interpreted.
2023-09-09 11:59:59 +03:00
3f8381134e
test: move test messages to testdata/
2023-09-05 08:34:27 +03:00
15f08488d3
remove Mu::format, use mu_format
...
Use the new fmt-based formatting.
2023-08-19 20:04:50 +03:00
8caf504381
store: update "move" and some related APIs
...
Update test cases as well.
2023-08-17 22:42:25 +03:00
da290c21a9
benchmark: improve setup
...
Add some useful make targets, and separate (optimized) build.
2023-07-25 23:56:19 +03:00
4c0b7db3d8
store: add 'add_document' optimization, use it
...
*Usually* we need Xapian's replace_document() API, but when we know a
document (message) is completely new, we can use the faster
add_document(). That is the case with the initial (re)indexing, when
start with an empty database.
Also a few smaller cleanups.
2023-07-25 23:56:19 +03:00
6ad5cccc53
store/index: and unit test for circular symlink
...
Check that we bail out early
2023-07-18 23:18:21 +03:00
4171fe14c3
store: removing trailing / for root_maildir
...
Other code depends on that.
2023-07-06 21:49:50 +03:00
4920b56671
update to use fmt-based apis
...
Not complete, but a first big stab converting users of Mu::Error and
various g_warning & friends, format to the new libfmt-based APIs.
2023-07-05 23:10:13 +03:00
c6fff6a281
all: update for API changes (config etc.)
...
Use the new & improved APIs.
2023-07-02 00:06:56 +03:00
fd7c011195
lib: update for api changes, update tests
...
With the new Sexp. And expand unit tests.
2023-06-27 00:53:23 +03:00
abfa6f277c
mu: index html text as if it were plain text
...
This is a bit of hack to include html text in results.
Of course, html text is not really plain text, so this is a bit of a
hack until we introduce some html parsing step.
2023-01-31 23:41:57 +02:00
6979a66630
utils: get rid of mu-util.[ch]
...
It was getting old...
Remove the unused parts, refactor the few parts still in use.
2023-01-14 20:02:05 +02:00
27ecbbdd65
many: use Mu::Regex instead of std::regex
...
The former is PCRE-compatible, and faster than std::regex.
2022-12-30 11:15:03 +02:00
d5fb15574b
mu-query-match-decider: add 'Related' to flags
...
We were _replacing_ the flags (such as Duplicate), but we should add to
them instead.
Add a unit-test for this.
2022-12-08 19:33:15 +02:00
da7c3b0c9a
tests: update for move_message API update
2022-12-07 18:22:29 +02:00
0b516c18c2
store: add mu_move_message dup flag test
...
Test the new functionality
2022-12-07 18:22:29 +02:00
d2a3a13242
query/test: add term splitting unit test
...
For checking issue #2365 .
2022-11-20 10:18:01 +02:00
a417b38624
store: update for new sexp api
...
And use improved cached_sexp api (automatically handled with
mu-document now)
2022-11-07 18:38:03 +02:00
6064c2e88b
test-mu-store-query: make move/refresh test more rigorous
2022-11-01 18:41:10 +02:00
83eceaf580
test-mu-store-query: make move/refresh test more rigorous
2022-10-30 11:39:33 +02:00
06be7a24e7
test-mu-store-query: add unit test for dup message
...
For ticket #2327 . Haven't been able to reproduce though.
2022-10-26 22:35:34 +03:00
5367122c08
store: support reinit
...
Support reinitializing, based on some current store. This is useful for
upgrading. Note that this is only the backend implementation + tests.
2022-10-02 18:24:23 +03:00
ca04ae4d65
test-mu-msg.cc: fix unit test
...
Fix typo.
2022-10-02 18:24:23 +03:00
bb7c8d880a
message: convert mime-parts to utf-8
...
Ensure that non-utf8 mime-parts are converted to utf8. This fixes a
problem with messages with such parts; added unit test.
Fixes #2333 .
2022-09-19 18:27:03 +03:00