diff -r 000000000000 -r ae805ac0140d python-2.5.2/win32/Lib/test/test_global.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/python-2.5.2/win32/Lib/test/test_global.py Fri Apr 03 17:19:34 2009 +0100 @@ -0,0 +1,51 @@ +"""Verify that warnings are issued for global statements following use.""" + +from test.test_support import check_syntax + +import warnings + +warnings.filterwarnings("error", module="") + +def compile_and_check(text, should_fail=1): + try: + compile(text, "", "exec") + except SyntaxError, msg: + if should_fail: + print "got SyntaxError as expected" + else: + print "raised unexpected SyntaxError:", text + else: + if should_fail: + print "should have raised SyntaxError:", text + else: + print "as expected, no SyntaxError" + +prog_text_1 = """ +def wrong1(): + a = 1 + b = 2 + global a + global b +""" +compile_and_check(prog_text_1) + +prog_text_2 = """ +def wrong2(): + print x + global x +""" +compile_and_check(prog_text_2) + +prog_text_3 = """ +def wrong3(): + print x + x = 2 + global x +""" +compile_and_check(prog_text_3) + +prog_text_4 = """ +global x +x = 2 +""" +compile_and_check(prog_text_4, 0)