summaryrefslogtreecommitdiff
path: root/Mailman/testing/base.py
diff options
context:
space:
mode:
authorBarry Warsaw2007-06-22 17:15:03 -0400
committerBarry Warsaw2007-06-22 17:15:03 -0400
commitd629fe4305a062a62eb77d12d8847b7e405ff5e6 (patch)
treea7bdda181b945ba86afeb89a2439f1836453bdd1 /Mailman/testing/base.py
parentfba4983f88e0305a32e3135d129621890bf9adde (diff)
downloadmailman-d629fe4305a062a62eb77d12d8847b7e405ff5e6.tar.gz
mailman-d629fe4305a062a62eb77d12d8847b7e405ff5e6.tar.zst
mailman-d629fe4305a062a62eb77d12d8847b7e405ff5e6.zip
Diffstat (limited to 'Mailman/testing/base.py')
-rw-r--r--Mailman/testing/base.py34
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)