diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-03-30 15:04:16 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-03-30 15:04:16 (GMT) |
commit | ded31c47af85e51ff17a0f8539a0507d791a4c71 (patch) | |
tree | d977e1d4cb12b38e12c8c0604ba25b67bb46af42 | |
parent | 5879d4122afcbc6e3225edb3d09e79116fdaab7a (diff) | |
download | cpython-ded31c47af85e51ff17a0f8539a0507d791a4c71.zip cpython-ded31c47af85e51ff17a0f8539a0507d791a4c71.tar.gz cpython-ded31c47af85e51ff17a0f8539a0507d791a4c71.tar.bz2 |
Merged revisions 70656,70668-70669,70671,70701,70703,70706 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r70656 | georg.brandl | 2009-03-28 14:33:33 -0500 (Sat, 28 Mar 2009) | 2 lines
Add a script to fixup rst files if the pre-commit hook rejects them.
........
r70668 | benjamin.peterson | 2009-03-28 22:16:57 -0500 (Sat, 28 Mar 2009) | 1 line
a more realistic example
........
r70669 | benjamin.peterson | 2009-03-28 22:31:40 -0500 (Sat, 28 Mar 2009) | 1 line
stop the versionchanged directive from hiding the docs
........
r70671 | benjamin.peterson | 2009-03-28 22:39:58 -0500 (Sat, 28 Mar 2009) | 1 line
fix consistency
........
r70701 | benjamin.peterson | 2009-03-29 17:27:26 -0500 (Sun, 29 Mar 2009) | 1 line
add missing import
........
r70703 | benjamin.peterson | 2009-03-29 21:14:21 -0500 (Sun, 29 Mar 2009) | 1 line
fix import
........
r70706 | benjamin.peterson | 2009-03-30 09:42:23 -0500 (Mon, 30 Mar 2009) | 1 line
add missing import
........
-rw-r--r-- | Doc/library/unittest.rst | 28 | ||||
-rw-r--r-- | Lib/email/test/test_email_codecs_renamed.py | 4 | ||||
-rw-r--r-- | Lib/test/test_fork1.py | 1 | ||||
-rwxr-xr-x | Tools/scripts/reindent-rst.py | 29 |
4 files changed, 54 insertions, 8 deletions
diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst index 3a1e63a..c9dc6b6 100644 --- a/Doc/library/unittest.rst +++ b/Doc/library/unittest.rst @@ -446,12 +446,26 @@ Basic skipping looks like this: :: def test_nothing(self): self.fail("shouldn't happen") + @unittest.skipIf(mylib.__version__ < (1, 3), "not supported in this library version") + def test_format(self): + # Tests that work for only a certain version of the library. + pass + + @unittest.skipUnless(sys.platform.startswith("win"), "requires Windows") + def test_windows_support(self): + # windows specific testing code + pass + This is the output of running the example above in verbose mode: :: + test_format (__main__.MyTestCase) ... skipped 'not supported in this library version' test_nothing (__main__.MyTestCase) ... skipped 'demonstrating skipping' + test_windows_support (__main__.MyTestCase) ... skipped 'requires Windows' ---------------------------------------------------------------------- - Ran 1 test in 0.072s + Ran 3 tests in 0.005s + + OK (skipped=3) Classes can be skipped just like methods: :: @@ -657,13 +671,15 @@ Test cases To catch any of a group of exceptions, a tuple containing the exception classes may be passed as *exception*. - .. versionchanged:: 3.1 + If *callable* is omitted or None, returns a context manager so that the + code under test can be written inline rather than as a function:: - If *callable* is omitted or None, returns a context manager so that the - code under test can be written inline rather than as a function:: + with self.failUnlessRaises(some_error_class): + do_something() + + .. versionchanged:: 3.1 + Added the ability to use :meth:`assertRaises` as a context manager. - with self.failUnlessRaises(some_error_class): - do_something() .. method:: failIf(expr[, msg]) assertFalse(expr[, msg]) diff --git a/Lib/email/test/test_email_codecs_renamed.py b/Lib/email/test/test_email_codecs_renamed.py index 7122212..acc19c3 100644 --- a/Lib/email/test/test_email_codecs_renamed.py +++ b/Lib/email/test/test_email_codecs_renamed.py @@ -3,7 +3,7 @@ # email package unit tests for (optional) Asian codecs import unittest -from test.support import TestSkipped, run_unittest +from test.support import run_unittest from email.test.test_email import TestEmailBase from email.charset import Charset @@ -15,7 +15,7 @@ from email.message import Message try: str('foo', 'euc-jp') except LookupError: - raise TestSkipped + raise unittest.SkipTest diff --git a/Lib/test/test_fork1.py b/Lib/test/test_fork1.py index 057c589..c9f18d9 100644 --- a/Lib/test/test_fork1.py +++ b/Lib/test/test_fork1.py @@ -3,6 +3,7 @@ import os import time +import unittest from test.fork_wait import ForkWait from test.support import run_unittest, reap_children diff --git a/Tools/scripts/reindent-rst.py b/Tools/scripts/reindent-rst.py new file mode 100755 index 0000000..bf431d9 --- /dev/null +++ b/Tools/scripts/reindent-rst.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python + +# Make a reST file compliant to our pre-commit hook. +# Currently just remove trailing whitespace. + +from __future__ import with_statement +import sys, re, shutil + +ws_re = re.compile(r'\s+(\r?\n)$') + +def main(argv=sys.argv): + rv = 0 + for filename in argv[1:]: + try: + with open(filename, 'rb') as f: + lines = f.readlines() + new_lines = [ws_re.sub(r'\1', line) for line in lines] + if new_lines != lines: + print 'Fixing %s...' % filename + shutil.copyfile(filename, filename + '.bak') + with open(filename, 'wb') as f: + f.writelines(new_lines) + except Exception, err: + print 'Cannot fix %s: %s' % (filename, err) + rv = 1 + return rv + +if __name__ == '__main__': + sys.exit(main()) |