diff options
author | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-02-28 01:51:01 (GMT) |
---|---|---|
committer | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-02-28 01:51:01 (GMT) |
commit | 8e43cd79293d70ddb6728ef90335e442d96ce038 (patch) | |
tree | 6cacd9efabf15eddaccbdbdfd86214efe7da38d4 /Lib/test/test_global.py | |
parent | ff443a51ebdb290fb329213e887eda54a2eaad62 (diff) | |
download | cpython-8e43cd79293d70ddb6728ef90335e442d96ce038.zip cpython-8e43cd79293d70ddb6728ef90335e442d96ce038.tar.gz cpython-8e43cd79293d70ddb6728ef90335e442d96ce038.tar.bz2 |
verify that warnings are issued for bogus uses of global
Diffstat (limited to 'Lib/test/test_global.py')
-rw-r--r-- | Lib/test/test_global.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Lib/test/test_global.py b/Lib/test/test_global.py new file mode 100644 index 0000000..7670ad1 --- /dev/null +++ b/Lib/test/test_global.py @@ -0,0 +1,40 @@ +"""Verify that warnings are issued for global statements following use""" + +from test_support import check_syntax + +import warnings + +warnings.filterwarnings("error", category=SyntaxWarning, module=__name__) + +def compile_and_catch_warning(text): + try: + compile(text, "<test code>", "exec") + except SyntaxWarning, msg: + print "got SyntaxWarning as expected" + else: + print "expected SyntaxWarning" + +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) + |