import os import sys import tempfile class Context: def __init__(self): self._vars = {} def get(self, key, default=None): return self._vars.get(key, default) def __getitem__(self, key): return self._vars[key] def __setitem__(self, key, value): self._vars[key] = value class Run: def __init__(self): self._name = None self._context = None self._srcdir = None self._tmpdir = None def get_context(self): return self._context def start(self, name): self._context = Context() self._name = name self._tmpdir = tempfile.mkdtemp() self._srcdir = os.getcwd() os.chdir(self._tmpdir) def end(self): sys.stdout.write('OK: {}\n'.format(self._name)) os.chdir(self._srcdir) def assertEqual(a, b): if a != b: raise Exception( 'expected {!r} == {!r}, but was disappointed'.format(a, b))