diff options
| -rw-r--r-- | imap/testsuite.txt | 4 | ||||
| -rw-r--r-- | imap/testsuitefix.pl.in | 15 |
2 files changed, 16 insertions, 3 deletions
diff --git a/imap/testsuite.txt b/imap/testsuite.txt index 851cd45..617a1a0 100644 --- a/imap/testsuite.txt +++ b/imap/testsuite.txt @@ -1063,8 +1063,8 @@ 000933 * OK [PERMANENTFLAGS (-Label1 -Label2 -Label3 \* \Draft \Answered \Flagged \Deleted \Seen)] Limited
000934 * 4 FETCH (FLAGS (-Label1 -Label2 -Label3))
000935 P027 OK STORE completed.
-000936 * FLAGS (-Label4 -Label1 -Label2 -Label3 \Draft \Answered \Flagged \Deleted \Seen \Recent)
-000937 * OK [PERMANENTFLAGS (-Label4 -Label1 -Label2 -Label3 \* \Draft \Answered \Flagged \Deleted \Seen)] Limited
+000936 * FLAGS (-Label1 -Label2 -Label3 -Label4 \Draft \Answered \Flagged \Deleted \Seen \Recent)
+000937 * OK [PERMANENTFLAGS (-Label1 -Label2 -Label3 -Label4 \* \Draft \Answered \Flagged \Deleted \Seen)] Limited
000938 * 4 FETCH (FLAGS (-Label1 -Label2 -Label3 -Label4))
000939 P028 OK STORE completed.
000940 * BYE Courier-IMAP server shutting down
diff --git a/imap/testsuitefix.pl.in b/imap/testsuitefix.pl.in index aa1ab87..975e25d 100644 --- a/imap/testsuitefix.pl.in +++ b/imap/testsuitefix.pl.in @@ -1,6 +1,6 @@ #! @PERL@ # -# Copyright 2000-2001 Double Precision, Inc. See COPYING for +# Copyright 2000-2022 Double Precision, Inc. See COPYING for # distribution information. # # Ok, the output of LIST is given in filesystem order, so fix that by @@ -10,6 +10,18 @@ $n=0; +sub sortflags { + my ($n)=@_; + + my $sp=""; + + $sp=" " if $n =~ s/\s+$//; + + my @w = grep { $_ ne ""} split(/\s+/, $n); + + return join(" ", sort @w) . $sp; +} + while (<>) { s/UIDVALIDITY \d+/UIDVALIDITY/; @@ -18,6 +30,7 @@ while (<>) s/\[APPENDUID.*\] //; s/^\* ADD \"UID=.*/* ADD UID/; s/^\* COPY \d+ \"NEWUID=.*/* COPY NEWUID/; + s/^(\* (\d+ FETCH \()?FLAGS \(|\* OK \[PERMANENTFLAGS \()([^\\\)]+)/$1 . sortflags($3)/e; printf("%06d %s", $n, $_); ++$n unless $_ =~ /^\* (LIST|LSUB|ENABLED)/ || $_ =~ /Options enabled/; } |
