aboutsummaryrefslogtreecommitdiffstats
path: root/tests/largeint/t
blob: 84d21ae594d6b928277635423ae36a2aeeacece7 (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
40
41
doveadm -u "local"  mailbox create --no-userdb-lookup "foo" "bar" "baz"
doveadm -u "remote" mailbox create --no-userdb-lookup "foo" "bar" "baz"

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

doveadm -u "remote" mailbox update --no-userdb-lookup --uid-validity 4294967295 "INBOX" # 2^32-1
doveadm -u "remote" mailbox update --no-userdb-lookup --uid-validity 2147483648 "foo"   # 2^31
doveadm -u "remote" mailbox update --no-userdb-lookup --uid-validity 2147483647 "bar"   # 2^31-1
doveadm -u "remote" mailbox update --no-userdb-lookup --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)
# XXX as of dovecot 2.4 --min-highest-modseq rejects values higher than INT64_MAX instead of UINT64_MAX,
# cf. str_parse_int64()
doveadm -u "local" mailbox update --no-userdb-lookup --min-next-uid 2147483647 --min-highest-modseq 9223372036854775807 "INBOX" # 2^31-1, 2^63-1
doveadm -u "local" mailbox update --no-userdb-lookup --min-next-uid 2147483647 --min-highest-modseq 9223372036854775807 "foo"   # 2^31-1, 2^63-1
doveadm -u "local" mailbox update --no-userdb-lookup --min-next-uid 2147483648 --min-highest-modseq 9223372036854775807 "bar"   # 2^31, 2^63-1
doveadm -u "local" mailbox update --no-userdb-lookup --min-next-uid 2147483648 --min-highest-modseq 9223372036854775807 "baz"   # 2^31, 2^63-1

doveadm -u "remote" mailbox update --no-userdb-lookup --min-next-uid 4294967168 --min-highest-modseq 9223372036854775807 "INBOX" # 2^32-128, 2^63-1
doveadm -u "remote" mailbox update --no-userdb-lookup --min-next-uid 2147483776 --min-highest-modseq 9223372036854775807 "foo"   # 2^31+128, 2^63-1
doveadm -u "remote" mailbox update --no-userdb-lookup --min-next-uid 2147483648 --min-highest-modseq 9223372036854775807 "bar"   # 2^31, 2^63-1

run

# vim: set filetype=bash :