from test_support import verbose, TestFailed

if verbose:
    print 'Running test on duplicate arguments'

try:
    exec('def f(a, a): pass')
    raise TestFailed, "duplicate arguments"
except SyntaxError:
    pass

try:
    exec('def f(a = 0, a = 1): pass')
    raise TestFailed, "duplicate keyword arguments"
except SyntaxError:
    pass

from test_support import verbose, TestFailed

if verbose:
    print 'Running tests on argument handling'

try:
    exec('def f(a, a): pass')
    raise TestFailed, "duplicate arguments"
except SyntaxError:
    pass

try:
    exec('def f(a = 0, a = 1): pass')
    raise TestFailed, "duplicate keyword arguments"
except SyntaxError:
    pass

try:
    exec('def f(a): global a; a = 1')
    raise TestFailed, "variable is global and local"
except SyntaxError:
    pass

add test for SyntaxError on def f(a): global a