def test_tracer_calltree_output(): """ Tracer's write_data method writes out calltree-formatted information. """ clock = task.Clock() t = Tracer(reactor=clock) _trace_deferred_firing_after(clock, t, _frame_spam, 0.5) _trace_deferred_firing_after(clock, t, _frame_spam, 0.25) _trace_deferred_firing_after(clock, t, _frame_eggs, 0.125) sio = StringIO() t.write_data(sio) assert sio.getvalue() == textwrap.dedent("""\ events: Nanoseconds fn=eggs eggs.py 0 125000 fn=spam spam.py 0 750000 cfn=eggs eggs.py calls=1 0 0 125000 """)