12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- """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()
|