view tests/heredoctest.py @ 27013:e97132eb841c

rebase: remove an unused todo Since we handled skipping obsolete revs when it is relevant, this todo is no longer useful. We replace the comment with two useful comments.
author Laurent Charignon <lcharignon@fb.com>
date Wed, 18 Nov 2015 16:06:00 -0800
parents 1db2127d2373
children 4179d054b3e9
line wrap: on
line source

import sys

globalvars = {}
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 += l[4:]
        c = compile(snippet, '<heredoc>', 'single')
        try:
            exec(c, globalvars)
        except Exception as inst:
            print(repr(inst))