mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 02:15:10 +00:00 
			
		
		
		
	 41fe615539
			
		
	
	
		41fe615539
		
	
	
	
	
		
			
			Merged revisions 79534,79537,79539,79558,79606 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r79534 | florent.xicluna | 2010-03-31 23:21:54 +0200 (mer, 31 mar 2010) | 2 lines Fix test for xml.etree when using a non-ascii path. And use check_warnings instead of catch_warnings. ........ r79537 | florent.xicluna | 2010-03-31 23:40:32 +0200 (mer, 31 mar 2010) | 2 lines Fix typo ........ r79539 | florent.xicluna | 2010-04-01 00:01:03 +0200 (jeu, 01 avr 2010) | 2 lines Replace catch_warnings with check_warnings when it makes sense. Use assertRaises context manager to simplify some tests. ........ r79558 | florent.xicluna | 2010-04-01 20:17:09 +0200 (jeu, 01 avr 2010) | 2 lines #7092: Fix some -3 warnings, and fix Lib/platform.py when the path contains a double-quote. ........ r79606 | florent.xicluna | 2010-04-02 19:26:42 +0200 (ven, 02 avr 2010) | 2 lines Backport some robotparser test and skip the test if the external resource is not available. ........
		
			
				
	
	
		
			61 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Verify that warnings are issued for global statements following use."""
 | |
| 
 | |
| from test.support import run_unittest, check_syntax_error, check_warnings
 | |
| import unittest
 | |
| import warnings
 | |
| 
 | |
| 
 | |
| class GlobalTests(unittest.TestCase):
 | |
| 
 | |
|     def setUp(self):
 | |
|         self._warnings_manager = check_warnings()
 | |
|         self._warnings_manager.__enter__()
 | |
|         warnings.filterwarnings("error", module="<test string>")
 | |
| 
 | |
|     def tearDown(self):
 | |
|         self._warnings_manager.__exit__(None, None, None)
 | |
| 
 | |
| 
 | |
|     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()
 |