------------------------------------------------------------
revno: 6509
committer: Barry Warsaw <[EMAIL PROTECTED]>
branch nick: 3.0
timestamp: Fri 2007-06-22 17:15:03 -0400
message:
Refactor tests to get consistent clean up behavior. The clean up sections
have been removed from the .txt files and instead added to the test harness,
which all doctests now use.
modified:
Mailman/docs/ack-headers.txt
Mailman/docs/acknowledge.txt
Mailman/docs/addresses.txt
Mailman/docs/after-delivery.txt
Mailman/docs/avoid-duplicates.txt
Mailman/docs/calc-recips.txt
Mailman/docs/cleanse.txt
Mailman/docs/cook-headers.txt
Mailman/docs/membership.txt
Mailman/docs/mlist-addresses.txt
Mailman/docs/reply-to.txt
Mailman/docs/replybot.txt
Mailman/docs/subject-munging.txt
Mailman/docs/usermanager.txt
Mailman/docs/users.txt
Mailman/testing/base.py
Mailman/testing/test_acknowledge.py
Mailman/testing/test_address.py
Mailman/testing/test_after_delivery.py
Mailman/testing/test_avoid_duplicates.py
Mailman/testing/test_calc_recips.py
Mailman/testing/test_cleanse.py
Mailman/testing/test_cook_headers.py
Mailman/testing/test_decorate.py
Mailman/testing/test_listmanager.py
Mailman/testing/test_membership.py
Mailman/testing/test_mlist_addresses.py
Mailman/testing/test_replybot.py
Mailman/testing/test_user.py
Mailman/testing/test_usermanager.py
=== modified file 'Mailman/docs/ack-headers.txt'
--- a/Mailman/docs/ack-headers.txt 2007-06-21 14:23:40 +0000
+++ b/Mailman/docs/ack-headers.txt 2007-06-22 21:15:03 +0000
@@ -53,13 +53,3 @@
<BLANKLINE>
A message of great import.
<BLANKLINE>
-
-
-Clean up
---------
-
- >>> for mlist in config.list_manager.mailing_lists:
- ... config.list_manager.delete(mlist)
- >>> flush()
- >>> list(config.list_manager.mailing_lists)
- []
=== modified file 'Mailman/docs/acknowledge.txt'
--- a/Mailman/docs/acknowledge.txt 2007-06-18 18:53:34 +0000
+++ b/Mailman/docs/acknowledge.txt 2007-06-22 21:15:03 +0000
@@ -174,13 +174,3 @@
List info page: http://lists.example.com/listinfo/[EMAIL PROTECTED]
Your preferences: http://example.com/[EMAIL PROTECTED]
<BLANKLINE>
-
-
-Clean up
---------
-
- >>> for mlist in config.list_manager.mailing_lists:
- ... config.list_manager.delete(mlist)
- >>> flush()
- >>> list(config.list_manager.mailing_lists)
- []
=== modified file 'Mailman/docs/addresses.txt'
--- a/Mailman/docs/addresses.txt 2007-06-10 23:14:10 +0000
+++ b/Mailman/docs/addresses.txt 2007-06-22 21:15:03 +0000
@@ -174,21 +174,3 @@
[EMAIL PROTECTED] as MemberRole.member>]
>>> sorted(mlist.digest_members.members)
[]
-
-
-Clean up
---------
-
- >>> for mlist in config.list_manager.mailing_lists:
- ... config.list_manager.delete(mlist)
- >>> for user in mgr.users:
- ... mgr.delete_user(user)
- >>> for address in mgr.addresses:
- ... mgr.delete_address(address)
- >>> flush()
- >>> sorted(config.list_manager.names)
- []
- >>> sorted(mgr.users)
- []
- >>> sorted(mgr.addresses)
- []
=== modified file 'Mailman/docs/after-delivery.txt'
--- a/Mailman/docs/after-delivery.txt 2007-06-18 18:53:34 +0000
+++ b/Mailman/docs/after-delivery.txt 2007-06-22 21:15:03 +0000
@@ -31,13 +31,3 @@
True
>>> mlist.post_id
11
-
-
-Clean up
---------
-
- >>> for mlist in config.list_manager.mailing_lists:
- ... config.list_manager.delete(mlist)
- >>> flush()
- >>> list(config.list_manager.mailing_lists)
- []
=== modified file 'Mailman/docs/avoid-duplicates.txt'
--- a/Mailman/docs/avoid-duplicates.txt 2007-06-21 23:46:27 +0000
+++ b/Mailman/docs/avoid-duplicates.txt 2007-06-22 21:15:03 +0000
@@ -171,13 +171,3 @@
<BLANKLINE>
Something of great import.
<BLANKLINE>
-
-
-Clean up
---------
-
- >>> for mlist in config.list_manager.mailing_lists:
- ... config.list_manager.delete(mlist)
- >>> flush()
- >>> list(config.list_manager.mailing_lists)
- []
=== modified file 'Mailman/docs/calc-recips.txt'
--- a/Mailman/docs/calc-recips.txt 2007-06-19 15:13:09 +0000
+++ b/Mailman/docs/calc-recips.txt 2007-06-22 21:15:03 +0000
@@ -105,26 +105,3 @@
* test_urgent_moderator()
* test_urgent_admin()
* test_urgent_reject()
-
-
-Clean up
---------
-
- >>> for member in mlist.members.members:
- ... member.unsubscribe()
- >>> flush()
- >>> list(mlist.members.members)
- []
- >>> for user in config.user_manager.users:
- ... config.user_manager.delete_user(user)
- >>> for address in config.user_manager.addresses:
- ... config.user_manager.delete_address(address)
- >>> for mlist in config.list_manager.mailing_lists:
- ... config.list_manager.delete(mlist)
- >>> flush()
- >>> list(config.user_manager.users)
- []
- >>> list(config.user_manager.addresses)
- []
- >>> list(config.list_manager.mailing_lists)
- []
=== modified file 'Mailman/docs/cleanse.txt'
--- a/Mailman/docs/cleanse.txt 2007-06-19 22:42:27 +0000
+++ b/Mailman/docs/cleanse.txt 2007-06-22 21:15:03 +0000
@@ -98,13 +98,3 @@
<BLANKLINE>
How are you doing?
<BLANKLINE>
-
-
-Clean up
---------
-
- >>> for mlist in config.list_manager.mailing_lists:
- ... config.list_manager.delete(mlist)
- >>> flush()
- >>> list(config.list_manager.mailing_lists)
- []
=== modified file 'Mailman/docs/cook-headers.txt'
--- a/Mailman/docs/cook-headers.txt 2007-06-21 14:23:40 +0000
+++ b/Mailman/docs/cook-headers.txt 2007-06-22 21:15:03 +0000
@@ -292,13 +292,3 @@
List-Unsubscribe: <http://lists.example.com/listinfo/[EMAIL PROTECTED]>,
<mailto:[EMAIL PROTECTED]>
---end---
-
-
-Clean up
---------
-
- >>> for mlist in config.list_manager.mailing_lists:
- ... config.list_manager.delete(mlist)
- >>> flush()
- >>> list(config.list_manager.mailing_lists)
- []
=== modified file 'Mailman/docs/membership.txt'
--- a/Mailman/docs/membership.txt 2007-06-18 14:50:23 +0000
+++ b/Mailman/docs/membership.txt 2007-06-22 21:15:03 +0000
@@ -211,30 +211,3 @@
None
>>> print mlist.members.get_member('[EMAIL PROTECTED]')
None
-
-
-Clean up
---------
-
- >>> for member in mlist.members.members:
- ... member.unsubscribe()
- >>> for admin in mlist.administrators.members:
- ... admin.unsubscribe()
- >>> flush()
- >>> list(mlist.members.members)
- []
- >>> list(mlist.administrators.members)
- []
- >>> for user in config.user_manager.users:
- ... config.user_manager.delete_user(user)
- >>> for address in config.user_manager.addresses:
- ... config.user_manager.delete_address(address)
- >>> for mlist in config.list_manager.mailing_lists:
- ... config.list_manager.delete(mlist)
- >>> flush()
- >>> list(config.user_manager.users)
- []
- >>> list(config.user_manager.addresses)
- []
- >>> list(config.list_manager.mailing_lists)
- []
=== modified file 'Mailman/docs/mlist-addresses.txt'
--- a/Mailman/docs/mlist-addresses.txt 2007-05-28 20:21:41 +0000
+++ b/Mailman/docs/mlist-addresses.txt 2007-06-22 21:15:03 +0000
@@ -6,7 +6,9 @@
>>> from Mailman.configuration import config
>>> from Mailman.interfaces import IMailingListAddresses
+ >>> from Mailman.database import flush
>>> mlist = config.list_manager.create('[EMAIL PROTECTED]')
+ >>> flush()
>>> IMailingListAddresses.providedBy(mlist)
True
@@ -76,10 +78,3 @@
>>> mlist.confirm_address('cookie')
'[EMAIL PROTECTED]'
>>> config.VERP_CONFIRM_FORMAT = old_format
-
-
-Clean up
---------
-
- >>> for mlist in config.list_manager.mailing_lists:
- ... config.list_manager.delete(mlist)
=== modified file 'Mailman/docs/reply-to.txt'
--- a/Mailman/docs/reply-to.txt 2007-06-21 14:23:40 +0000
+++ b/Mailman/docs/reply-to.txt 2007-06-22 21:15:03 +0000
@@ -136,13 +136,3 @@
1
>>> msg['reply-to']
'[EMAIL PROTECTED], [EMAIL PROTECTED]'
-
-
-Clean up
---------
-
- >>> for mlist in config.list_manager.mailing_lists:
- ... config.list_manager.delete(mlist)
- >>> flush()
- >>> list(config.list_manager.mailing_lists)
- []
=== modified file 'Mailman/docs/replybot.txt'
--- a/Mailman/docs/replybot.txt 2007-05-31 05:01:00 +0000
+++ b/Mailman/docs/replybot.txt 2007-06-22 21:15:03 +0000
@@ -219,12 +219,3 @@
period is measured in days.
XXX Add grace period tests.
-
-
-Clean up
---------
-
- >>> config.list_manager.delete(mlist)
- >>> flush()
- >>> [name for name in config.list_manager.names]
- []
=== modified file 'Mailman/docs/subject-munging.txt'
--- a/Mailman/docs/subject-munging.txt 2007-06-21 14:23:40 +0000
+++ b/Mailman/docs/subject-munging.txt 2007-06-22 21:15:03 +0000
@@ -250,13 +250,3 @@
# to get Tokio to look at this.
# >>> print msg['subject']
# [XTest] =?iso-2022-jp?b?IBskQiVhITwlayVeJXMbKEI=?=
-
-
-Clean up
---------
-
- >>> for mlist in config.list_manager.mailing_lists:
- ... config.list_manager.delete(mlist)
- >>> flush()
- >>> list(config.list_manager.mailing_lists)
- []
=== modified file 'Mailman/docs/usermanager.txt'
--- a/Mailman/docs/usermanager.txt 2007-06-15 04:50:40 +0000
+++ b/Mailman/docs/usermanager.txt 2007-06-22 21:15:03 +0000
@@ -132,13 +132,3 @@
>>> flush()
>>> print mgr.get_user(address.address)
None
-
-
-Clean up
---------
-
- >>> for user in mgr.users:
- ... mgr.delete_user(user)
- >>> flush()
- >>> list(mgr.users)
- []
=== modified file 'Mailman/docs/users.txt'
--- a/Mailman/docs/users.txt 2007-06-15 04:50:40 +0000
+++ b/Mailman/docs/users.txt 2007-06-22 21:15:03 +0000
@@ -152,13 +152,3 @@
receive_list_copy : False
receive_own_postings : False
delivery_mode : DeliveryMode.regular
-
-
-Clean up
---------
-
- >>> for user in mgr.users:
- ... mgr.delete_user(user)
- >>> flush()
- >>> sorted(mgr.users)
- []
=== modified file 'Mailman/testing/base.py'
--- a/Mailman/testing/base.py 2007-04-17 21:37:49 +0000
+++ b/Mailman/testing/base.py 2007-06-22 21:15:03 +0000
@@ -24,6 +24,7 @@
import sys
import stat
import shutil
+import doctest
import difflib
import tempfile
import unittest
@@ -35,9 +36,11 @@
from Mailman import Utils
from Mailman.bin import rmlist
from Mailman.configuration import config
+from Mailman.database import flush
from Mailman.database.dbcontext import dbcontext
NL = '\n'
+COMMASPACE = ', '
@@ -79,3 +82,34 @@
path = os.path.join(config.LOCK_DIR, filename)
print >> sys.stderr, '@@@@@ removing:', path
os.unlink(path)
+
+
+
+def cleaning_teardown(testobj):
+ for user in config.user_manager.users:
+ config.user_manager.delete_user(user)
+ for address in config.user_manager.addresses:
+ config.user_manager.delete_address(address)
+ for mlist in config.list_manager.mailing_lists:
+ for member in mlist.members.members:
+ member.unsubscribe()
+ for admin in mlist.administrators.members:
+ admin.unsubscribe()
+ config.list_manager.delete(mlist)
+ flush()
+ assert not list(config.list_manager.mailing_lists), (
+ 'There should be no mailing lists left: %s' %
+ COMMASPACE.join(sorted(config.list_manager.names)))
+ assert not list(config.user_manager.users), (
+ 'There should be no users left!')
+ assert not list(config.user_manager.addresses), (
+ 'There should be no addresses left!')
+
+
+def make_docfile_suite(path):
+ return doctest.DocFileSuite(
+ path,
+ optionflags=(doctest.ELLIPSIS
+ | doctest.NORMALIZE_WHITESPACE
+ | doctest.REPORT_NDIFF),
+ tearDown=cleaning_teardown)
=== modified file 'Mailman/testing/test_acknowledge.py'
--- a/Mailman/testing/test_acknowledge.py 2007-06-18 14:50:23 +0000
+++ b/Mailman/testing/test_acknowledge.py 2007-06-22 21:15:03 +0000
@@ -17,16 +17,11 @@
"""Doctest harness for testing message acknowledgment."""
-import doctest
import unittest
-
-options = (doctest.ELLIPSIS
- | doctest.NORMALIZE_WHITESPACE
- | doctest.REPORT_NDIFF)
+from Mailman.testing.base import make_docfile_suite
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('../docs/acknowledge.txt',
- optionflags=options))
+ suite.addTest(make_docfile_suite('../docs/acknowledge.txt'))
return suite
=== modified file 'Mailman/testing/test_address.py'
--- a/Mailman/testing/test_address.py 2007-05-28 20:21:41 +0000
+++ b/Mailman/testing/test_address.py 2007-06-22 21:15:03 +0000
@@ -17,14 +17,11 @@
"""Doctest harness for testing IAddress interface."""
-import doctest
import unittest
-
-options = doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE
+from Mailman.testing.base import make_docfile_suite
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('../docs/addresses.txt',
- optionflags=options))
+ suite.addTest(make_docfile_suite('../docs/addresses.txt'))
return suite
=== modified file 'Mailman/testing/test_after_delivery.py'
--- a/Mailman/testing/test_after_delivery.py 2007-06-19 15:13:09 +0000
+++ b/Mailman/testing/test_after_delivery.py 2007-06-22 21:15:03 +0000
@@ -17,16 +17,12 @@
"""Doctest harness for testing bookkeeping done after message delivery."""
-import doctest
import unittest
-options = (doctest.ELLIPSIS
- | doctest.NORMALIZE_WHITESPACE
- | doctest.REPORT_NDIFF)
+from Mailman.testing.base import make_docfile_suite
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('../docs/after-delivery.txt',
- optionflags=options))
+ suite.addTest(make_docfile_suite('../docs/after-delivery.txt'))
return suite
=== modified file 'Mailman/testing/test_avoid_duplicates.py'
--- a/Mailman/testing/test_avoid_duplicates.py 2007-06-21 23:46:27 +0000
+++ b/Mailman/testing/test_avoid_duplicates.py 2007-06-22 21:15:03 +0000
@@ -17,17 +17,11 @@
"""Doctest harness for the AvoidDuplicates handler."""
-import os
-import doctest
import unittest
-
-options = (doctest.ELLIPSIS
- | doctest.NORMALIZE_WHITESPACE
- | doctest.REPORT_NDIFF)
+from Mailman.testing.base import make_docfile_suite
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('../docs/avoid-duplicates.txt',
- optionflags=options))
+ suite.addTest(make_docfile_suite('../docs/avoid-duplicates.txt'))
return suite
=== modified file 'Mailman/testing/test_calc_recips.py'
--- a/Mailman/testing/test_calc_recips.py 2007-06-19 15:13:09 +0000
+++ b/Mailman/testing/test_calc_recips.py 2007-06-22 21:15:03 +0000
@@ -17,16 +17,11 @@
"""Doctest harness for testing the recipient calculation handler."""
-import doctest
import unittest
-
-options = (doctest.ELLIPSIS
- | doctest.NORMALIZE_WHITESPACE
- | doctest.REPORT_NDIFF)
+from Mailman.testing.base import make_docfile_suite
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('../docs/calc-recips.txt',
- optionflags=options))
+ suite.addTest(make_docfile_suite('../docs/calc-recips.txt'))
return suite
=== modified file 'Mailman/testing/test_cleanse.py'
--- a/Mailman/testing/test_cleanse.py 2007-06-19 22:42:27 +0000
+++ b/Mailman/testing/test_cleanse.py 2007-06-22 21:15:03 +0000
@@ -17,16 +17,11 @@
"""Doctest harness for the Cleanse handler."""
-import doctest
import unittest
-
-options = (doctest.ELLIPSIS
- | doctest.NORMALIZE_WHITESPACE
- | doctest.REPORT_NDIFF)
+from Mailman.testing.base import make_docfile_suite
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('../docs/cleanse.txt',
- optionflags=options))
+ suite.addTest(make_docfile_suite('../docs/cleanse.txt'))
return suite
=== modified file 'Mailman/testing/test_cook_headers.py'
--- a/Mailman/testing/test_cook_headers.py 2007-06-21 14:23:40 +0000
+++ b/Mailman/testing/test_cook_headers.py 2007-06-22 21:15:03 +0000
@@ -18,12 +18,9 @@
"""Doctest harness for the CookHeaders handler."""
import os
-import doctest
import unittest
-options = (doctest.ELLIPSIS
- | doctest.NORMALIZE_WHITESPACE
- | doctest.REPORT_NDIFF)
+from Mailman.testing.base import make_docfile_suite
def test_suite():
@@ -31,5 +28,5 @@
for filename in ('ack-headers', 'cook-headers', 'subject-munging',
'reply-to'):
path = os.path.join('..', 'docs', filename + '.txt')
- suite.addTest(doctest.DocFileSuite(path, optionflags=options))
+ suite.addTest(make_docfile_suite(path))
return suite
=== modified file 'Mailman/testing/test_decorate.py'
--- a/Mailman/testing/test_decorate.py 2007-05-30 16:54:17 +0000
+++ b/Mailman/testing/test_decorate.py 2007-06-22 21:15:03 +0000
@@ -17,16 +17,11 @@
"""Doctest harness for testing message decoration."""
-import doctest
import unittest
-
-options = (doctest.ELLIPSIS
- | doctest.NORMALIZE_WHITESPACE
- | doctest.REPORT_NDIFF)
+from Mailman.testing.base import make_docfile_suite
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('../docs/decorate.txt',
- optionflags=options))
+ suite.addTest(make_docfile_suite('../docs/decorate.txt'))
return suite
=== modified file 'Mailman/testing/test_listmanager.py'
--- a/Mailman/testing/test_listmanager.py 2007-06-02 02:06:53 +0000
+++ b/Mailman/testing/test_listmanager.py 2007-06-22 21:15:03 +0000
@@ -17,12 +17,11 @@
"""Doctest harness for testing mailing list creation and deletion."""
-import doctest
import unittest
+from Mailman.testing.base import make_docfile_suite
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('../docs/listmanager.txt',
- optionflags=doctest.ELLIPSIS))
+ suite.addTest(make_docfile_suite('../docs/listmanager.txt'))
return suite
=== modified file 'Mailman/testing/test_membership.py'
--- a/Mailman/testing/test_membership.py 2007-06-09 19:20:32 +0000
+++ b/Mailman/testing/test_membership.py 2007-06-22 21:15:03 +0000
@@ -19,7 +19,6 @@
import os
import time
-import doctest
import unittest
from Mailman import MailList
@@ -29,9 +28,7 @@
from Mailman.Errors import NotAMemberError
from Mailman.UserDesc import UserDesc
from Mailman.configuration import config
-from Mailman.testing.base import TestBase
-
-OPTIONFLAGS = doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE
+from Mailman.testing.base import TestBase, make_docfile_suite
@@ -390,6 +387,5 @@
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('../docs/membership.txt',
- optionflags=OPTIONFLAGS))
+ suite.addTest(make_docfile_suite('../docs/membership.txt'))
return suite
=== modified file 'Mailman/testing/test_mlist_addresses.py'
--- a/Mailman/testing/test_mlist_addresses.py 2007-05-28 20:21:41 +0000
+++ b/Mailman/testing/test_mlist_addresses.py 2007-06-22 21:15:03 +0000
@@ -17,12 +17,11 @@
"""Doctest harness for the IMailingListAddresses interface."""
-import doctest
import unittest
+from Mailman.testing.base import make_docfile_suite
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('../docs/mlist-addresses.txt',
- optionflags=doctest.ELLIPSIS))
+ suite.addTest(make_docfile_suite('../docs/mlist-addresses.txt'))
return suite
=== modified file 'Mailman/testing/test_replybot.py'
--- a/Mailman/testing/test_replybot.py 2007-05-31 05:01:00 +0000
+++ b/Mailman/testing/test_replybot.py 2007-06-22 21:15:03 +0000
@@ -17,16 +17,11 @@
"""Doctest harness for testing the replybot handler."""
-import doctest
import unittest
-
-options = (doctest.ELLIPSIS
- | doctest.NORMALIZE_WHITESPACE
- | doctest.REPORT_NDIFF)
+from Mailman.testing.base import make_docfile_suite
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('../docs/replybot.txt',
- optionflags=options))
+ suite.addTest(make_docfile_suite('../docs/replybot.txt'))
return suite
=== modified file 'Mailman/testing/test_user.py'
--- a/Mailman/testing/test_user.py 2007-06-15 04:50:40 +0000
+++ b/Mailman/testing/test_user.py 2007-06-22 21:15:03 +0000
@@ -17,16 +17,11 @@
"""Doctest harness for testing users."""
-import doctest
import unittest
-
-options = (doctest.ELLIPSIS
- | doctest.NORMALIZE_WHITESPACE
- | doctest.REPORT_NDIFF)
+from Mailman.testing.base import make_docfile_suite
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('../docs/users.txt',
- optionflags=options))
+ suite.addTest(make_docfile_suite('../docs/users.txt'))
return suite
=== modified file 'Mailman/testing/test_usermanager.py'
--- a/Mailman/testing/test_usermanager.py 2007-06-02 02:06:53 +0000
+++ b/Mailman/testing/test_usermanager.py 2007-06-22 21:15:03 +0000
@@ -17,12 +17,11 @@
"""Doctest harness for testing mailing list creation and deletion."""
-import doctest
import unittest
+from Mailman.testing.base import make_docfile_suite
def test_suite():
suite = unittest.TestSuite()
- suite.addTest(doctest.DocFileSuite('../docs/usermanager.txt',
- optionflags=doctest.ELLIPSIS))
+ suite.addTest(make_docfile_suite('../docs/usermanager.txt'))
return suite
--
(no title)
https://code.launchpad.net/~mailman-coders/mailman/3.0
You are receiving this branch notification because you are subscribed to it.
To unsubscribe from this branch go to
https://code.launchpad.net/~mailman-coders/mailman/3.0/+subscription/mailman-checkins.
_______________________________________________
Mailman-checkins mailing list
[email protected]
Unsubscribe:
http://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org