173 lines
6.2 KiB
Plaintext
173 lines
6.2 KiB
Plaintext
TAP version 13
|
|
# Subtest: zoned uses the IANA zone across DST
|
|
ok 1 - zoned uses the IANA zone across DST
|
|
---
|
|
duration_ms: 12.084421
|
|
type: 'test'
|
|
...
|
|
# Subtest: each open blocking decision is DM'd once, across polls and a restart; non-blocking ones are not
|
|
ok 2 - each open blocking decision is DM'd once, across polls and a restart; non-blocking ones are not
|
|
---
|
|
duration_ms: 24.775164
|
|
type: 'test'
|
|
...
|
|
# Subtest: two blocking decisions get two DMs with different nonces
|
|
ok 3 - two blocking decisions get two DMs with different nonces
|
|
---
|
|
duration_ms: 16.295584
|
|
type: 'test'
|
|
...
|
|
# Subtest: the digest nonce differs per business and per day and fits Discord's 25 characters
|
|
ok 4 - the digest nonce differs per business and per day and fits Discord's 25 characters
|
|
---
|
|
duration_ms: 0.166736
|
|
type: 'test'
|
|
...
|
|
# Subtest: a failed DM is journaled, backs off, and is retried until it lands
|
|
ok 5 - a failed DM is journaled, backs off, and is retried until it lands
|
|
---
|
|
duration_ms: 15.734077
|
|
type: 'test'
|
|
...
|
|
# Subtest: five definite refusals stop a DM: one gave-up line, one log line, and a restart keeps the count
|
|
ok 6 - five definite refusals stop a DM: one gave-up line, one log line, and a restart keeps the count
|
|
---
|
|
duration_ms: 18.410139
|
|
type: 'test'
|
|
...
|
|
# Subtest: 429s, 5xx-style unknowns and refusals without a status never count toward the limit
|
|
ok 7 - 429s, 5xx-style unknowns and refusals without a status never count toward the limit
|
|
---
|
|
duration_ms: 22.217907
|
|
type: 'test'
|
|
...
|
|
# Subtest: a crash between the fifth refusal and its gave-up line: the next poll appends it and sends nothing
|
|
ok 8 - a crash between the fifth refusal and its gave-up line: the next poll appends it and sends nothing
|
|
---
|
|
duration_ms: 15.810942
|
|
type: 'test'
|
|
...
|
|
# Subtest: polled every POLL_MS against a permanent 403, a DM is sent at 0, 30, 60, 90 and 120 min and gives up only then
|
|
ok 9 - polled every POLL_MS against a permanent 403, a DM is sent at 0, 30, 60, 90 and 120 min and gives up only then
|
|
---
|
|
duration_ms: 140.404174
|
|
type: 'test'
|
|
...
|
|
# Subtest: a restart after the second refusal does not send before that refusal's 30 min are up
|
|
ok 10 - a restart after the second refusal does not send before that refusal's 30 min are up
|
|
---
|
|
duration_ms: 71.182665
|
|
type: 'test'
|
|
...
|
|
# Subtest: the digest goes at 08:00 Chicago once a day, with blocking ones marked as DM'd
|
|
ok 11 - the digest goes at 08:00 Chicago once a day, with blocking ones marked as DM'd
|
|
---
|
|
duration_ms: 21.36317
|
|
type: 'test'
|
|
...
|
|
# Subtest: a late start with no digest for the day sends one at once; an empty inbox gets one line
|
|
ok 12 - a late start with no digest for the day sends one at once; an empty inbox gets one line
|
|
---
|
|
duration_ms: 13.561543
|
|
type: 'test'
|
|
...
|
|
# Subtest: an inbox read failure is logged and the next poll retries
|
|
ok 13 - an inbox read failure is logged and the next poll retries
|
|
---
|
|
duration_ms: 0.641789
|
|
type: 'test'
|
|
...
|
|
# Subtest: no Discord id reaches the journal or the log
|
|
ok 14 - no Discord id reaches the journal or the log
|
|
---
|
|
duration_ms: 13.022069
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a torn tail is copied out and truncated, so an append after it reopens cleanly
|
|
ok 15 - the journal: a torn tail is copied out and truncated, so an append after it reopens cleanly
|
|
---
|
|
duration_ms: 1.797325
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a crash between the copy and the truncate leaves a tail the next open repairs
|
|
ok 16 - the journal: a crash between the copy and the truncate leaves a tail the next open repairs
|
|
---
|
|
duration_ms: 2.050203
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a whole file that is one torn line truncates to empty
|
|
ok 17 - the journal: a whole file that is one torn line truncates to empty
|
|
---
|
|
duration_ms: 1.164525
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a malformed complete line refuses and leaves the file and any torn tail alone
|
|
ok 18 - the journal: a malformed complete line refuses and leaves the file and any torn tail alone
|
|
---
|
|
duration_ms: 0.419581
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a loose file mode, a loose directory or a symlinked journal refuses
|
|
ok 19 - the journal: a loose file mode, a loose directory or a symlinked journal refuses
|
|
---
|
|
duration_ms: 0.478589
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a line with a wrong type refuses with exit 3 and names the field
|
|
ok 20 - the journal: a line with a wrong type refuses with exit 3 and names the field
|
|
---
|
|
duration_ms: 1.813933
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a symlinked directory refuses and says it is a link
|
|
ok 21 - the journal: a symlinked directory refuses and says it is a link
|
|
---
|
|
duration_ms: 0.295877
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a dangling directory link, a parent that is a file and a journal that is a directory each refuse with exit 3
|
|
ok 22 - the journal: a dangling directory link, a parent that is a file and a journal that is a directory each refuse with exit 3
|
|
---
|
|
duration_ms: 0.482061
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: an append after the file was swapped for a symlink refuses and writes nothing through it
|
|
ok 23 - the journal: an append after the file was swapped for a symlink refuses and writes nothing through it
|
|
---
|
|
duration_ms: 0.381135
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a directory it cannot write or create refuses with exit 3 and names the path
|
|
ok 24 - the journal: a directory it cannot write or create refuses with exit 3 and names the path
|
|
---
|
|
duration_ms: 0.445075
|
|
type: 'test'
|
|
...
|
|
# Subtest: digest content stays within Discord's 2000 characters
|
|
ok 25 - digest content stays within Discord's 2000 characters
|
|
---
|
|
duration_ms: 0.284829
|
|
type: 'test'
|
|
...
|
|
# Subtest: runLoop never overlaps ticks and stops after the one in flight
|
|
ok 26 - runLoop never overlaps ticks and stops after the one in flight
|
|
---
|
|
duration_ms: 111.585855
|
|
type: 'test'
|
|
...
|
|
# Subtest: processing halt prevents notifier reads and sends and fences the wait before delivery
|
|
ok 27 - processing halt prevents notifier reads and sends and fences the wait before delivery
|
|
---
|
|
duration_ms: 23.888212
|
|
type: 'test'
|
|
...
|
|
1..27
|
|
# tests 27
|
|
# suites 0
|
|
# pass 27
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 630.842891
|