From 3c0d013db40bd704908d7067228d35ed3f6b46c5 Mon Sep 17 00:00:00 2001 From: Jeremy Hylton Date: Tue, 20 Jun 2000 19:13:27 +0000 Subject: verify that Python raises SyntaxError for long and deeply-nested expressions --- Lib/test/output/test_longexp | 2 ++ Lib/test/test_longexp.py | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 Lib/test/output/test_longexp create mode 100644 Lib/test/test_longexp.py diff --git a/Lib/test/output/test_longexp b/Lib/test/output/test_longexp new file mode 100644 index 0000000..73a101d --- /dev/null +++ b/Lib/test/output/test_longexp @@ -0,0 +1,2 @@ +test_longexp +Caught SyntaxError for long expression: expression too long diff --git a/Lib/test/test_longexp.py b/Lib/test/test_longexp.py new file mode 100644 index 0000000..38eb79b --- /dev/null +++ b/Lib/test/test_longexp.py @@ -0,0 +1,18 @@ +REPS = 8192 + +try: + eval("2+2+" * REPS + "+3.14159265") +except SyntaxError, msg: + print "Caught SyntaxError for long expression:", msg +else: + print "Long expression did not raise SyntaxError" + +## This test prints "s_push: parser stack overflow" on stderr, + ## which seems to confuse the test harness +##try: +## eval("(2+" * REPS + "0" + ")" * REPS) +##except SyntaxError: +## pass +##else: +## print "Deeply nested expression did not raised SyntaxError" + -- cgit v0.12