Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c9ad32c

Browse files
committed
test_main(): Added this so the test can actually get run under the
regrtest framework. Keep the original standalone-unittest scaffolding (i.e. suite() and __main__).
1 parent 24fd025 commit c9ad32c

2 files changed

Lines changed: 20 additions & 21 deletions

File tree

Lib/test/test_email.py

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@
2929
from email import base64MIME
3030
from email import quopriMIME
3131

32+
import test_support
3233
from test_support import findfile, __file__ as test_support_file
3334

35+
3436
NL = '\n'
3537
EMPTYSTRING = ''
3638
SPACE = ' '
@@ -1573,30 +1575,23 @@ def test_multilingual(self):
15731575

15741576

15751577

1578+
def _testclasses():
1579+
mod = sys.modules[__name__]
1580+
return [getattr(mod, name) for name in dir(mod) if name.startswith('Test')]
1581+
1582+
15761583
def suite():
15771584
suite = unittest.TestSuite()
1578-
suite.addTest(unittest.makeSuite(TestMessageAPI))
1579-
suite.addTest(unittest.makeSuite(TestEncoders))
1580-
suite.addTest(unittest.makeSuite(TestLongHeaders))
1581-
suite.addTest(unittest.makeSuite(TestFromMangling))
1582-
suite.addTest(unittest.makeSuite(TestMIMEAudio))
1583-
suite.addTest(unittest.makeSuite(TestMIMEImage))
1584-
suite.addTest(unittest.makeSuite(TestMIMEText))
1585-
suite.addTest(unittest.makeSuite(TestMultipartMixed))
1586-
suite.addTest(unittest.makeSuite(TestNonConformant))
1587-
suite.addTest(unittest.makeSuite(TestRFC2047))
1588-
suite.addTest(unittest.makeSuite(TestMIMEMessage))
1589-
suite.addTest(unittest.makeSuite(TestIdempotent))
1590-
suite.addTest(unittest.makeSuite(TestMiscellaneous))
1591-
suite.addTest(unittest.makeSuite(TestIterators))
1592-
suite.addTest(unittest.makeSuite(TestParsers))
1593-
suite.addTest(unittest.makeSuite(TestBase64))
1594-
suite.addTest(unittest.makeSuite(TestQuopri))
1595-
suite.addTest(unittest.makeSuite(TestHeader))
1596-
suite.addTest(unittest.makeSuite(TestCharset))
1585+
for testclass in _testclasses():
1586+
suite.addTest(unittest.makeSuite(testclass))
15971587
return suite
15981588

15991589

1590+
def test_main():
1591+
for testclass in _testclasses():
1592+
test_support.run_unittest(testclass)
1593+
1594+
16001595

16011596
if __name__ == '__main__':
16021597
unittest.main(defaultTest='suite')

Lib/test/test_email_codecs.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# email package unit tests for (optional) Asian codecs
33

44
import unittest
5-
from test_support import TestSkipped
5+
import test_support
66

77
from email.Charset import Charset
88
from email.Header import Header, decode_header
@@ -12,7 +12,7 @@
1212
try:
1313
unicode('foo', 'japanese.iso-2022-jp')
1414
except LookupError:
15-
raise TestSkipped, 'Optional Japanese codecs not installed'
15+
raise test_support.TestSkipped, 'Optional Japanese codecs not installed'
1616

1717

1818

@@ -46,6 +46,10 @@ def suite():
4646
return suite
4747

4848

49+
def test_main():
50+
test_support.run_unittest(TestEmailAsianCodecs)
51+
52+
4953

5054
if __name__ == '__main__':
5155
unittest.main(defaultTest='suite')

0 commit comments

Comments
 (0)