aboutsummaryrefslogtreecommitdiffstats
path: root/tests/largeint/t
blob: b0877d52920cb85c5015bad471eb4e6655a578ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
doveadm -u "local"  mailbox create "foo" "bar" "baz"
doveadm -u "remote" mailbox create "foo" "bar" "baz"

doveadm -u "local"  mailbox update --uid-validity          1 "INBOX"
doveadm -u "local"  mailbox update --uid-validity 2147483647 "foo"   # 2^31-1
doveadm -u "local"  mailbox update --uid-validity 2147483648 "bar"   # 2^31
doveadm -u "local"  mailbox update --uid-validity 4294967295 "baz"   # 2^32-1

doveadm -u "remote" mailbox update --uid-validity 4294967295 "INBOX" # 2^32-1
doveadm -u "remote" mailbox update --uid-validity 2147483648 "foo"   # 2^31
doveadm -u "remote" mailbox update --uid-validity 2147483647 "bar"   # 2^31-1
doveadm -u "remote" mailbox update --uid-validity          1 "baz"   #

run() {
    local u m i
    for ((i = 0; i < 64; i++)); do
        u="$(shuf -n1 -e "local" "remote")" # choose target at random
        m="$(shuf -n1 -e -- "INBOX" "foo" "bar" "baz")"
        sample_message | deliver -u "$u"  -- -m "$m"
    done
    interimap || error
    check_mailbox_list
    check_mailbox_status "INBOX" "foo" "bar" "baz"
}
run

# raise UIDNEXT AND HIGHESTMODSEQ close to the max values (resp. 2^32-1 och 2^63-1)
doveadm -u "local" mailbox update --min-next-uid 2147483647 --min-highest-modseq 9223372036854775807 "INBOX" # 2^31-1, 2^63-1
doveadm -u "local" mailbox update --min-next-uid 2147483647 --min-highest-modseq 9223372036854775807 "foo"   # 2^31-1, 2^63-1
doveadm -u "local" mailbox update --min-next-uid 2147483648 --min-highest-modseq 9223372036854775808 "bar"   # 2^31, 2^63
doveadm -u "local" mailbox update --min-next-uid 2147483648 --min-highest-modseq 9223372036854775808 "baz"   # 2^31, 2^63

doveadm -u "remote" mailbox update --min-next-uid 4294967168 --min-highest-modseq 18446744073709551488 "INBOX" # 2^32-128, 2^64-128
doveadm -u "remote" mailbox update --min-next-uid 2147483776 --min-highest-modseq  9223372036854775936 "foo"   # 2^31+128, 2^63+128
doveadm -u "remote" mailbox update --min-next-uid 2147483648 --min-highest-modseq  9223372036854775808 "bar"   # 2^31, 2^63

run

# vim: set filetype=sh :