]> git.ipfire.org Git - thirdparty/mlmmj.git/commitdiff
fix: incremental update
authorBaptiste Daroussin <bapt@FreeBSD.org>
Sat, 9 Dec 2023 19:18:49 +0000 (20:18 +0100)
committerBaptiste Daroussin <bapt@FreeBSD.org>
Sat, 9 Dec 2023 19:18:49 +0000 (20:18 +0100)
src/incindexfile.c
tests/mlmmj-receive.sh
tests/mlmmj.c

index ce85fa2a77141652b3f481335638e48e7a6d496d..33fc50e83d1ac5b04d369d6bfbe497f5ca937c6c 100644 (file)
@@ -51,7 +51,7 @@ int incindexfile(int listfd)
                return 0;
        }
 
-       fp = fdopen(fd, "r");
+       fp = fdopen(fd, "r+");
        if (fp == NULL) {
                log_error(LOG_ARGS, "Error fdopening index file");
                close(fd);
index a67c18c7d89ecc0443ba17af6b5fb8b4fc3cef05..5c29d2859127e86b211be0b9cb95f708f84b9571 100755 (executable)
@@ -22,7 +22,7 @@ tests_init \
        moderation_reject_invalid \
        maxmailsize \
        maxmailsize0 \
-       normail_email \
+       normal_email \
        delheaders \
        customheaders \
        verp
@@ -2483,7 +2483,7 @@ EOF
        return
 }
 
-normail_email_body()
+normal_email_body()
 {
        atf_check $srcdir/fakesmtpd
        trap kill_fakesmtp EXIT TERM
@@ -2539,13 +2539,38 @@ EOF
        atf_check -o file:expected-1.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-1.txt
        touch list/control/footer
        atf_check -s exit:0 $mlmmjreceive -L list -F <first
-       atf_check -o file:expected-1.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-2.txt
+       atf_check -o file:expected-1.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-1.txt
+       cat >> expected-2.txt <<EOF
+EHLO heloname\r
+MAIL FROM:<test+bounces-2-user=test@mlmmjtest>\r
+RCPT TO:<user@test>\r
+DATA\r
+From: bob@test\r
+To: test@mlmmjtest\r
+Subject: yeah\r
+\r
+Let's go, first email\r
+\r
+.\r
+MAIL FROM:<test+bounces-2-user2=test@mlmmjtest>\r
+RCPT TO:<user2@test>\r
+DATA\r
+From: bob@test\r
+To: test@mlmmjtest\r
+Subject: yeah\r
+\r
+Let's go, first email\r
+\r
+.\r
+QUIT\r
+EOF
+       atf_check -o file:expected-2.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-2.txt
        printf "myfooter\nreally" > list/control/footer
        touch list/control/prefix
        atf_check -s exit:0 $mlmmjreceive -L list -F <first
-       cat >> expected-2.txt <<EOF
+       cat >> expected-3.txt <<EOF
 EHLO heloname\r
-MAIL FROM:<test+bounces-1-user=test@mlmmjtest>\r
+MAIL FROM:<test+bounces-3-user=test@mlmmjtest>\r
 RCPT TO:<user@test>\r
 DATA\r
 From: bob@test\r
@@ -2556,7 +2581,7 @@ Let's go, first email
 myfooter\r
 really\r
 .\r
-MAIL FROM:<test+bounces-1-user2=test@mlmmjtest>\r
+MAIL FROM:<test+bounces-3-user2=test@mlmmjtest>\r
 RCPT TO:<user2@test>\r
 DATA\r
 From: bob@test\r
@@ -2569,12 +2594,12 @@ really
 .\r
 QUIT\r
 EOF
-       atf_check -o file:expected-2.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-3.txt
+       atf_check -o file:expected-3.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-3.txt
        echo "[plop]" > list/control/prefix
        atf_check -s exit:0 $mlmmjreceive -L list -F <first
-       cat >> expected-3.txt <<EOF
+       cat >> expected-4.txt <<EOF
 EHLO heloname\r
-MAIL FROM:<test+bounces-1-user=test@mlmmjtest>\r
+MAIL FROM:<test+bounces-4-user=test@mlmmjtest>\r
 RCPT TO:<user@test>\r
 DATA\r
 From: bob@test\r
@@ -2585,7 +2610,7 @@ Let's go, first email
 myfooter\r
 really\r
 .\r
-MAIL FROM:<test+bounces-1-user2=test@mlmmjtest>\r
+MAIL FROM:<test+bounces-4-user2=test@mlmmjtest>\r
 RCPT TO:<user2@test>\r
 DATA\r
 From: bob@test\r
@@ -2598,12 +2623,12 @@ really
 .\r
 QUIT\r
 EOF
-       atf_check -o file:expected-3.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-4.txt
+       atf_check -o file:expected-4.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-4.txt
 
        atf_check -s exit:0 $mlmmjreceive -L list -F <nosubject
-       cat >> expected-4.txt <<EOF
+       cat >> expected-5.txt <<EOF
 EHLO heloname\r
-MAIL FROM:<test+bounces-1-user=test@mlmmjtest>\r
+MAIL FROM:<test+bounces-5-user=test@mlmmjtest>\r
 RCPT TO:<user@test>\r
 DATA\r
 From: bob@test\r
@@ -2614,7 +2639,7 @@ Let's go, first email
 myfooter\r
 really\r
 .\r
-MAIL FROM:<test+bounces-1-user2=test@mlmmjtest>\r
+MAIL FROM:<test+bounces-5-user2=test@mlmmjtest>\r
 RCPT TO:<user2@test>\r
 DATA\r
 From: bob@test\r
@@ -2627,7 +2652,7 @@ really
 .\r
 QUIT\r
 EOF
-       atf_check -o file:expected-4.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-5.txt
+       atf_check -o file:expected-5.txt sed -e "/^Message-ID:/d; /^Date:/d;" mail-5.txt
 }
 
 delheaders_body()
@@ -2746,7 +2771,7 @@ EOF
        atf_check -s exit:0 $mlmmjreceive -L list -F <second
        cat >> expected-2.txt <<EOF
 EHLO heloname\r
-MAIL FROM:<test+bounces-1-user=test@mlmmjtest>\r
+MAIL FROM:<test+bounces-2-user=test@mlmmjtest>\r
 RCPT TO:<user@test>\r
 DATA\r
 From: bob@test\r
@@ -2759,7 +2784,7 @@ Subject: yeah
 Let's go, first email\r
 \r
 .\r
-MAIL FROM:<test+bounces-1-user2=test@mlmmjtest>\r
+MAIL FROM:<test+bounces-2-user2=test@mlmmjtest>\r
 RCPT TO:<user2@test>\r
 DATA\r
 From: bob@test\r
index 764f26f727ef9524f81b10ece929917201b60dca..27b188be1f61cb70d1a0995f6926d0ee53fe65d0 100644 (file)
@@ -1404,6 +1404,7 @@ ATF_TC_BODY(incindexfile, tc)
        unlink("list/index");
        atf_utils_create_file("list/index", "1");
        ATF_REQUIRE_EQ(incindexfile(fd), 2);
+       ATF_REQUIRE_EQ(incindexfile(fd), 3);
        close(fd);
 }