diff options
author | Thomas Wouters <thomas@python.org> | 2007-02-05 01:24:16 (GMT) |
---|---|---|
committer | Thomas Wouters <thomas@python.org> | 2007-02-05 01:24:16 (GMT) |
commit | 9fe394c1be9401c2b207b943f82e30af4ee32ab6 (patch) | |
tree | db22bd046c9371b262c76c4bf59fee588e1d7c71 /Lib/test/test_compiler.py | |
parent | 08f00467b977325c55c99b160a29fd854597ccfe (diff) | |
download | cpython-9fe394c1be9401c2b207b943f82e30af4ee32ab6.zip cpython-9fe394c1be9401c2b207b943f82e30af4ee32ab6.tar.gz cpython-9fe394c1be9401c2b207b943f82e30af4ee32ab6.tar.bz2 |
Merged revisions 53538-53622 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r53545 | andrew.kuchling | 2007-01-24 21:06:41 +0100 (Wed, 24 Jan 2007) | 1 line
Strengthen warning about using lock()
........
r53556 | thomas.heller | 2007-01-25 19:34:14 +0100 (Thu, 25 Jan 2007) | 3 lines
Fix for #1643874: When calling SysAllocString, create a PyCObject
which will eventually call SysFreeString to free the BSTR resource.
........
r53563 | andrew.kuchling | 2007-01-25 21:02:13 +0100 (Thu, 25 Jan 2007) | 1 line
Add item
........
r53564 | brett.cannon | 2007-01-25 21:22:02 +0100 (Thu, 25 Jan 2007) | 8 lines
Fix time.strptime's %U support. Basically rewrote the algorithm to be more
generic so that one only has to shift certain values based on whether the week
was specified to start on Monday or Sunday. Cut out a lot of edge case code
compared to the previous version. Also broke algorithm out into its own
function (that is private to the module).
Fixes bug #1643943 (thanks Biran Nahas for the report).
........
r53570 | brett.cannon | 2007-01-26 00:30:39 +0100 (Fri, 26 Jan 2007) | 4 lines
Remove specific mention of my name and email address from modules. Not really
needed and all bug reports should go to the bug tracker, not directly to me.
Plus I am not the only person to have edited these files at this point.
........
r53573 | fred.drake | 2007-01-26 17:28:44 +0100 (Fri, 26 Jan 2007) | 1 line
fix typo (extraneous ")")
........
r53575 | georg.brandl | 2007-01-27 18:43:02 +0100 (Sat, 27 Jan 2007) | 4 lines
Patch #1638243: the compiler package is now able to correctly compile
a with statement; previously, executing code containing a with statement
compiled by the compiler package crashed the interpreter.
........
r53578 | georg.brandl | 2007-01-27 18:59:42 +0100 (Sat, 27 Jan 2007) | 3 lines
Patch #1634778: add missing encoding aliases for iso8859_15 and
iso8859_16.
........
r53579 | georg.brandl | 2007-01-27 20:38:50 +0100 (Sat, 27 Jan 2007) | 2 lines
Bug #1645944: os.access now returns bool but docstring is not updated
........
r53590 | brett.cannon | 2007-01-28 21:58:00 +0100 (Sun, 28 Jan 2007) | 2 lines
Use the thread lock's context manager instead of a try/finally statement.
........
r53591 | brett.cannon | 2007-01-29 05:41:44 +0100 (Mon, 29 Jan 2007) | 2 lines
Add a test for slicing an exception.
........
r53594 | andrew.kuchling | 2007-01-29 21:21:43 +0100 (Mon, 29 Jan 2007) | 1 line
Minor edits to the curses HOWTO
........
r53596 | andrew.kuchling | 2007-01-29 21:55:40 +0100 (Mon, 29 Jan 2007) | 1 line
Various minor edits
........
r53597 | andrew.kuchling | 2007-01-29 22:28:48 +0100 (Mon, 29 Jan 2007) | 1 line
More edits
........
r53601 | tim.peters | 2007-01-30 04:03:46 +0100 (Tue, 30 Jan 2007) | 2 lines
Whitespace normalization.
........
r53603 | georg.brandl | 2007-01-30 21:21:30 +0100 (Tue, 30 Jan 2007) | 2 lines
Bug #1648191: typo in docs.
........
r53605 | brett.cannon | 2007-01-30 22:34:36 +0100 (Tue, 30 Jan 2007) | 8 lines
No more raising of string exceptions!
The next step of PEP 352 (for 2.6) causes raising a string exception to trigger
a TypeError. Trying to catch a string exception raises a DeprecationWarning.
References to string exceptions has been removed from the docs since they are
now just an error.
........
r53618 | raymond.hettinger | 2007-02-01 22:02:59 +0100 (Thu, 01 Feb 2007) | 1 line
Bug #1648179: set.update() not recognizing __iter__ overrides in dict subclasses.
........
Diffstat (limited to 'Lib/test/test_compiler.py')
-rw-r--r-- | Lib/test/test_compiler.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Lib/test/test_compiler.py b/Lib/test/test_compiler.py index ebccb36..7320368 100644 --- a/Lib/test/test_compiler.py +++ b/Lib/test/test_compiler.py @@ -7,6 +7,12 @@ from random import random # How much time in seconds can pass before we print a 'Still working' message. _PRINT_WORKING_MSG_INTERVAL = 5 * 60 +class TrivialContext(object): + def __enter__(self): + return self + def __exit__(self, *exc_info): + pass + class CompilerTest(unittest.TestCase): def testCompileLibrary(self): @@ -157,6 +163,31 @@ class CompilerTest(unittest.TestCase): exec(c, dct) self.assertEquals(dct['f'].func_annotations, expected) + def testWith(self): + # SF bug 1638243 + c = compiler.compile('from __future__ import with_statement\n' + 'def f():\n' + ' with TrivialContext():\n' + ' return 1\n' + 'result = f()', + '<string>', + 'exec' ) + dct = {'TrivialContext': TrivialContext} + exec(c, dct) + self.assertEquals(dct.get('result'), 1) + + def testWithAss(self): + c = compiler.compile('from __future__ import with_statement\n' + 'def f():\n' + ' with TrivialContext() as tc:\n' + ' return 1\n' + 'result = f()', + '<string>', + 'exec' ) + dct = {'TrivialContext': TrivialContext} + exec(c, dct) + self.assertEquals(dct.get('result'), 1) + NOLINENO = (compiler.ast.Module, compiler.ast.Stmt, compiler.ast.Discard) |