view tests/heredoctest.py @ 33303:8b571495d811

sparse: move config file writing into core The code was refactored during the move to be more procedural instead of using string formatting. This has the benefit of not writing empty sections, which changed tests.
author Gregory Szorc <gregory.szorc@gmail.com>
date Thu, 06 Jul 2017 12:24:55 -0700
parents 6a98f9408a50
children 55fd0fefbec4
line wrap: on
line source

from __future__ import absolute_import, print_function

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