
    vgQ                        d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlmZ  G d dej                  Z G d d	ej                  Z	 G d
 dej                  Z
 G d dej                  Zd Zedk    r ej        d           dS dS )    N)DummyOptions)DummyPConfig)DummyProcess)
DummyEventc                   >    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	S )
"EventSubscriptionNotificationTestsc                 *    ddl m} g |j        d d <   d S Nr   events
supervisorr   	callbacksselfr   s     Y/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/supervisor/tests/test_events.pysetUpz(EventSubscriptionNotificationTests.setUp
   +    %%%%%%     c                 *    ddl m} g |j        d d <   d S r
   r   r   s     r   tearDownz+EventSubscriptionNotificationTests.tearDown   r   r   c                 v    ddl m} |                    d d            |                     |j        dg           d S Nr   r   )NN)r   r   	subscribeassertEqualr   r   s     r   test_subscribez1EventSubscriptionNotificationTests.test_subscribe   sK    %%%%%%t$$$)L>:::::r   c                     ddl m} g d|j        d d <   |                    dd           |                     |j        ddg           d S )Nr   r   )   r   )   r       r"   r    r   r!   )r   r   r   unsubscriber   r   s     r   test_unsubscribez3EventSubscriptionNotificationTests.test_unsubscribe   se    %%%%%%6661a   )FF+;<<<<<r   c                     ddl m} dg|j        d d <   |                                 |                     |j        g            d S r   )r   r   r   clearr   r   s     r   
test_clearz-EventSubscriptionNotificationTests.test_clear   sS    %%%%%%+n)2.....r   c                     ddl m} g fd}t          |fg|j        d d <   |                    t                                 |                     dg           d S )Nr   r   c                 2                         d           d S Nr   appendeventLs    r   callbackzEEventSubscriptionNotificationTests.test_notify_true.<locals>.callback&       HHQKKKKKr   r   r   r   r   r   notifyr   )r   r   r0   r/   s      @r   test_notify_truez3EventSubscriptionNotificationTests.test_notify_true#   s    %%%%%%	 	 	 	 	 *H56jll###QC     r   c                     ddl m} g fd} G d d          }||fg|j        d d <   |                    t	                                 |                     g            d S )Nr   r   c                 2                         d           d S r*   r+   r-   s    r   r0   zFEventSubscriptionNotificationTests.test_notify_false.<locals>.callback/   r1   r   c                       e Zd ZdS )JEventSubscriptionNotificationTests.test_notify_false.<locals>.AnotherEventN__name__
__module____qualname__ r   r   AnotherEventr8   1           Dr   r>   )r   r   r   r3   r   r   )r   r   r0   r>   r/   s       @r   test_notify_falsez4EventSubscriptionNotificationTests.test_notify_false,   s    %%%%%%	 	 	 	 		 	 	 	 	 	 	 	 ,h78jll###Br   c                     ddl m} g fd} G d dt                    }t          |fg|j        d d <   |                     |                       |                     dg           d S )Nr   r   c                 2                         d           d S r*   r+   r-   s    r   r0   zMEventSubscriptionNotificationTests.test_notify_via_subclass.<locals>.callback:   r1   r   c                       e Zd ZdS )SEventSubscriptionNotificationTests.test_notify_via_subclass.<locals>.ASubclassEventNr9   r=   r   r   ASubclassEventrD   <   r?   r   rE   r   r2   )r   r   r0   rE   r/   s       @r   test_notify_via_subclassz;EventSubscriptionNotificationTests.test_notify_via_subclass7   s    %%%%%%	 	 	 	 		 	 	 	 	Z 	 	 	 *H56nn&&'''QC     r   N)r:   r;   r<   r   r   r   r$   r'   r4   r@   rF   r=   r   r   r   r   	   s        ! ! !! ! !; ; ;
= = =/ / /! ! !	  	  	 	! 	! 	! 	! 	!r   r   c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )TestEventTypesc                     ddl m}  |ddd          }|                     |j        d           |                     |j        d           |                     |j        d           d S )Nr   ProcessLogEventr   r    r"   )supervisor.eventsrK   r   processpiddata)r   rK   insts      r   test_ProcessLogEvent_attributesz.TestEventTypes.test_ProcessLogEvent_attributesD   su    555555q!Q''q)))1%%%A&&&&&r   c                 d    ddl m} ddl m} |                     t	          ||                     d S )Nr   rJ   Event)rL   rK   rT   
assertTrue
issubclass)r   rK   rT   s      r    test_ProcessLogEvent_inheritancez/TestEventTypes.test_ProcessLogEvent_inheritanceK   sS    555555++++++..	
 	
 	
 	
 	
r   c                    ddl m}  |ddd          }|                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d           d S )Nr   ProcessLogStdoutEventr   r    r"   stdout)rL   rZ   r   rM   rN   rO   channel)r   rZ   rP   s      r   %test_ProcessLogStdoutEvent_attributesz4TestEventTypes.test_ProcessLogStdoutEvent_attributesR       ;;;;;;$$Q1--q)))1%%%A&&&x00000r   c                 d    ddl m} ddl m} |                     t	          ||                     d S )Nr   rY   rJ   )rL   rZ   rK   rU   rV   )r   rZ   rK   s      r   &test_ProcessLogStdoutEvent_inheritancez5TestEventTypes.test_ProcessLogStdoutEvent_inheritanceZ   T    ;;;;;;555555,o>>	
 	
 	
 	
 	
r   c                    ddl m}  |ddd          }|                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d           d S )Nr   ProcessLogStderrEventr   r    r"   stderr)rL   rd   r   rM   rN   rO   r\   )r   rd   rP   s      r   %test_ProcessLogStderrEvent_attributesz4TestEventTypes.test_ProcessLogStderrEvent_attributesa   r^   r   c                 d    ddl m} ddl m} |                     t	          ||                     d S )Nr   rc   rJ   )rL   rd   rK   rU   rV   )r   rd   rK   s      r   &test_ProcessLogStderrEvent_inheritancez5TestEventTypes.test_ProcessLogStderrEvent_inheritancei   ra   r   c                     ddl m}  |ddd          }|                     |j        d           |                     |j        d           |                     |j        d           d S )Nr   ProcessCommunicationEventr   r    r"   )rL   rk   r   rM   rN   rO   )r   rk   rP   s      r   )test_ProcessCommunicationEvent_attributesz8TestEventTypes.test_ProcessCommunicationEvent_attributesp   sv    ??????((Aq11q)))1%%%A&&&&&r   c                 d    ddl m} ddl m} |                     t	          ||                     d S )Nr   rj   rS   )rL   rk   rT   rU   rV   )r   rk   rT   s      r   *test_ProcessCommunicationEvent_inheritancez9TestEventTypes.test_ProcessCommunicationEvent_inheritancew   sT    ??????++++++0%88	
 	
 	
 	
 	
r   c                    ddl m}  |ddd          }|                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d           d S )Nr   ProcessCommunicationStdoutEventr   r    r"   r[   )rL   rq   r   rM   rN   rO   r\   )r   rq   rP   s      r   /test_ProcessCommunicationStdoutEvent_attributesz>TestEventTypes.test_ProcessCommunicationStdoutEvent_attributes~       EEEEEE..q!Q77q)))1%%%A&&&x00000r   c                 d    ddl m} ddl m} |                     t	          ||                     d S )Nr   rp   rj   )rL   rq   rk   rU   rV   )r   rq   rk   s      r   0test_ProcessCommunicationStdoutEvent_inheritancez?TestEventTypes.test_ProcessCommunicationStdoutEvent_inheritance   Y    EEEEEE??????602 2	
 	
 	
 	
 	
r   c                    ddl m}  |ddd          }|                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d           d S )Nr   ProcessCommunicationStderrEventr   r    r"   re   )rL   ry   r   rM   rN   rO   r\   )r   ry   rP   s      r   /test_ProcessCommunicationStderrEvent_attributesz>TestEventTypes.test_ProcessCommunicationStderrEvent_attributes   rs   r   c                 d    ddl m} ddl m} |                     t	          ||                     d S )Nr   rx   rj   )rL   ry   rk   rU   rV   )r   ry   rk   s      r   0test_ProcessCommunicationStderrEvent_inheritancez?TestEventTypes.test_ProcessCommunicationStderrEvent_inheritance   rv   r   c                     ddl m}  |dd          }|                     |j        d           |                     |j        d           d S )Nr   RemoteCommunicationEventr   r    )rL   r   r   typerO   )r   r   rP   s      r   (test_RemoteCommunicationEvent_attributesz7TestEventTypes.test_RemoteCommunicationEvent_attributes   s\    >>>>>>''1--A&&&A&&&&&r   c                 d    ddl m} ddl m} |                     t	          ||                     d S )Nr   r~   rS   )rL   r   rT   rU   rV   )r   r   rT   s      r   )test_RemoteCommunicationEvent_inheritancez8TestEventTypes.test_RemoteCommunicationEvent_inheritance   sT    >>>>>>++++++/77	
 	
 	
 	
 	
r   c                    ddl m} t                      }t          |ddd          }t	          |          }t                      } |||          }|                     |j        |           |                     |j        |           d S )Nr   EventRejectedEventprocess1/bin/process1)	rL   r   r   r   r   r   r   rM   r.   )r   r   optionspconfig1rM   rejected_eventr.   s          r   "test_EventRejectedEvent_attributesz1TestEventTypes.test_EventRejectedEvent_attributes   s    888888..ZPPx((#""7N;;000n55555r   c                 d    ddl m} ddl m} |                     t	          ||                     d S )Nr   r   rS   )rL   r   rT   assertFalserV   )r   r   rT   s      r   3test_EventRejectedEvent_does_not_inherit_from_eventzBTestEventTypes.test_EventRejectedEvent_does_not_inherit_from_event   sV    888888++++++)511	
 	
 	
 	
 	
r   c                 j    ddl m} |j        |j        |j        fD ]}|                     |           d S r
   )r   r   SupervisorStateChangeEventSupervisorRunningEventSupervisorStoppingEvent$_test_one_SupervisorStateChangeEventr   r   klasss      r   $test_all_SupervisorStateChangeEventsz3TestEventTypes.test_all_SupervisorStateChangeEvents   sZ    %%%%%%-)* 	= 	=E
 55e<<<<	= 	=r   c                 X    ddl m} |                     t          ||                     d S )Nr   )r   )rL   r   rU   rV   )r   r   r   s      r   r   z3TestEventTypes._test_one_SupervisorStateChangeEvent   s7    @@@@@@
5*DEEFFFFFr   c           	          ddl m} |j        |j        |j        |j        |j        |j        |j        |j	        |j
        f	D ]}|                     |           d S r
   )r   r   ProcessStateEventProcessStateStoppedEventProcessStateExitedEventProcessStateFatalEventProcessStateBackoffEventProcessStateRunningEventProcessStateUnknownEventProcessStateStoppingEventProcessStateStartingEvent_test_one_ProcessStateEventr   s      r   test_all_ProcessStateEventsz*TestEventTypes.test_all_ProcessStateEvents   s~    %%%%%%$+*)+++,,
 	4 	4E ,,U3333	4 	4r   c                    ddl m} ddlm} |                     t          ||                     t                      }t          |ddd          }t          |          } |||j	                  }| 
                    |j        |           | 
                    |j        |j	                   | 
                    |j        d           d S )Nr   ProcessStates)r   r   r   T)supervisor.statesr   rL   r   rU   rV   r   r   r   STARTINGr   rM   
from_stateexpected)r   r   r   r   r   r   rM   rP   s           r   r   z*TestEventTypes._test_one_ProcessStateEvent   s    333333777777
5*;<<===..ZPPx((uWm455w///-*@AAA-----r   c                 v    ddl m} |j        |j        |j        |j        fD ]}|                     |           d S r
   )r   r   	TickEvent
Tick5EventTick60EventTick3600Event_test_one_TickEventr   s      r   test_all_TickEventsz"TestEventTypes.test_all_TickEvents   s`    %%%%%%	 	+ 	+E ##E****	+ 	+r   c                     ddl m} |                     t          ||                      |dd          }|                     |j        d           |                     |j        d           d S )Nr   )r   r   r    )rL   r   rU   rV   r   whensupervisord)r   r   r   rP   s       r   r   z"TestEventTypes._test_one_TickEvent   sv    //////
5)44555uQ{{A&&&)1-----r   c                 ^    ddl m}  |d          }|                     |j        d           d S )Nr   ProcessGroupAddedEvent	myprocess)rL   r   r   group)r   r   rP   s      r   &test_ProcessGroupAddedEvent_attributesz5TestEventTypes.test_ProcessGroupAddedEvent_attributes   sB    <<<<<<%%k22[11111r   c                 ^    ddl m}  |d          }|                     |j        d           d S )Nr   ProcessGroupRemovedEventr   )rL   r   r   r   )r   r   rP   s      r   (test_ProcessGroupRemovedEvent_attributesz7TestEventTypes.test_ProcessGroupRemovedEvent_attributes   sB    >>>>>>''44[11111r   N)r:   r;   r<   rQ   rW   r]   r`   rf   rh   rl   rn   rr   ru   rz   r|   r   r   r   r   r   r   r   r   r   r   r   r   r=   r   r   rH   rH   C   s       ' ' '
 
 
1 1 1
 
 
1 1 1
 
 
' ' '
 
 
1 1 1
 
 
1 1 1
 
 
' ' '
 
 
6 6 6
 
 
= = =G G G4 4 4
. 
. 
.+ + +. . .2 2 2
2 2 2 2 2r   rH   c                   h    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd ZdS )TestSerializationsc                     |                     d          }|d         }d}i }t          |          dk    r|d         }|rM	 t          d |                                 D                       }n # t          $ r t	          d|z            w xY w||fS )N
r    r   c                 :    g | ]}|                     d d          S ):r   )split).0xs     r   
<listcomp>z3TestSerializations._deserialize.<locals>.<listcomp>
  s0     !6 !6 !6Q!''#a.. !6 !6 !6r   z'headerdata %r could not be deserialized)r   lendict
ValueErrorAssertionError)r   serializationrO   
headerdatapayloadheaderss         r   _deserializezTestSerializations._deserialize  s    ""4((!W
t99q==1gG 	11 !6 !6","2"2"4"4!6 !6 !6 8 8 1 1 1$%N%/&0 1 1 11 s    +A, ,B	c                    t                      }t          |ddd          t                    }ddlm}  G fdd          }||_         ||dd          }|                     |                                          \  }}|                     |d	         d|           |                     |d
         d|           |                     |d         d|           |                     |d           d S )Nr   r   r   rY   c                       e Zd Z ZdS )=TestSerializations.test_plog_stdout_event.<locals>.DummyGroupNr:   r;   r<   configr   s   r   
DummyGroupr             FFFr   r   r   yoprocessname	groupnamerN   1)	r   r   r   rL   rZ   r   r   r   r   )	r   r   r   rZ   r   r.   r   r   r   s	           @r   test_plog_stdout_eventz)TestSerializations.test_plog_stdout_event     ..ZPP));;;;;;	 	 	 	 	 	 	 	 	 	#%%h488,,U]]__==/WEEE-z7CCCg666$'''''r   c                    t                      }t          |ddd          t                    }ddlm}  G fdd          }||_         ||dd          }|                     |                                          \  }}|                     |d	         d|           |                     |d
         d|           |                     |d         d|           |                     |d           d S )Nr   r   r   rc   c                       e Zd Z ZdS )=TestSerializations.test_plog_stderr_event.<locals>.DummyGroupNr   r   s   r   r   r   %  r   r   r   r   r   r   r   rN   r   )	r   r   r   rL   rd   r   r   r   r   )	r   r   r   rd   r   r.   r   r   r   s	           @r   test_plog_stderr_eventz)TestSerializations.test_plog_stderr_event   r   r   c                    t                      }t          |ddd          t                    }ddlm}  G fdd          }||_         ||dd          }|                     |                                          \  }}|                     |d	         d|           |                     |d
         d|           |                     |d         d|           |                     |d           d S )Nr   r   r   rp   c                       e Zd Z ZdS )>TestSerializations.test_pcomm_stdout_event.<locals>.DummyGroupNr   r   s   r   r   r   4  r   r   r   r   r   r   r   rN   r   )	r   r   r   rL   rq   r   r   r   r   )	r   r   r   rq   r   r.   r   r   r   s	           @r   test_pcomm_stdout_eventz*TestSerializations.test_pcomm_stdout_event/  s   ..ZPP))EEEEEE	 	 	 	 	 	 	 	 	 	#//!TBB,,U]]__==/WEEE-z7CCCg666$'''''r   c                    t                      }t          |ddd          t                    } G fdd          }||_        ddlm}  ||dd          }|                     |                                          \  }}|                     |d	         d|           |                     |d
         d|           |                     |d         d|           |                     |d           d S )Nr   r   c                       e Zd Z ZdS )>TestSerializations.test_pcomm_stderr_event.<locals>.DummyGroupNr   r   s   r   r   r   B  r   r   r   r   rx   r   r   r   r   rN   r   )	r   r   r   r   rL   ry   r   r   r   )	r   r   r   r   ry   r.   r   r   r   s	           @r   test_pcomm_stderr_eventz*TestSerializations.test_pcomm_stderr_event>  s   ..ZPP))	 	 	 	 	 	 	 	 	 	#EEEEEE//!TBB,,U]]__==/WEEE-z7CCCg666$'''''r   c                     ddl m}  |dd          }|                     |                                          \  }}|                     |d         d|           |                     |d           d S )Nr   r~   foobarr   )rL   r   r   r   r   )r   r   r.   r   r   s        r   test_remote_comm_eventz)TestSerializations.test_remote_comm_eventM  s~    >>>>>>((66,,U]]__==%999%(((((r   c                     ddl m}  |d          }|                     |                                          \  }}|                     |d         d           |                     |d           d S )Nr   r   r   r   r   )rL   r   r   r   r   )r   r   r.   r   r   s        r   test_process_group_added_eventz1TestSerializations.test_process_group_added_eventT  s{    <<<<<<&&u--,,U]]__==-u555"%%%%%r   c                     ddl m}  |d          }|                     |                                          \  }}|                     |d         d           |                     |d           d S )Nr   r   r   r   r   )rL   r   r   r   r   )r   r   r.   r   r   s        r    test_process_group_removed_eventz3TestSerializations.test_process_group_removed_event[  s{    >>>>>>((//,,U]]__==-u555"%%%%%r   c                 `  
 ddl m} ddlm} |j        |j        fD ]}t                      }t          |ddd          
 G 
fdd          }t          
          }||_	         |||j
                  }|                     |                                          \  }}	|                     t          |          d           |                     |d	         d           |                     |d
         d           |                     |d         d           |                     |	d           d S )Nr   r   r   r   r   c                       e Zd Z ZdS )UTestSerializations.test_process_state_events_without_extra_values.<locals>.DummyGroupNr   r   s   r   r   r   l          !r   r   r"   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r.   r   r   r   s             @r   .test_process_state_events_without_extra_valueszATestSerializations.test_process_state_events_without_extra_valuesb  sq   333333%%%%%%)+ 	* 	*E #nnG#GZ$35 5H" " " " " " " " " "#H--H'HNE(M$:;;E#00AAGWS\\1---W]3Z@@@W[1:>>>W\2J???Wb))))#	* 	*r   c                   
 ddl m} ddlm} |j        |j        |j        fD ]3}t                      }t          |ddd          
 G 
fdd          }t          
          }||_
        d|_         |||j                  }|                     |                                          \  }}	|                     t!          |          d	           |                     |d
         d           |                     |d         d           |                     |d         d           |                     |d         d           |                     |	d           5d S )Nr   r   r   r   r   c                       e Zd Z ZdS )ITestSerializations.test_process_state_events_with_pid.<locals>.DummyGroupNr   r   s   r   r   r     r   r   r   r      r   r   r   r   rN   r   r   )r   r   r   r   r   r   r   r   r   r   r   rN   r   r   r   r   r   r   s             @r   "test_process_state_events_with_pidz5TestSerializations.test_process_state_events_with_pidx  s   333333%%%%%%++, 	* 	*E
 #nnG#GZ$35 5H" " " " " " " " " "#H--H'HNHLE(M$:;;E#00AAGWS\\1---W]3Z@@@W[1:>>>W\2J???WU^S111Wb)))))	* 	*r   c                   
 ddl m} ddlm} |j        |j        fD ]}t                      }t          |ddd          
 G 
fdd          }t          
          }||_	         |||j
                  }|                     |                                          \  }}	|                     t          |          d           |                     |d	         d           |                     |d
         d           |                     |d         d           |                     |d         d           |                     |	d           d|_         |||j
                  }|                     |                                          \  }}	|                     |d         d           d|_         |||j
                  }|                     |                                          \  }}	|                     |d         d           d S )Nr   r   r   r   r   c                       e Zd Z ZdS )UTestSerializations.test_process_state_events_starting_and_backoff.<locals>.DummyGroupNr   r   s   r   r   r    r   r   r   r   r   r   r   r   tries0r   r   r   r    2)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   backoffr   s             @r   .test_process_state_events_starting_and_backoffzATestSerializations.test_process_state_events_starting_and_backoff  s:   333333%%%%%%,+ 	4 	4E #nnG#GZ$35 5H" " " " " " " " " "#H--H'HNE(M$:;;E#00AAGWS\\1---W]3Z@@@W[1:>>>W\2J???WW-s333Wb))) HE(M$:;;E#00AAGWWW-s333 HE(M$:;;E#00AAGWWW-s33335	4 	4r   c                   	 ddl m} ddlm} t	                      }t          |ddd          	t          	          } G 	fdd          }||_        d|_        |	                    ||j
        d	
          }|                     |                                          \  }}|                     t          |          d           |                     |d         d           |                     |d         d           |                     |d         d           |                     |d         d           |                     |d         d           |                     |d           d S )Nr   r   r   r   r   c                       e Zd Z ZdS )OTestSerializations.test_process_state_exited_event_expected.<locals>.DummyGroupNr   r   s   r   r   r    r   r   r   r   Tr      r   r   rN   r   r   r   r   r   r   r   r   r   r   r   r   r   rN   r   r   r   r   r   r   
r   r   r   r   r   r   r.   r   r   r   s
            @r   (test_process_state_exited_event_expectedz;TestSerializations.test_process_state_exited_event_expected  s   %%%%%%333333..ZPP))	 	 	 	 	 	 	 	 	 	#..x/</E8< / > >  ,,U]]__==Wq)))/<<<-z:::---.
;;;,c222"%%%%%r   c                   	 ddl m} ddlm} t	                      }t          |ddd          	t          	          } G 	fdd          }||_        d|_        |	                    ||j
        d	
          }|                     |                                          \  }}|                     t          |          d           |                     |d         d           |                     |d         d           |                     |d         d           |                     |d         d           |                     |d         d           |                     |d           d S )Nr   r   r   r   r   c                       e Zd Z ZdS )QTestSerializations.test_process_state_exited_event_unexpected.<locals>.DummyGroupNr   r   s   r   r   r    r   r   r   r   Fr  r  r   r   rN   r   r   r   r   r  r   r  r  s
            @r   *test_process_state_exited_event_unexpectedz=TestSerializations.test_process_state_exited_event_unexpected  s   %%%%%%333333..ZPP))	 	 	 	 	 	 	 	 	 	#..x/</E8= / ? ?  ,,U]]__==Wq)))/<<<-z:::---.
;;;,c222"%%%%%r   c                     ddl m} |                                }|                     |                                          \  }}|                     |i            |                     |d           d S )Nr   r   r   )r   r   r   r   r   r   )r   r   r.   r   r   s        r   test_supervisor_sc_eventz+TestSerializations.test_supervisor_sc_event  sw    %%%%%%--//,,U]]__=="%%%"%%%%%r   c                    ddl m} |j        |j        |j        fD ]f} |dd          }|                     |                                          \  }}|                     |ddi           |                     |d           gd S )Nr   r   r   r    r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r.   r   r   s         r   test_tick_eventsz#TestSerializations.test_tick_events  s    %%%%%%  	* 	*E
 E!QKKE#00AAGWWvcl333Wb))))	* 	*r   N)r:   r;   r<   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r=   r   r   r   r      s              ( ( (( ( (( ( (( ( () ) )& & && & &* * *,* * *24 4 4>& & &,& & &,& & &
* 
* 
* 
* 
*r   r   c                       e Zd Zd Zd ZdS )TestUtilityFunctionsc                     ddl m} |j        j                                        D ].\  }}|                     |                    |          |           /d S r
   )r   r   
EventTypes__dict__itemsr   getEventNameByType)r   r   namevalues       r   test_getEventNameByTypez,TestUtilityFunctions.test_getEventNameByType  sn    %%%%%%!,5;;== 	E 	EKD%V66u==tDDDD	E 	Er   c                    ddl m} |                     t          |j        d                      G d d|j                  }	 |                    d|           |                     |j        j        |u            |j        `d S # |j        `w xY w)Nr   r   FOOc                       e Zd ZdS )4TestUtilityFunctions.test_register.<locals>.FooEventNr9   r=   r   r   FooEventr&    r?   r   r'  )	r   r   r   hasattrr  rT   registerrU   r$  )r   r   r'  s      r   test_registerz"TestUtilityFunctions.test_register  s    %%%%%%!2E::;;;	 	 	 	 	v| 	 	 		&OOE8,,,OOF-1X=>>>!%%%!%%%%%s   7B 	BN)r:   r;   r<   r"  r*  r=   r   r   r  r    s5        E E E
	& 	& 	& 	& 	&r   r  c                  T    t          j        t          j        t                             S )N)unittestfindTestCasessysmodulesr:   r=   r   r   
test_suiter0     s    !#+h"7888r   __main__r0  )defaultTest)r.  r,  supervisor.tests.baser   r   r   r   TestCaser   rH   r   r  r0  r:   mainr=   r   r   <module>r6     se   



  . . . . . . . . . . . . . . . . . . , , , , , ,7! 7! 7! 7! 7!): 7! 7! 7!t{2 {2 {2 {2 {2X& {2 {2 {2zm* m* m* m* m** m* m* m*^& & & & &8, & & &"9 9 9 zHMl++++++ r   