summaryrefslogtreecommitdiff
path: root/src/mailman/utilities
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/utilities')
-rw-r--r--src/mailman/utilities/interact.py9
-rw-r--r--src/mailman/utilities/tests/test_import.py7
2 files changed, 12 insertions, 4 deletions
diff --git a/src/mailman/utilities/interact.py b/src/mailman/utilities/interact.py
index fec980b80..ac1612156 100644
--- a/src/mailman/utilities/interact.py
+++ b/src/mailman/utilities/interact.py
@@ -22,6 +22,7 @@ import sys
import code
from contextlib import suppress
+from inspect import signature
from mailman import public
@@ -67,4 +68,10 @@ def interact(upframe=True, banner=DEFAULT_BANNER, overrides=None):
Python %s on %s
Type "help", "copyright", "credits" or "license" for more information.''' % (
sys.version, sys.platform)
- interp.interact(banner)
+ # Python 3.6 added an exitmsg keyword but we don't currently support
+ # configuring it. For consistency between Python 3.6 and earlier
+ # versions, suppress the exit message if possible.
+ kws = dict(banner=banner)
+ if 'exitmsg' in signature(interp.interact).parameters:
+ kws['exitmsg'] = ''
+ interp.interact(**kws)
diff --git a/src/mailman/utilities/tests/test_import.py b/src/mailman/utilities/tests/test_import.py
index ca3a4afb7..5a226ba26 100644
--- a/src/mailman/utilities/tests/test_import.py
+++ b/src/mailman/utilities/tests/test_import.py
@@ -65,6 +65,7 @@ def list_to_string(data):
class TestBasicImport(unittest.TestCase):
layer = ConfigLayer
+ maxDiff = None
def setUp(self):
self._mlist = create_list('blank@example.com')
@@ -322,12 +323,12 @@ class TestBasicImport(unittest.TestCase):
SubscriptionPolicy.confirm_then_moderate)
def test_header_matches(self):
- # This test contail real cases of header_filter_rules
+ # This test containes real cases of header_filter_rules.
self._pckdict['header_filter_rules'] = [
('X\\-Spam\\-Status\\: Yes.*', 3, False),
('^X-Spam-Status: Yes\r\n\r\n', 2, False),
('^X-Spam-Level: \\*\\*\\*.*$', 3, False),
- ('^X-Spam-Level:.\\*\\*\r\n^X-Spam:.\\Yes', 3, False),
+ ('^X-Spam-Level:.\\*\\*\r\n^X-Spam:.Yes', 3, False),
('Subject: \\[SPAM\\].*', 3, False),
('^Subject: .*loan.*', 3, False),
('Original-Received: from *linkedin.com*\r\n', 3, False),
@@ -362,7 +363,7 @@ class TestBasicImport(unittest.TestCase):
('x-spam-status', 'Yes', 'reject'),
('x-spam-level', '\\*\\*\\*.*$', 'discard'),
('x-spam-level', '\\*\\*', 'discard'),
- ('x-spam', '\\Yes', 'discard'),
+ ('x-spam', 'Yes', 'discard'),
('subject', '\\[SPAM\\].*', 'discard'),
('subject', '.*loan.*', 'discard'),
('original-received', 'from *linkedin.com*', 'discard'),