summaryrefslogtreecommitdiff
path: root/sys/lib/python/test/test_global.py
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
committercinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
commit458120dd40db6b4df55a4e96b650e16798ef06a0 (patch)
tree8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/lib/python/test/test_global.py
parent3a742c699f6806c1145aea5149bf15de15a0afd7 (diff)
add hg and python
Diffstat (limited to 'sys/lib/python/test/test_global.py')
-rw-r--r--sys/lib/python/test/test_global.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/sys/lib/python/test/test_global.py b/sys/lib/python/test/test_global.py
new file mode 100644
index 000000000..4cc953cd3
--- /dev/null
+++ b/sys/lib/python/test/test_global.py
@@ -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)