Mercurial > hg
view tests/heredoctest.py @ 22051:e894de232f35
push: wrap local phase movement in a transaction
Phases are not yet inside the transaction, but we need to prepare for it. So we
wrap the phase movement inside a transaction.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Wed, 06 Aug 2014 00:54:15 -0700 |
parents | 5635a4017061 |
children | 9599e86159ac |
line wrap: on
line source
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)