tests/heredoctest.py
author Sean Farley <sean.michael.farley@gmail.com>
Wed, 16 Jul 2014 13:07:39 -0500
branchstable
changeset 21938 c8411fb5dfef
parent 15434 5635a4017061
child 22564 9599e86159ac
permissions -rw-r--r--
memctx: substate needs to be {} instead of None Setting substate to None was an oversight in 7cfd94ec5d30 and this patch corrects it by setting substate to an empty dictionary which matches what subrepo code expects.

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)