autotest: use symbolic message subjects
... instead of numbers. otherwise there is too much confusion with UIDs.
This commit is contained in:
parent
6734b9ce7d
commit
406931bc45
|
@ -41,12 +41,15 @@ sub test($$$@);
|
||||||
# master/slave: [ maxuid, { seq, uid, flags }... ]
|
# master/slave: [ maxuid, { seq, uid, flags }... ]
|
||||||
# state: [ MaxPulledUid, MaxExpiredMasterUid, MaxPushedUid, { muid, suid, flags }... ]
|
# state: [ MaxPulledUid, MaxExpiredMasterUid, MaxPushedUid, { muid, suid, flags }... ]
|
||||||
|
|
||||||
|
use enum qw(:=1 A..Z);
|
||||||
|
sub mn($) { chr(64 + shift) }
|
||||||
|
|
||||||
# generic syncing tests
|
# generic syncing tests
|
||||||
my @x01 = (
|
my @x01 = (
|
||||||
[ 9,
|
[ 9,
|
||||||
1, 1, "F", 2, 2, "", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 6, "F", 7, 7, "FT", 9, 9, "" ],
|
A, 1, "F", B, 2, "", C, 3, "FS", D, 4, "", E, 5, "T", F, 6, "F", G, 7, "FT", I, 9, "" ],
|
||||||
[ 9,
|
[ 9,
|
||||||
1, 1, "", 2, 2, "F", 3, 3, "F", 4, 4, "", 5, 5, "", 7, 7, "", 8, 8, "", 10, 9, "" ],
|
A, 1, "", B, 2, "F", C, 3, "F", D, 4, "", E, 5, "", G, 7, "", H, 8, "", J, 9, "" ],
|
||||||
[ 8, 0, 0,
|
[ 8, 0, 0,
|
||||||
1, 1, "", 2, 2, "", 3, 3, "", 4, 4, "", 5, 5, "", 6, 6, "", 7, 7, "", 8, 8, "" ],
|
1, 1, "", 2, 2, "", 3, 3, "", 4, 4, "", 5, 5, "", 6, 6, "", 7, 7, "", 8, 8, "" ],
|
||||||
);
|
);
|
||||||
|
@ -55,9 +58,9 @@ my @O01 = ("", "", "");
|
||||||
#show("01", "01", "01");
|
#show("01", "01", "01");
|
||||||
my @X01 = (
|
my @X01 = (
|
||||||
[ 10,
|
[ 10,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 6, "FT", 7, 7, "FT", 9, 9, "", 10, 10, "" ],
|
A, 1, "F", B, 2, "F", C, 3, "FS", D, 4, "", E, 5, "T", F, 6, "FT", G, 7, "FT", I, 9, "", J, 10, "" ],
|
||||||
[ 10,
|
[ 10,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 5, 5, "T", 7, 7, "FT", 8, 8, "T", 10, 9, "", 9, 10, "" ],
|
A, 1, "F", B, 2, "F", C, 3, "FS", D, 4, "", E, 5, "T", G, 7, "FT", H, 8, "T", J, 9, "", I, 10, "" ],
|
||||||
[ 9, 0, 9,
|
[ 9, 0, 9,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 0, "", 7, 7, "FT", 0, 8, "", 10, 9, "", 9, 10, "" ],
|
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 0, "", 7, 7, "FT", 0, 8, "", 10, 9, "", 9, 10, "" ],
|
||||||
);
|
);
|
||||||
|
@ -67,9 +70,9 @@ my @O02 = ("", "", "Expunge Both\n");
|
||||||
#show("01", "02", "02");
|
#show("01", "02", "02");
|
||||||
my @X02 = (
|
my @X02 = (
|
||||||
[ 10,
|
[ 10,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 9, 9, "", 10, 10, "" ],
|
A, 1, "F", B, 2, "F", C, 3, "FS", D, 4, "", I, 9, "", J, 10, "" ],
|
||||||
[ 10,
|
[ 10,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 10, 9, "", 9, 10, "" ],
|
A, 1, "F", B, 2, "F", C, 3, "FS", D, 4, "", J, 9, "", I, 10, "" ],
|
||||||
[ 9, 0, 9,
|
[ 9, 0, 9,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 10, 9, "", 9, 10, "" ],
|
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 10, 9, "", 9, 10, "" ],
|
||||||
);
|
);
|
||||||
|
@ -79,9 +82,9 @@ my @O03 = ("", "", "Expunge Slave\n");
|
||||||
#show("01", "03", "03");
|
#show("01", "03", "03");
|
||||||
my @X03 = (
|
my @X03 = (
|
||||||
[ 10,
|
[ 10,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 6, "FT", 7, 7, "FT", 9, 9, "", 10, 10, "" ],
|
A, 1, "F", B, 2, "F", C, 3, "FS", D, 4, "", E, 5, "T", F, 6, "FT", G, 7, "FT", I, 9, "", J, 10, "" ],
|
||||||
[ 10,
|
[ 10,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 10, 9, "", 9, 10, "" ],
|
A, 1, "F", B, 2, "F", C, 3, "FS", D, 4, "", J, 9, "", I, 10, "" ],
|
||||||
[ 9, 0, 9,
|
[ 9, 0, 9,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 5, 0, "T", 6, 0, "", 7, 0, "T", 10, 9, "", 9, 10, "" ],
|
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 5, 0, "T", 6, 0, "", 7, 0, "T", 10, 9, "", 9, 10, "" ],
|
||||||
);
|
);
|
||||||
|
@ -91,9 +94,9 @@ my @O04 = ("", "", "Sync Pull\n");
|
||||||
#show("01", "04", "04");
|
#show("01", "04", "04");
|
||||||
my @X04 = (
|
my @X04 = (
|
||||||
[ 9,
|
[ 9,
|
||||||
1, 1, "F", 2, 2, "", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 6, "F", 7, 7, "FT", 9, 9, "" ],
|
A, 1, "F", B, 2, "", C, 3, "FS", D, 4, "", E, 5, "T", F, 6, "F", G, 7, "FT", I, 9, "" ],
|
||||||
[ 10,
|
[ 10,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 5, 5, "T", 7, 7, "FT", 8, 8, "T", 10, 9, "", 9, 10, "" ],
|
A, 1, "F", B, 2, "F", C, 3, "FS", D, 4, "", E, 5, "T", G, 7, "FT", H, 8, "T", J, 9, "", I, 10, "" ],
|
||||||
[ 9, 0, 0,
|
[ 9, 0, 0,
|
||||||
1, 1, "F", 2, 2, "", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 6, "", 7, 7, "FT", 0, 8, "", 9, 10, "" ],
|
1, 1, "F", 2, 2, "", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 6, "", 7, 7, "FT", 0, 8, "", 9, 10, "" ],
|
||||||
);
|
);
|
||||||
|
@ -103,9 +106,9 @@ my @O05 = ("", "", "Sync Flags\n");
|
||||||
#show("01", "05", "05");
|
#show("01", "05", "05");
|
||||||
my @X05 = (
|
my @X05 = (
|
||||||
[ 9,
|
[ 9,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 6, "F", 7, 7, "FT", 9, 9, "" ],
|
A, 1, "F", B, 2, "F", C, 3, "FS", D, 4, "", E, 5, "T", F, 6, "F", G, 7, "FT", I, 9, "" ],
|
||||||
[ 9,
|
[ 9,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 5, 5, "T", 7, 7, "FT", 8, 8, "", 10, 9, "" ],
|
A, 1, "F", B, 2, "F", C, 3, "FS", D, 4, "", E, 5, "T", G, 7, "FT", H, 8, "", J, 9, "" ],
|
||||||
[ 8, 0, 0,
|
[ 8, 0, 0,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 6, "", 7, 7, "FT", 8, 8, "" ],
|
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 6, "", 7, 7, "FT", 8, 8, "" ],
|
||||||
);
|
);
|
||||||
|
@ -115,9 +118,9 @@ my @O06 = ("", "", "Sync Delete\n");
|
||||||
#show("01", "06", "06");
|
#show("01", "06", "06");
|
||||||
my @X06 = (
|
my @X06 = (
|
||||||
[ 9,
|
[ 9,
|
||||||
1, 1, "F", 2, 2, "", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 6, "FT", 7, 7, "FT", 9, 9, "" ],
|
A, 1, "F", B, 2, "", C, 3, "FS", D, 4, "", E, 5, "T", F, 6, "FT", G, 7, "FT", I, 9, "" ],
|
||||||
[ 9,
|
[ 9,
|
||||||
1, 1, "", 2, 2, "F", 3, 3, "F", 4, 4, "", 5, 5, "", 7, 7, "", 8, 8, "T", 10, 9, "" ],
|
A, 1, "", B, 2, "F", C, 3, "F", D, 4, "", E, 5, "", G, 7, "", H, 8, "T", J, 9, "" ],
|
||||||
[ 8, 0, 0,
|
[ 8, 0, 0,
|
||||||
1, 1, "", 2, 2, "", 3, 3, "", 4, 4, "", 5, 5, "", 6, 0, "", 7, 7, "", 0, 8, "" ],
|
1, 1, "", 2, 2, "", 3, 3, "", 4, 4, "", 5, 5, "", 6, 0, "", 7, 7, "", 0, 8, "" ],
|
||||||
);
|
);
|
||||||
|
@ -127,9 +130,9 @@ my @O07 = ("", "", "Sync New\n");
|
||||||
#show("01", "07", "07");
|
#show("01", "07", "07");
|
||||||
my @X07 = (
|
my @X07 = (
|
||||||
[ 10,
|
[ 10,
|
||||||
1, 1, "F", 2, 2, "", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 6, "F", 7, 7, "FT", 9, 9, "", 10, 10, "" ],
|
A, 1, "F", B, 2, "", C, 3, "FS", D, 4, "", E, 5, "T", F, 6, "F", G, 7, "FT", I, 9, "", J, 10, "" ],
|
||||||
[ 10,
|
[ 10,
|
||||||
1, 1, "", 2, 2, "F", 3, 3, "F", 4, 4, "", 5, 5, "", 7, 7, "", 8, 8, "", 10, 9, "", 9, 10, "" ],
|
A, 1, "", B, 2, "F", C, 3, "F", D, 4, "", E, 5, "", G, 7, "", H, 8, "", J, 9, "", I, 10, "" ],
|
||||||
[ 9, 0, 9,
|
[ 9, 0, 9,
|
||||||
1, 1, "", 2, 2, "", 3, 3, "", 4, 4, "", 5, 5, "", 6, 6, "", 7, 7, "", 8, 8, "", 10, 9, "", 9, 10, "" ],
|
1, 1, "", 2, 2, "", 3, 3, "", 4, 4, "", 5, 5, "", 6, 6, "", 7, 7, "", 8, 8, "", 10, 9, "", 9, 10, "" ],
|
||||||
);
|
);
|
||||||
|
@ -139,9 +142,9 @@ my @O08 = ("", "", "Sync PushFlags PullDelete\n");
|
||||||
#show("01", "08", "08");
|
#show("01", "08", "08");
|
||||||
my @X08 = (
|
my @X08 = (
|
||||||
[ 9,
|
[ 9,
|
||||||
1, 1, "F", 2, 2, "F", 3, 3, "FS", 4, 4, "", 5, 5, "T", 6, 6, "F", 7, 7, "FT", 9, 9, "" ],
|
A, 1, "F", B, 2, "F", C, 3, "FS", D, 4, "", E, 5, "T", F, 6, "F", G, 7, "FT", I, 9, "" ],
|
||||||
[ 9,
|
[ 9,
|
||||||
1, 1, "", 2, 2, "F", 3, 3, "F", 4, 4, "", 5, 5, "", 7, 7, "", 8, 8, "T", 10, 9, "" ],
|
A, 1, "", B, 2, "F", C, 3, "F", D, 4, "", E, 5, "", G, 7, "", H, 8, "T", J, 9, "" ],
|
||||||
[ 8, 0, 0,
|
[ 8, 0, 0,
|
||||||
1, 1, "", 2, 2, "F", 3, 3, "F", 4, 4, "", 5, 5, "", 6, 6, "", 7, 7, "", 0, 8, "" ],
|
1, 1, "", 2, 2, "F", 3, 3, "F", 4, 4, "", 5, 5, "", 6, 6, "", 7, 7, "", 0, 8, "" ],
|
||||||
);
|
);
|
||||||
|
@ -151,9 +154,9 @@ test("push flags + pull deletions", \@x01, \@X08, @O08);
|
||||||
|
|
||||||
my @x10 = (
|
my @x10 = (
|
||||||
[ 2,
|
[ 2,
|
||||||
1, 1, "", 2, 2, "*" ],
|
A, 1, "", B, 2, "*" ],
|
||||||
[ 1,
|
[ 1,
|
||||||
3, 1, "*" ],
|
C, 1, "*" ],
|
||||||
[ 0, 0, 0,
|
[ 0, 0, 0,
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
@ -162,9 +165,9 @@ my @O11 = ("MaxSize 1k\n", "MaxSize 1k\n", "");
|
||||||
#show("10", "11", "11");
|
#show("10", "11", "11");
|
||||||
my @X11 = (
|
my @X11 = (
|
||||||
[ 2,
|
[ 2,
|
||||||
1, 1, "", 2, 2, "*" ],
|
A, 1, "", B, 2, "*" ],
|
||||||
[ 2,
|
[ 2,
|
||||||
3, 1, "*", 1, 2, "" ],
|
C, 1, "*", A, 2, "" ],
|
||||||
[ 2, 0, 1,
|
[ 2, 0, 1,
|
||||||
0, 1, "^", 1, 2, "", 2, 0, "^" ],
|
0, 1, "^", 1, 2, "", 2, 0, "^" ],
|
||||||
);
|
);
|
||||||
|
@ -174,9 +177,9 @@ my @O22 = ("", "MaxSize 1k\n", "");
|
||||||
#show("11", "22", "22");
|
#show("11", "22", "22");
|
||||||
my @X22 = (
|
my @X22 = (
|
||||||
[ 3,
|
[ 3,
|
||||||
1, 1, "", 2, 2, "*", 3, 3, "*" ],
|
A, 1, "", B, 2, "*", C, 3, "*" ],
|
||||||
[ 2,
|
[ 2,
|
||||||
3, 1, "*", 1, 2, "" ],
|
C, 1, "*", A, 2, "" ],
|
||||||
[ 2, 0, 1,
|
[ 2, 0, 1,
|
||||||
3, 1, "", 1, 2, "", 2, 0, "^" ],
|
3, 1, "", 1, 2, "", 2, 0, "^" ],
|
||||||
);
|
);
|
||||||
|
@ -186,7 +189,7 @@ test("slave max size", \@X11, \@X22, @O22);
|
||||||
|
|
||||||
my @x30 = (
|
my @x30 = (
|
||||||
[ 6,
|
[ 6,
|
||||||
1, 1, "F", 2, 2, "", 3, 3, "S", 4, 4, "", 5, 5, "S", 6, 6, "" ],
|
A, 1, "F", B, 2, "", C, 3, "S", D, 4, "", E, 5, "S", F, 6, "" ],
|
||||||
[ 0,
|
[ 0,
|
||||||
],
|
],
|
||||||
[ 0, 0, 0,
|
[ 0, 0, 0,
|
||||||
|
@ -197,9 +200,9 @@ my @O31 = ("", "", "MaxMessages 3\n");
|
||||||
#show("30", "31", "31");
|
#show("30", "31", "31");
|
||||||
my @X31 = (
|
my @X31 = (
|
||||||
[ 6,
|
[ 6,
|
||||||
1, 1, "F", 2, 2, "", 3, 3, "S", 4, 4, "", 5, 5, "S", 6, 6, "" ],
|
A, 1, "F", B, 2, "", C, 3, "S", D, 4, "", E, 5, "S", F, 6, "" ],
|
||||||
[ 5,
|
[ 5,
|
||||||
1, 1, "F", 2, 2, "", 4, 3, "", 5, 4, "S", 6, 5, "" ],
|
A, 1, "F", B, 2, "", D, 3, "", E, 4, "S", F, 5, "" ],
|
||||||
[ 6, 3, 0,
|
[ 6, 3, 0,
|
||||||
1, 1, "F", 2, 2, "", 4, 3, "", 5, 4, "S", 6, 5, "" ],
|
1, 1, "F", 2, 2, "", 4, 3, "", 5, 4, "S", 6, 5, "" ],
|
||||||
);
|
);
|
||||||
|
@ -209,9 +212,9 @@ my @O32 = ("", "", "MaxMessages 3\nExpireUnread yes\n");
|
||||||
#show("30", "32", "32");
|
#show("30", "32", "32");
|
||||||
my @X32 = (
|
my @X32 = (
|
||||||
[ 6,
|
[ 6,
|
||||||
1, 1, "F", 2, 2, "", 3, 3, "S", 4, 4, "", 5, 5, "S", 6, 6, "" ],
|
A, 1, "F", B, 2, "", C, 3, "S", D, 4, "", E, 5, "S", F, 6, "" ],
|
||||||
[ 4,
|
[ 4,
|
||||||
1, 1, "F", 4, 2, "", 5, 3, "S", 6, 4, "" ],
|
A, 1, "F", D, 2, "", E, 3, "S", F, 4, "" ],
|
||||||
[ 6, 3, 0,
|
[ 6, 3, 0,
|
||||||
1, 1, "F", 4, 2, "", 5, 3, "S", 6, 4, "" ],
|
1, 1, "F", 4, 2, "", 5, 3, "S", 6, 4, "" ],
|
||||||
);
|
);
|
||||||
|
@ -219,9 +222,9 @@ test("max messages vs. unread", \@x30, \@X32, @O32);
|
||||||
|
|
||||||
my @x50 = (
|
my @x50 = (
|
||||||
[ 6,
|
[ 6,
|
||||||
1, 1, "FS", 2, 2, "FS", 3, 3, "S", 4, 4, "", 5, 5, "", 6, 6, "" ],
|
A, 1, "FS", B, 2, "FS", C, 3, "S", D, 4, "", E, 5, "", F, 6, "" ],
|
||||||
[ 6,
|
[ 6,
|
||||||
1, 1, "S", 2, 2, "ST", 4, 4, "", 5, 5, "", 6, 6, "" ],
|
A, 1, "S", B, 2, "ST", D, 4, "", E, 5, "", F, 6, "" ],
|
||||||
[ 6, 3, 0,
|
[ 6, 3, 0,
|
||||||
1, 1, "FS", 2, 2, "~S", 3, 3, "~S", 4, 4, "", 5, 5, "", 6, 6, "" ],
|
1, 1, "FS", 2, 2, "~S", 3, 3, "~S", 4, 4, "", 5, 5, "", 6, 6, "" ],
|
||||||
);
|
);
|
||||||
|
@ -230,9 +233,9 @@ my @O51 = ("", "", "MaxMessages 3\nExpunge Both\n");
|
||||||
#show("50", "51", "51");
|
#show("50", "51", "51");
|
||||||
my @X51 = (
|
my @X51 = (
|
||||||
[ 6,
|
[ 6,
|
||||||
1, 1, "S", 2, 2, "FS", 3, 3, "S", 4, 4, "", 5, 5, "", 6, 6, "" ],
|
A, 1, "S", B, 2, "FS", C, 3, "S", D, 4, "", E, 5, "", F, 6, "" ],
|
||||||
[ 6,
|
[ 6,
|
||||||
2, 2, "FS", 4, 4, "", 5, 5, "", 6, 6, "" ],
|
B, 2, "FS", D, 4, "", E, 5, "", F, 6, "" ],
|
||||||
[ 6, 3, 0,
|
[ 6, 3, 0,
|
||||||
2, 2, "FS", 4, 4, "", 5, 5, "", 6, 6, "" ],
|
2, 2, "FS", 4, 4, "", 5, 5, "", 6, 6, "" ],
|
||||||
);
|
);
|
||||||
|
@ -453,7 +456,7 @@ sub mkbox($$@)
|
||||||
my ($num, $uid, $flg) = (shift @ms, shift @ms, shift @ms);
|
my ($num, $uid, $flg) = (shift @ms, shift @ms, shift @ms);
|
||||||
my $big = $flg =~ s/\*//;
|
my $big = $flg =~ s/\*//;
|
||||||
open(FILE, ">", $bn."/".($flg =~ /S/ ? "cur" : "new")."/0.1_".$num.".local,U=".$uid.":2,".$flg) or
|
open(FILE, ">", $bn."/".($flg =~ /S/ ? "cur" : "new")."/0.1_".$num.".local,U=".$uid.":2,".$flg) or
|
||||||
die "Cannot create message $num in mailbox $bn.\n";
|
die "Cannot create message ".mn($num)." in mailbox $bn.\n";
|
||||||
print FILE "From: foo\nTo: bar\nDate: Thu, 1 Jan 1970 00:00:00 +0000\nSubject: $num\n\n".(("A"x50)."\n")x($big*30);
|
print FILE "From: foo\nTo: bar\nDate: Thu, 1 Jan 1970 00:00:00 +0000\nSubject: $num\n\n".(("A"x50)."\n")x($big*30);
|
||||||
close FILE;
|
close FILE;
|
||||||
}
|
}
|
||||||
|
@ -587,7 +590,7 @@ sub printbox($$@)
|
||||||
} else {
|
} else {
|
||||||
print ", ";
|
print ", ";
|
||||||
}
|
}
|
||||||
print shift(@ms).", ".shift(@ms).", \"".shift(@ms)."\"";
|
print mn(shift(@ms)).", ".shift(@ms).", \"".shift(@ms)."\"";
|
||||||
}
|
}
|
||||||
print " ],\n";
|
print " ],\n";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user