Software /
code /
prosody
Annotate
spec/scansion/tombstones.scs @ 13136:396db0e7084f
mod_storage_internal: Use a binary search for time based ranges
Iterating over an entire archive to find a few items in the far end from
where iteration started is expensive, and probably more expensive with
the lazy-loading of items added in the previous commit.
Since we can now efficiently read items in random order, we can now use
a binary search to find a better starting point for iteration.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 12 May 2021 01:32:03 +0200 |
parent | 12116:efcf25ad5406 |
rev | line source |
---|---|
12116
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 # Tombstones |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 [Client] Romeo |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 jid: romeo@localhost |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 password: password |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 [Client] Juliet |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 jid: juliet-tombstones@localhost |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 password: password |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 --------- |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 Romeo connects |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 Juliet connects |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 Juliet sends: |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 <iq type="set" id="bye"> |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 <query xmlns="jabber:iq:register"> |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 <remove/> |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 </query> |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 </iq> |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 # Scansion gets disconnected right after this with a stream error makes |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 # scansion itself abort, so we preemptively disconnect to avoid that |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 # Juliet receives: |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 # <iq type="result" id="bye"/> |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 Juliet disconnects |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 Romeo sends: |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
32 <presence type="probe" to="${Juliet's JID}"/> |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
33 |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
34 Romeo receives: |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
35 <presence type="error" from="${Juliet's JID}"/> |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
36 |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
37 Romeo receives: |
efcf25ad5406
mod_tombstones: Add a very basic test case
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
38 <presence type="unsubscribed" from="${Juliet's JID}"/> |