diff options
author | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-10-10 01:45:02 (GMT) |
---|---|---|
committer | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-10-10 01:45:02 (GMT) |
commit | 7d3dff2b390272dec07ca687f53ad34bd00df39b (patch) | |
tree | c2c75646464187ee7c8200e94400871a7642907d | |
parent | e67dab3d3f9ffafb5668aab509abbd6c84f5ff35 (diff) | |
download | cpython-7d3dff2b390272dec07ca687f53ad34bd00df39b.zip cpython-7d3dff2b390272dec07ca687f53ad34bd00df39b.tar.gz cpython-7d3dff2b390272dec07ca687f53ad34bd00df39b.tar.bz2 |
SF patch [ #468662 ] Allow jython to complete test_grammar
The behavior of co_varnames in the presence of nested argument tuples
is not consistent across Python and Jython. Test each platform
separately.
-rw-r--r-- | Lib/test/test_grammar.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/Lib/test/test_grammar.py b/Lib/test/test_grammar.py index 7ce8a79..da3dad5 100644 --- a/Lib/test/test_grammar.py +++ b/Lib/test/test_grammar.py @@ -2,6 +2,7 @@ # This just tests whether the parser accepts them all. from test_support import * +import sys print '1. Parser' @@ -149,16 +150,25 @@ def f4(two, (compound, (argument, list))): pass def f5((compound, first), two): pass verify(f2.func_code.co_varnames == ('one_argument',)) verify(f3.func_code.co_varnames == ('two', 'arguments')) -verify(f4.func_code.co_varnames == ('two', '.2', 'compound', 'argument', - 'list')) -verify(f5.func_code.co_varnames == ('.0', 'two', 'compound', 'first')) +if sys.platform.startswith('java'): + verify(f4.func_code.co_varnames == + ('two', '(compound, (argument, list))',)) + verify(f5.func_code.co_varnames == + ('(compound, first)', 'two', 'compound', 'first')) +else: + verify(f4.func_code.co_varnames == ('two', '.2', 'compound', + 'argument', 'list')) + verify(f5.func_code.co_varnames == ('.0', 'two', 'compound', 'first')) def a1(one_arg,): pass def a2(two, args,): pass def v0(*rest): pass def v1(a, *rest): pass def v2(a, b, *rest): pass def v3(a, (b, c), *rest): return a, b, c, rest -verify(v3.func_code.co_varnames == ('a', '.2', 'rest', 'b', 'c')) +if sys.platform.startswith('java'): + verify(v3.func_code.co_varnames == ('a', '(b, c)', 'rest', 'b', 'c')) +else: + verify(v3.func_code.co_varnames == ('a', '.2', 'rest', 'b', 'c')) verify(v3(1, (2, 3), 4) == (1, 2, 3, (4,))) def d01(a=1): pass d01() |