"""Verify that warnings are issued for global statements following use""" from test_support import check_syntax import warnings warnings.filterwarnings("error", module="") def compile_and_catch_warning(text): try: compile(text, "", "exec") except SyntaxError, msg: print "got SyntaxError as expected" else: print "expected SyntaxError" prog_text_1 = """ def wrong1(): a = 1 b = 2 global a global b """ compile_and_catch_warning(prog_text_1) prog_text_2 = """ def wrong2(): print x global x """ compile_and_catch_warning(prog_text_2) prog_text_3 = """ def wrong3(): print x x = 2 global x """ compile_and_catch_warning(prog_text_3) prog_text_4 = """ global x x = 2 """ compile_and_catch_warning(prog_text_4)