tests/heredoctest.py
author Pierre-Yves David <pierre-yves.david@fb.com>
Mon, 02 Nov 2015 17:33:18 +0000
changeset 27093 41d3e307a7c1
parent 25032 1db2127d2373
child 27297 4179d054b3e9
permissions -rw-r--r--
format: create new repository as 'generaldelta' by default Since we have pushed back the performance issue related to general delta behind another configuration (Still off by default), we can safely create new repository with general delta support. As client are compatible with it since Mercurial 1.9 (4.5 years ago) I do no expect any significant compatibility issues.

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))