def test_exceptions(): app = App() stderr = StringIO() debugger = Debugger(file=stderr) debugger.register(app) while app: app.flush() stderr.seek(0) stderr.truncate() assert debugger._events assert debugger._errors e = test(raiseException=True) app.fire(e) app.flush() stderr.seek(0) s = stderr.read().strip() assert s == str(e) stderr.seek(0) stderr.truncate() app.flush() stderr.seek(0) s = stderr.read().strip() assert s.startswith("<exception[*]") stderr.seek(0) stderr.truncate() debugger._events = False debugger._errors = False assert not debugger._events assert not debugger._errors e = test(raiseException=True) app.fire(e) app.flush() stderr.seek(0) s = stderr.read().strip() assert s == "" stderr.seek(0) stderr.truncate() app.flush() stderr.seek(0) s = stderr.read().strip() assert s == ""