--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/python-2.5.2/win32/Lib/test/test_global.py Fri Apr 03 17:19:34 2009 +0100
@@ -0,0 +1,51 @@
+"""Verify that warnings are issued for global statements following use."""
+
+from test.test_support import check_syntax
+
+import warnings
+
+warnings.filterwarnings("error", module="<test code>")
+
+def compile_and_check(text, should_fail=1):
+ try:
+ compile(text, "<test code>", "exec")
+ except SyntaxError, msg:
+ if should_fail:
+ print "got SyntaxError as expected"
+ else:
+ print "raised unexpected SyntaxError:", text
+ else:
+ if should_fail:
+ print "should have raised SyntaxError:", text
+ else:
+ print "as expected, no SyntaxError"
+
+prog_text_1 = """
+def wrong1():
+ a = 1
+ b = 2
+ global a
+ global b
+"""
+compile_and_check(prog_text_1)
+
+prog_text_2 = """
+def wrong2():
+ print x
+ global x
+"""
+compile_and_check(prog_text_2)
+
+prog_text_3 = """
+def wrong3():
+ print x
+ x = 2
+ global x
+"""
+compile_and_check(prog_text_3)
+
+prog_text_4 = """
+global x
+x = 2
+"""
+compile_and_check(prog_text_4, 0)