From a256bacf918d0c242ad29ce6d3f9b4a507b47609 Mon Sep 17 00:00:00 2001 From: R David Murray Date: Thu, 31 Mar 2011 12:20:23 -0400 Subject: [PATCH] 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. --- Lib/test/test_email/__init__.py | 27 +++++++++++++++++++++++++++ Lib/test/test_email/test_email.py | 28 +--------------------------- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/Lib/test/test_email/__init__.py b/Lib/test/test_email/__init__.py index 5aae093b406..2ef21bae5a6 100644 --- a/Lib/test/test_email/__init__.py +++ b/Lib/test/test_email/__init__.py @@ -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) diff --git a/Lib/test/test_email/test_email.py b/Lib/test/test_email/test_email.py index 27356664ce5..2519cc0800e 100644 --- a/Lib/test/test_email/test_email.py +++ b/Lib/test/test_email/test_email.py @@ -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):