tests/heredoctest.py
changeset 1111 df702ad9b314
parent 1110 d5b3404b82ce
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/heredoctest.py	Thu Jun 21 14:04:15 2012 +0100
@@ -0,0 +1,19 @@
+import sys
+
+globalvars = {}
+localvars = {}
+lines = sys.stdin.readlines()
+while lines:
+    l = lines.pop(0)
+    if l.startswith('SALT'):
+        print l[:-1]
+    elif l.startswith('>>> '):
+        snippet = l[4:]
+        while lines and lines[0].startswith('... '):
+            l = lines.pop(0)
+            snippet += "\n" + l[4:]
+        c = compile(snippet, '<heredoc>', 'single')
+        try:
+            exec c in globalvars, localvars
+        except Exception, inst:
+            print repr(inst)