Exemplo n.º 1
0
def test_excepthook():
    ddtrace.install_excepthook()

    class Foobar(Exception):
        pass

    called = {}

    def original(tp, value, traceback):
        called['yes'] = True

    sys.excepthook = original
    ddtrace.install_excepthook()

    e = Foobar()

    tracer = ddtrace.Tracer()
    tracer._dogstatsd_client = mock.Mock()
    with override_global_tracer(tracer):
        sys.excepthook(e.__class__, e, None)

    tracer._dogstatsd_client.increment.assert_has_calls(
        (mock.call('datadog.tracer.uncaught_exceptions',
                   1,
                   tags=['class:Foobar']), ))
    assert called
Exemplo n.º 2
0
def test_installed_excepthook():
    ddtrace.install_excepthook()
    assert sys.excepthook is ddtrace._excepthook
    ddtrace.uninstall_excepthook()
    assert sys.excepthook is not ddtrace._excepthook
    ddtrace.install_excepthook()
    assert sys.excepthook is ddtrace._excepthook