Oswald Buddenhagen
991e809c38
autotest: factor out readfile() function
2017-04-01 20:32:36 +02:00
Oswald Buddenhagen
2da7951fe0
autotest: de-duplicate error reporting paths
2017-04-01 20:32:36 +02:00
Oswald Buddenhagen
373abcef02
autotest: print consistent information for journal replay failures
2017-04-01 20:32:36 +02:00
Oswald Buddenhagen
ca43c57e85
autotest: don't print expected result if the mbsync run itself fails
...
there isn't an actual result to compare with anyway.
2017-04-01 20:32:36 +02:00
Oswald Buddenhagen
b4d1a05365
autotest: de-duplicate: use print*() in show*()
...
this actually adds some (minimal) transformation overhead, but it makes
the relationship clearer.
2017-04-01 20:32:36 +02:00
Oswald Buddenhagen
8aed94420f
autotest: determine path of mbsync prior to chdir()
...
that allows tmp/ to be a symlink to a ramdisk.
2017-04-01 20:32:36 +02:00
Oswald Buddenhagen
62808c9003
autotest: use warnings
2017-04-01 20:25:58 +02:00
Oswald Buddenhagen
b45e711da5
autotest: remove stray close() call from printstate()
2017-04-01 20:25:53 +02:00
Oswald Buddenhagen
f62b3c7be9
fix mislabeling of test
2017-02-15 17:44:35 +01:00
Oswald Buddenhagen
71524cb6b0
reduce FSync option to a boolean
...
there is no use for Thorough mode any more, so simplify the
configuration.
2013-12-08 11:12:09 +01:00
Oswald Buddenhagen
8d5bd62537
add ExpireUnread option
2013-12-08 11:12:09 +01:00
Oswald Buddenhagen
fe3d19b7eb
verify idempotence of all sync operations
2013-12-01 13:36:28 +01:00
Oswald Buddenhagen
b1842617f7
make MaxMessages work for new mails as well
...
this helps enormously on the first sync of a 100k message box with a
limit of 1k messages. it also happens to make the syncing idempotent.
in a few conditionals we now explicitly test for max_messages being
enabled, not smaxxuid != 0, as after the initial fetch with no important
messages smaxxuid is zero, but we still have to skip over 99k messages
in the above case.
2013-12-01 13:36:28 +01:00
Oswald Buddenhagen
12676f28da
remove cleanup of expired entries during setup of master load
...
the removed code would only ever trigger if a) we were after a journal
replay or b) something external expunged the expired messages - both are
corner cases not worth the extra code.
however, this means that the syncing code further down now needs to take
care of these zombies.
in the end, the normal cleanup will take care of all expired entries,
new and old.
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
48754ecc74
make sync state header format less obscure
...
the header is not space-critical, so use proper name-value pairs.
this has the additional advantage that subsequent format changes can be
done much easier.
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
83bb1cf716
make state loading in showstate() similar to ckstate()
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
f044adbfa4
take configs out of target state defs
...
cleaner and less duplication
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
5297425918
more precise failure reporting
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
3d81ccbf21
make it possible to run only selected tests
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
32def5dc0a
add/fix comments and improve debug messages
2013-12-01 13:36:26 +01:00
Oswald Buddenhagen
9a0e65f899
create unseen messages in /new/
...
seen messages still go to /cur/.
this is consistent with the actual maildir driver.
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
0a684bd933
be a bit more verbose
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
394aca03a2
properly handle unexpected exit while replaying journal
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
07377cb753
ensure that the journal replay pass really does nothing
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
100f9487f4
sort messages by serial number instead of UID in box dumper
...
the input data is sorted that way, so it's easier to compare.
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
2568459a7b
fix error message in sync state dumper
2013-12-01 13:35:00 +01:00
Oswald Buddenhagen
9261897629
don't record newuid in the sync state
...
this value is only ever used to find just pushed messages by TUID, so we
can simply use the UIDNEXT value from before we started pushing - and of
course, we need to record that in the journal. it makes no sense to log
the new value after completing a search, as there won't be a next search
before we push the next messages.
2013-03-30 16:46:18 +01:00
Oswald Buddenhagen
35851f133b
add option to control amount of fsync()ing
2012-09-15 15:28:15 +02:00
Oswald Buddenhagen
d4c786823d
replace FSF address with something more ... contemporary
2012-09-01 21:15:53 +02:00
Oswald Buddenhagen
233f563569
deal with concurrent maildir modifications during listing
...
files may be renamed (due to new -> cur transition or flag changes),
which may lead to two effects if ignored:
- we see both the old and the new name, so we report a spurious
duplicate UID
- we see neither name, so we report a spurious deletion
as countermeasure, record and compare directory modification times. upon
mismatch, we just start over - as usual.
2012-09-01 21:15:07 +02:00
Oswald Buddenhagen
9c86ec3442
employ alternative scheme to finding messages by TUID
...
instead of SEARCHing every single message (which is slow and happens to
be unreliabe with M$ Exchange 2010), just FETCH the new messages from
the mailbox - the ones we just appended will be amongst them.
2012-09-01 21:15:07 +02:00
Oswald Buddenhagen
9056504483
handle abnormal program exit during regtest
2006-12-09 10:38:11 +00:00
Oswald Buddenhagen
d7b8621f05
add copyright + license
2006-02-11 19:48:44 +00:00
Oswald Buddenhagen
5e01034aee
much improved journal replay testing.
...
some clenup.
2006-02-02 10:25:07 +00:00
Oswald Buddenhagen
d1c4f8a069
orphan/kill all affected entries after expunge
2006-02-02 10:04:05 +00:00
Oswald Buddenhagen
635b2d7b76
test for journalling and journal replay.
2006-01-29 15:48:24 +00:00
Oswald Buddenhagen
8b6ac97fe4
adjust to: omit flags other than "deleted" when expunging target.
2006-01-08 19:25:58 +00:00
Oswald Buddenhagen
3c8ee66bfc
collect stderr as well.
2006-01-03 09:28:02 +00:00
Oswald Buddenhagen
f070f3cd72
show debug output on error.
2005-12-27 17:44:31 +00:00
Oswald Buddenhagen
d68dd7369e
make the error case output more useful by dumping the entire data set.
2005-12-27 17:31:04 +00:00
Oswald Buddenhagen
549c1cf13e
fix error message
2005-12-26 16:02:50 +00:00
Oswald Buddenhagen
716ff82540
add expiration tests
2005-12-26 16:02:08 +00:00
Oswald Buddenhagen
ad5f5aa2b2
add MaxSize tests
2005-12-26 16:01:42 +00:00
Oswald Buddenhagen
ab898f2f5c
when dumping mailboxes, sort by uid 1st.
2005-12-26 16:00:04 +00:00
Oswald Buddenhagen
d3faf0d27f
detect excess messages after sync
2005-12-26 15:58:12 +00:00
Oswald Buddenhagen
924e1a7f04
sync state reader:
...
- grok negative uids
- more robust
2005-12-26 15:57:06 +00:00
Oswald Buddenhagen
963f607c81
don't eat array lead-in on empty arrays
2005-12-26 15:54:09 +00:00
Oswald Buddenhagen
d5a1f5876d
more logical order
2005-12-23 10:22:47 +00:00
Oswald Buddenhagen
044d8dfb73
add some regression testing.
2005-12-22 18:06:25 +00:00