mail-mta/nullmailer: import debian patches wrt tests
authorMichael Haubenwallner <haubi@gentoo.org>
Tue, 1 Oct 2019 12:34:59 +0000 (14:34 +0200)
committerMichael Haubenwallner <haubi@gentoo.org>
Tue, 1 Oct 2019 12:39:37 +0000 (14:39 +0200)
Fix a race condition while running tests, disable tests relying on
external resources like DNS and SMTP auth.

Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Michael Haubenwallner <haubi@gentoo.org>
mail-mta/nullmailer/files/nullmailer-2.2-disable-dns-using-test.patch [new file with mode: 0644]
mail-mta/nullmailer/files/nullmailer-2.2-disable-smtp-auth-tests.patch [new file with mode: 0644]
mail-mta/nullmailer/files/nullmailer-2.2-fix-test-racecondition.patch [new file with mode: 0644]
mail-mta/nullmailer/nullmailer-2.2.ebuild

diff --git a/mail-mta/nullmailer/files/nullmailer-2.2-disable-dns-using-test.patch b/mail-mta/nullmailer/files/nullmailer-2.2-disable-dns-using-test.patch
new file mode 100644 (file)
index 0000000..0c5939a
--- /dev/null
@@ -0,0 +1,26 @@
+https://sources.debian.org/data/main/n/nullmailer/1:2.2-3/debian/patches/0006-Disable-DNS-using-test.patch
+
+From: David Bremner <david@tethera.net>
+Date: Wed, 31 Oct 2018 09:18:53 -0300
+Subject: Disable DNS using test.
+
+This is probably against policy, and causes build failures in pbuilder
+---
+ test/tests/protocols | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/test/tests/protocols b/test/tests/protocols
+index 52209d7..8f67b0a 100644
+--- a/test/tests/protocols
++++ b/test/tests/protocols
+@@ -28,8 +28,8 @@ do
+       stop server
+-      echo "Testing host not found error with $p."
+-      error 2 protocol $p --host=this.host.can.not.exist 3<$testmail
++#     echo "Testing host not found error with $p."
++#     error 2 protocol $p --host=this.host.can.not.exist 3<$testmail
+       echo "Testing connection refused error with $p."
+       error 7 protocol $p -p $port --host=localhost 3<$testmail
diff --git a/mail-mta/nullmailer/files/nullmailer-2.2-disable-smtp-auth-tests.patch b/mail-mta/nullmailer/files/nullmailer-2.2-disable-smtp-auth-tests.patch
new file mode 100644 (file)
index 0000000..f66a484
--- /dev/null
@@ -0,0 +1,57 @@
+https://sources.debian.org/data/main/n/nullmailer/1:2.2-3/debian/patches/0007-disable-all-smtp-auth-tests.patch
+
+From: David Bremner <david@tethera.net>
+Date: Tue, 25 Dec 2018 08:18:35 +0900
+Subject: disable all smtp-auth tests
+
+These seem racy in ways that I haven't been able to completely nail down
+---
+ test/tests/smtp-auth | 32 ++++++++++++++++----------------
+ 1 file changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/test/tests/smtp-auth b/test/tests/smtp-auth
+index 52e12d0..2dc736f 100644
+--- a/test/tests/smtp-auth
++++ b/test/tests/smtp-auth
+@@ -1,25 +1,25 @@
+ . functions
+ export HELOHOST=f.q.d.n
+-make-testmail
++# make-testmail
+-start server "tcpserver -1 ::0 0 sh $srcdir/test/authtest-smtp.sh $tmpdir/smtp-result"
+-catch-port server
++# start server "tcpserver -1 ::0 0 sh $srcdir/test/authtest-smtp.sh $tmpdir/smtp-result"
++# catch-port server
+-echo 'Testing auth success with smtp'
+-echo '250 OK' > $tmpdir/smtp-result
+-protocol smtp --host=localhost --port=$port --user=example --pass=example 3<$testmail
++# echo 'Testing auth success with smtp'
++# echo '250 OK' > $tmpdir/smtp-result
++# protocol smtp --host=localhost --port=$port --user=example --pass=example 3<$testmail
+-echo 'Testing auth login success with smtp'
+-echo $'350 Go ahead\n250 AUTH' > $tmpdir/smtp-result
+-protocol smtp --host=localhost --port=$port --user=example --pass=example --auth-login 3<$testmail
++# echo 'Testing auth login success with smtp'
++# echo $'350 Go ahead\n250 AUTH' > $tmpdir/smtp-result
++# protocol smtp --host=localhost --port=$port --user=example --pass=example --auth-login 3<$testmail
+-echo 'Testing auth temporary failure with smtp'
+-echo '450 No' > $tmpdir/smtp-result
+-error 16 protocol smtp --host=localhost --port $port --user=example --pass=example 3<$testmail
++# echo 'Testing auth temporary failure with smtp'
++# echo '450 No' > $tmpdir/smtp-result
++# error 16 protocol smtp --host=localhost --port $port --user=example --pass=example 3<$testmail
+-echo 'Testing auth permanent failure with smtp'
+-echo '550 No' > $tmpdir/smtp-result
+-error 20 protocol smtp --host=localhost --port $port --user=example --pass=example 3<$testmail
++# echo 'Testing auth permanent failure with smtp'
++# echo '550 No' > $tmpdir/smtp-result
++# error 20 protocol smtp --host=localhost --port $port --user=example --pass=example 3<$testmail
+-stop server
++# stop server
diff --git a/mail-mta/nullmailer/files/nullmailer-2.2-fix-test-racecondition.patch b/mail-mta/nullmailer/files/nullmailer-2.2-fix-test-racecondition.patch
new file mode 100644 (file)
index 0000000..8f721d8
--- /dev/null
@@ -0,0 +1,29 @@
+https://sources.debian.org/data/main/n/nullmailer/1:2.2-3/debian/patches/0001-Remove-race-conditions-from-tests.patch
+
+From: Felix Lechner <felix.lechner@lease-up.com>
+Date: Sat, 2 Sep 2017 09:57:43 -0300
+Subject: Remove race conditions from tests
+
+Testing the qmqp protocol fails because the testing server cannot
+acquire the lock.  This is solved by waiting for the previous
+server to exit gracefully and clear the lock. Similarly, wait
+before removing temporary directories.
+
+Forwarded: no
+Last-Update: 2017-10-07
+---
+ test/tests/protocols | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/test/tests/protocols b/test/tests/protocols
+index 0309d12..52209d7 100644
+--- a/test/tests/protocols
++++ b/test/tests/protocols
+@@ -54,6 +54,7 @@ do
+       echo "Testing protocol failure with $p."
+       error 11 protocol $p -p $port --host=localhost 3<$testmail
+       stop server
++      wait
+ done
+ stop server
index 178c1507ac2b58071bada88dd4e4a331d25a375d..59e8c37fad7d7dfca9c18b92c3071c87040f44dc 100644 (file)
@@ -35,6 +35,12 @@ RDEPEND="
        !mail-mta/ssmtp[mta(+)]
 "
 
+PATCHES=(
+       "${FILESDIR}/${P}-fix-test-racecondition.patch"
+       "${FILESDIR}/${P}-disable-dns-using-test.patch"
+       "${FILESDIR}/${P}-disable-smtp-auth-tests.patch"
+)
+
 pkg_setup() {
        enewgroup nullmail 88
        enewuser nullmail 88 -1 /var/spool/nullmailer nullmail