------------------------------------------------------------ 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 Mailman-checkins@python.org Unsubscribe: http://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org