Move infrastructure into __init__ to lay groundwork for splitting test_email.

The split probably won't happen for a while, but I might as well lay the
groundwork now since I'll be adding new test modules before too long.
This commit is contained in:
R David Murray 2011-03-31 12:20:23 -04:00
parent 1940233102
commit a256bacf91
2 changed files with 28 additions and 27 deletions

View File

@ -2,6 +2,8 @@ import os
import sys
import unittest
import test.support
import email
from test.test_email import __file__ as landmark
# used by regrtest and __main__.
def test_main():
@ -11,3 +13,28 @@ def test_main():
savepath = sys.path[:]
test.support._run_suite(unittest.defaultTestLoader.discover(here))
sys.path[:] = savepath
# helper code used by a number of test modules.
def openfile(filename, *args, **kws):
path = os.path.join(os.path.dirname(landmark), 'data', filename)
return open(path, *args, **kws)
# Base test class
class TestEmailBase(unittest.TestCase):
def ndiffAssertEqual(self, first, second):
"""Like assertEqual except use ndiff for readable output."""
if first != second:
sfirst = str(first)
ssecond = str(second)
rfirst = [repr(line) for line in sfirst.splitlines()]
rsecond = [repr(line) for line in ssecond.splitlines()]
diff = difflib.ndiff(rfirst, rsecond)
raise self.failureException(NL + NL.join(diff))
def _msgobj(self, filename):
with openfile(filename) as fp:
return email.message_from_file(fp)

View File

@ -37,39 +37,13 @@ from email import base64mime
from email import quoprimime
from test.support import run_unittest, unlink
from test.test_email import __file__ as landmark
from test.test_email import openfile, TestEmailBase
NL = '\n'
EMPTYSTRING = ''
SPACE = ' '
def openfile(filename, *args, **kws):
path = os.path.join(os.path.dirname(landmark), 'data', filename)
return open(path, *args, **kws)
# Base test class
class TestEmailBase(unittest.TestCase):
def ndiffAssertEqual(self, first, second):
"""Like assertEqual except use ndiff for readable output."""
if first != second:
sfirst = str(first)
ssecond = str(second)
rfirst = [repr(line) for line in sfirst.splitlines()]
rsecond = [repr(line) for line in ssecond.splitlines()]
diff = difflib.ndiff(rfirst, rsecond)
raise self.failureException(NL + NL.join(diff))
def _msgobj(self, filename):
with openfile(filename) as fp:
return email.message_from_file(fp)
# Test various aspects of the Message class's API
class TestMessageAPI(TestEmailBase):
def test_get_all(self):