def test_file(tmpdir): logfile = str(tmpdir.ensure("debug.log")) stderr = open(logfile, "w+") app = App() debugger = Debugger(file=stderr) debugger.register(app) while app: app.flush() stderr.seek(0) stderr.truncate() assert debugger._events e = Event() app.fire(e) app.flush() stderr.seek(0) s = stderr.read().strip() assert s == str(e) stderr.seek(0) stderr.truncate() debugger._events = False assert not debugger._events e = Event() app.fire(e) stderr.seek(0) s = stderr.read().strip() assert s == "" stderr.seek(0) stderr.truncate()
def test_main(): app = App() stderr = StringIO() debugger = Debugger(file=stderr) debugger.register(app) while app: app.flush() stderr.seek(0) stderr.truncate() assert debugger._events e = Event() app.fire(e) app.flush() stderr.seek(0) s = stderr.read().strip() assert s == str(e) stderr.seek(0) stderr.truncate() debugger._events = False assert not debugger._events e = Event() app.fire(e) stderr.seek(0) s = stderr.read().strip() assert s == "" stderr.seek(0) stderr.truncate()
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 == ""
def test_filename(tmpdir): if "__pypy__" in sys.modules: pytest.skip("Broken on pypy") logfile = str(tmpdir.ensure("debug.log")) stderr = open(logfile, "r+") app = App() debugger = Debugger(file=logfile) debugger.register(app) while app: app.flush() stderr.seek(0) stderr.truncate() assert debugger._events e = Event() app.fire(e) app.flush() stderr.seek(0) s = stderr.read().strip() assert s == str(e) stderr.seek(0) stderr.truncate() debugger._events = False assert not debugger._events e = Event() app.fire(e) stderr.seek(0) s = stderr.read().strip() assert s == "" stderr.seek(0) stderr.truncate()