Mercurial > public > mercurial-scm > hg
view tests/heredoctest.py @ 22565:8d45a42b0c0f
heredoctest: do not append extra newline character to continuation line
Trailing newline characters are kept in lines.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 28 Sep 2014 15:13:35 +0900 |
parents | 9599e86159ac |
children | 1db2127d2373 |
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 in globalvars except Exception, inst: print repr(inst)