diff options
| author | Barry Warsaw | 2007-06-22 17:15:03 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2007-06-22 17:15:03 -0400 |
| commit | d629fe4305a062a62eb77d12d8847b7e405ff5e6 (patch) | |
| tree | a7bdda181b945ba86afeb89a2439f1836453bdd1 /Mailman/testing/base.py | |
| parent | fba4983f88e0305a32e3135d129621890bf9adde (diff) | |
| download | mailman-d629fe4305a062a62eb77d12d8847b7e405ff5e6.tar.gz mailman-d629fe4305a062a62eb77d12d8847b7e405ff5e6.tar.zst mailman-d629fe4305a062a62eb77d12d8847b7e405ff5e6.zip | |
Diffstat (limited to 'Mailman/testing/base.py')
| -rw-r--r-- | Mailman/testing/base.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Mailman/testing/base.py b/Mailman/testing/base.py index 562443b1e..c3f64554a 100644 --- a/Mailman/testing/base.py +++ b/Mailman/testing/base.py @@ -24,6 +24,7 @@ import pwd import sys import stat import shutil +import doctest import difflib import tempfile import unittest @@ -35,9 +36,11 @@ from Mailman import MailList 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 @@ class TestBase(unittest.TestCase): 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) |
