# HG changeset patch
# User Augie Fackler <augie@google.com>
# Date 2018-08-09 21:46:07
# Node ID 78f1899e4202c802b31296d52e0e873dbd25d82c
# Parent  713126389ef230ad8d4149da5d2af021b9688d38

dummysmtpd: accept additional kwargs from stdlib smtpd

This was causing extremely mysterious failures because smtpd is
implemented using asynchat, which in turn doesn't appear to do
anything *remotely* helpful if an exception occurs.

# no-check-commit because I'm editing a foo_bar function signature

test-patchbomb-tls.t now passes in Python 3, but only because it
doesn't check message bodies like test-patchbomb.t. test-patchbomb.t
is *full* of doubled headers in the output (eg [0]) which seems like
an odd failure mode.


0:
@@ -141,12 +154,17 @@
   MIME-Version: 1.0
   Content-Type: text/plain; charset="us-ascii"
   Content-Transfer-Encoding: 7bit
+  MIME-Version: 1.0
+  Content-Type: text/plain; charset="us-ascii"
+  Content-Transfer-Encoding: 7bit
   Subject: [PATCH] bookmark
   X-Mercurial-Node: 8dab2639fd35f1e337ad866c372a5c44f1064e3c
   X-Mercurial-Series-Index: 1
   X-Mercurial-Series-Total: 1

Differential Revision: https://phab.mercurial-scm.org/D4219

diff --git a/contrib/python3-whitelist b/contrib/python3-whitelist
--- a/contrib/python3-whitelist
+++ b/contrib/python3-whitelist
@@ -363,6 +363,7 @@ test-parents.t
 test-parseindex2.py
 test-patch-offset.t
 test-patch.t
+test-patchbomb-tls.t
 test-pathconflicts-merge.t
 test-pathconflicts-update.t
 test-pathencode.py
diff --git a/tests/dummysmtpd.py b/tests/dummysmtpd.py
--- a/tests/dummysmtpd.py
+++ b/tests/dummysmtpd.py
@@ -26,7 +26,7 @@ class dummysmtpserver(smtpd.SMTPServer):
     def __init__(self, localaddr):
         smtpd.SMTPServer.__init__(self, localaddr, remoteaddr=None)
 
-    def process_message(self, peer, mailfrom, rcpttos, data):
+    def process_message(self, peer, mailfrom, rcpttos, data, **kwargs):
         log('%s from=%s to=%s\n' % (peer[0], mailfrom, ', '.join(rcpttos)))
 
     def handle_error(self):