+
    üÐjÂ  ã                   ót   € R t ^ RIHt ^ RIHt ^RIHtHt ^RIH	t	 ^RI
Ht  ! R R]P                  4      tR# )	z)
Test cases for L{twisted.logger._util}.
)Úimplementer)Úunittest)ÚILogObserverÚLogEvent)ÚLogPublisher)ÚformatTracec                   óH   a € ] tR t^t o RtV 3R lR ltV 3R lR ltRtV tR# )Ú	UtilTestsz
Utility tests.
c                ó   <€ V ^8„  d   QhRR/# ©é   ÚreturnN© )ÚformatÚ__classdict__s   "€Ú?/usr/lib/python3/dist-packages/twisted/logger/test/test_util.pyÚ__annotate__ÚUtilTests.__annotate__   s   ø€ ÷ 'ñ '˜Dñ 'ó    c                ób  a aaaaa€ \        4       o\        . R7      o\        \        4      R R l4       o\        \        4      R VVVVV 3R ll4       o\        \        4      R VVVVVV 3R ll4       oSP	                  S4       SP	                  S4       SP	                  S4       S! S4       R# )	z:
Tracing keeps track of forwarding done by the publisher.
©Ú	log_tracec                ó(   € V ^8„  d   QhR\         RR/# ©r   Úer   N©r   )r   s   "r   r   Ú*UtilTests.test_trace.<locals>.__annotate__   ó   € ÷ 	ñ 	”(ð 	˜tñ 	r   c                 ó   € R # ©Nr   ©r   s   &r   Úo1Ú UtilTests.test_trace.<locals>.o1   ó   € ár   c                ó(   € V ^8„  d   QhR\         RR/# r   r   )r   s   "r   r   r   "   ó   € ÷ 		ñ 		”(ð 		˜tñ 		r   c                 ój   <€ SP                  V S4       SP                  V R ,          SS3SS3.4       R# ©r   N©ÚassertIsÚassertEqual)r   Úeventr!   Úo2Ú	publisherÚselfs   &€€€€€r   r,   Ú UtilTests.test_trace.<locals>.o2!   s9   ø€ à�M‰M˜!˜UÔ#Ø×ÑØ�+•à �OØ �Oðör   c                ó(   € V ^8„  d   QhR\         RR/# r   r   )r   s   "r   r   r   .   r%   r   c                 óp   <€ SP                  V S4       SP                  V R ,          SS3SS3SS3.4       R# r'   r(   )r   r+   r!   r,   Úo3r-   r.   s   &€€€€€€r   r2   Ú UtilTests.test_trace.<locals>.o3-   s@   ø€ à�M‰M˜!˜UÔ#Ø×ÑØ�+•à �OØ �OØ �Oðör   N)r   Údictr   r   ÚaddObserver)r.   r+   r!   r,   r2   r-   s   f@@@@@r   Ú
test_traceÚUtilTests.test_trace   s�   ý€ ô !“Nˆ	ä¨Ô,ˆä	”\Ó	"ô	ó 
#ð	ô 
”\Ó	"÷		ó 		ó 
#ð		ô 
”\Ó	"÷		ô 		ó 
#ð		ð 	×Ñ˜bÔ!Ø×Ñ˜bÔ!Ø×Ñ˜bÔ!Ù�%Ör   c                ó   <€ V ^8„  d   QhRR/# r   r   )r   r   s   "€r   r   r   >   s   ø€ ÷ Mñ M $ñ Mr   c                óP  a aa€ \        . R7      o\        \        4      R R l4       p\        \        4      R R l4       p\        \        4      R R l4       p\        \        4      R R	 l4       p\        \        4      R
 R l4       pRVn        RVn        RVn        RVn        RVn        \        \        4      R VVV 3R ll4       pTp\	        V4      p\	        W#V4      p	RVn        RV	n        \	        WWW4      p
RV
n        RpVP                  V
VVVVVV	VVR7	      oV
! S4       R# )z
Format trace as string.
r   c                ó(   € V ^8„  d   QhR\         RR/# r   r   )r   s   "r   r   Ú0UtilTests.test_formatTrace.<locals>.__annotate__E   r   r   c                 ó   € R # r   r   r    s   &r   r!   Ú&UtilTests.test_formatTrace.<locals>.o1D   r#   r   c                ó(   € V ^8„  d   QhR\         RR/# r   r   )r   s   "r   r   r;   I   r   r   c                 ó   € R # r   r   r    s   &r   r,   Ú&UtilTests.test_formatTrace.<locals>.o2H   r#   r   c                ó(   € V ^8„  d   QhR\         RR/# r   r   )r   s   "r   r   r;   M   r   r   c                 ó   € R # r   r   r    s   &r   r2   Ú&UtilTests.test_formatTrace.<locals>.o3L   r#   r   c                ó(   € V ^8„  d   QhR\         RR/# r   r   )r   s   "r   r   r;   Q   r   r   c                 ó   € R # r   r   r    s   &r   Úo4Ú&UtilTests.test_formatTrace.<locals>.o4P   r#   r   c                ó(   € V ^8„  d   QhR\         RR/# r   r   )r   s   "r   r   r;   U   r   r   c                 ó   € R # r   r   r    s   &r   Úo5Ú&UtilTests.test_formatTrace.<locals>.o5T   r#   r   zroot/o1z
root/p1/o2z
root/p1/o3zroot/p1/p2/o4zroot/o5c                ó(   € V ^8„  d   QhR\         RR/# r   r   )r   s   "r   r   r;   a   s   € ÷ 	3ñ 	3œHð 	3¨ñ 	3r   c                 ót   <€ SP                  V S4       \        V R ,          4      pSP                  VS4       R# r'   )r)   r   r*   )r   Útracer+   ÚexpectedTracer.   s   & €€€r   ÚtestObserverÚ0UtilTests.test_formatTrace.<locals>.testObserver`   s/   ø€ à�M‰M˜!˜UÔ#Ü  +¥Ó/ˆEØ×Ñ˜U MÖ2r   zroot/p1/p2/zroot/p1/zroot/zÆ{root} ({root.name})
  -> {o1} ({o1.name})
  -> {p1} ({p1.name})
    -> {o2} ({o2.name})
    -> {o3} ({o3.name})
    -> {p2} ({p2.name})
      -> {o4} ({o4.name})
  -> {o5} ({o5.name})
  -> {oTest}
)	Úrootr!   r,   r2   rF   rJ   Úp1Úp2ÚoTestN)r4   r   r   Únamer   r   )r.   r!   r,   r2   rF   rJ   rP   rU   rT   rS   rR   ÚexpectedTraceTemplater+   rO   s   f           @@r   Útest_formatTraceÚUtilTests.test_formatTrace>   sP  ú€ ô ¨Ô,ˆä	”\Ó	"ô	ó 
#ð	ô 
”\Ó	"ô	ó 
#ð	ô 
”\Ó	"ô	ó 
#ð	ô 
”\Ó	"ô	ó 
#ð	ô 
”\Ó	"ô	ó 
#ð	ð ˆŒØˆŒØˆŒØ!ˆŒØˆŒô 
”\Ó	"÷	3ñ 	3ó 
#ð	3ð
 ˆä˜"ÓˆÜ˜" "Ó%ˆàˆŒØˆŒä˜B BÓ.ˆØˆŒ	ðð 	ð  .×4Ñ4ØØØØØØØØØð 5ó 

ˆñ 	ˆUŽr   r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r6   rX   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r	   r	      s!   ø‡ € ñ÷'ð '÷RMö Mr   r	   N)r^   Úzope.interfacer   Útwisted.trialr   Ú_interfacesr   r   Ú	_observerr   Ú_utilr   ÚTestCaser	   r   r   r   Ú<module>rg      s/   ðñõ 'å "ß 0Ý $Ý ô{�×!Ñ!ö {r   