diff options
Diffstat (limited to 'lib/python2.7/test/test_global.py')
-rw-r--r-- | lib/python2.7/test/test_global.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/python2.7/test/test_global.py b/lib/python2.7/test/test_global.py new file mode 100644 index 0000000..abcb193 --- /dev/null +++ b/lib/python2.7/test/test_global.py @@ -0,0 +1,52 @@ +"""Verify that warnings are issued for global statements following use.""" + +from test.test_support import run_unittest, check_syntax_error +import unittest +import warnings + + +class GlobalTests(unittest.TestCase): + + def test1(self): + prog_text_1 = """\ +def wrong1(): + a = 1 + b = 2 + global a + global b +""" + check_syntax_error(self, prog_text_1) + + def test2(self): + prog_text_2 = """\ +def wrong2(): + print x + global x +""" + check_syntax_error(self, prog_text_2) + + def test3(self): + prog_text_3 = """\ +def wrong3(): + print x + x = 2 + global x +""" + check_syntax_error(self, prog_text_3) + + def test4(self): + prog_text_4 = """\ +global x +x = 2 +""" + # this should work + compile(prog_text_4, "<test string>", "exec") + + +def test_main(): + with warnings.catch_warnings(): + warnings.filterwarnings("error", module="<test string>") + run_unittest(GlobalTests) + +if __name__ == "__main__": + test_main() |