;
Ìâ"Ic               @   s¦  d  d l  Z  d  d l m Z d  d l m Z m Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z e j d d … d k p e j d k o e j d e j ƒ ‚ n Gd	 „  d
 e ƒ Z d „  Z d „  Z Gd „  d e  j ƒ Z Gd „  d e  j ƒ Z Gd „  d e  j ƒ Z Gd „  d e  j ƒ Z Gd „  d e  j ƒ Z d „  Z e d k o e ƒ  n d S(   i    N(   u   support(   u   closingu   nestedi   u   winu   os2u   riscosu   Can't test signal on %sc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   HandlerBCalled   s   
u   HandlerBCalledc               C   s   t  j d ƒ d S(   uñ   Use os._exit(0) to exit the current subprocess.

    Otherwise, the test catches the SystemExit and continues executing
    in parallel with the original test, so you wind up with an
    exponential number of tests running concurrently.
    i    N(   u   osu   _exit(    (    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   exit_subprocess   s    c             O   s]   y |  | | Ž  SWnE t  k
 o9 } z# | j t j k o ‚  n d  SWYd  d  } ~ Xn Xd  S(   N(   u   EnvironmentErroru   errnou   EINTRu   None(   u   __funcu   argsu   kwargsu   e(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   ignoring_eintr   s    c             B   s_   |  Ee  Z d  Z d „  Z d „  Z d	 d „ Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 S(
   i   c             C   s   t  j ƒ  |  _ t  j ƒ  d  S(   N(   u   gcu	   isenabledu   using_gcu   disable(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   setUp+   s    c             C   s   |  j  o t j ƒ  n d  S(   N(   u   using_gcu   gcu   enable(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   tearDown/   s    
c             C   s   d j  t j | d | ƒƒ S(   Nu    u   limit(   u   joinu	   tracebacku   format_stack(   u   selfu   frameu   limit(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   format_frame3   s    c             C   s>   d |  _ t j o' t d | |  j | d d ƒf ƒ n d  S(   Nu&   handlerA invoked from signal %s at:
%su   limiti   T(   u   Trueu   a_calledu   supportu   verboseu   printu   format_frame(   u   selfu   signumu   frame(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   handlerA6   s    	
c             C   sV   d |  _ t j o' t d | |  j | d d ƒf ƒ n t | |  j | ƒ ƒ ‚ d  S(   Nu&   handlerB invoked from signal %s at:
%su   limiti   T(   u   Trueu   b_calledu   supportu   verboseu   printu   format_frameu   HandlerBCalled(   u   selfu   signumu   frame(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   handlerB<   s
    	
!c             C   s`   xY y | j  ƒ  d SWq t k
 o5 } z | j t j k o ‚  n WYd d } ~ Xq Xq d S(   u)   Wait for child to finish, ignoring EINTR.N(   u   waitu   OSErroru   errnou   EINTR(   u   selfu   childu   e(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   waitC   s    
c             C   sh  t  j  t  j |  j ƒ t  j  t  j |  j ƒ t  j  t  j t  j ƒ t  j  t  j t  j ƒ d |  _
 d |  _ t j ƒ  } t j o t d | ƒ n t t j d d t | ƒ g ƒ } | o, |  j | ƒ |  j
 p t j d ƒ qå n |  j |  j
 ƒ |  j |  j ƒ d |  _
 ~ yI t j d d t | ƒ g ƒ } |  j | ƒ t j d ƒ |  j d ƒ WnL t k
 o@ |  j |  j ƒ |  j |  j
 ƒ t j o t d ƒ n Yn Xt t j d d t | ƒ g ƒ } | o |  j | ƒ n y( t  j d ƒ t  j ƒ  t j d ƒ WnJ t k
 o  t j o t d	 ƒ n Yn- |  j d
 t j  ƒ  ƒ Yn X|  j d ƒ d  S(   Nu   test runner's pid isu   killu   -HUPi   u   -USR1u#   HandlerBCalled exception not thrownu   HandlerBCalled exception caughtu   -USR2u(   KeyboardInterrupt (the alarm() went off)u+   Some other exception woke us from pause: %suT   pause returned of its own accord, and the signal didn't arrive after another second.F(!   u   signalu   SIGHUPu   handlerAu   SIGUSR1u   handlerBu   SIGUSR2u   SIG_IGNu   SIGALRMu   default_int_handleru   Falseu   a_calledu   b_calledu   osu   getpidu   supportu   verboseu   printu   ignoring_eintru
   subprocessu   Popenu   stru   waitu   timeu   sleepu
   assertTrueu   assertFalseu   failu   HandlerBCalledu   alarmu   pauseu   KeyboardInterruptu	   tracebacku
   format_exc(   u   selfu   pidu   child(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   run_testM   sT    		
!
	
!

	c          #   C   sÂ  t  j ƒ  \ } } t t t  j | d ƒ ƒ t t  j | d ƒ ƒ ƒ j } j ƒ  } za| ~ \ } } t  j ƒ  } | d k o¥ z– ys | j ƒ  t | ƒ j } j ƒ  zC y |  j	 ƒ  Wn t
 j t j ƒ  | ƒ Yn Xt
 j d  | ƒ Wd  | ~ QXWn t d ƒ t j ƒ  Yn XWd  t ƒ  Xn | j ƒ  t j | g g  g  |  j ƒ \ }	 }
 } | |	 k o+ t
 j | ƒ } | o |  j | ƒ q²n( t  j | t j ƒ |  j d |  j ƒ Wd  | ~ QXd  S(   Nu   rbu   wbi    u   Uh oh, raised from pickle.u!   Test deadlocked after %d seconds.(   u   osu   pipeu   nestedu   closingu   fdopenu   __exit__u	   __enter__u   forku   closeu   run_testu   pickleu   dumpu	   tracebacku
   format_excu   Noneu   printu	   print_excu   exit_subprocessu   selectu   MAX_DURATIONu   loadu   failu   killu   signalu   SIGKILL(   u   selfu	   os_done_ru	   os_done_wu   _[2]u   _[1]u   done_ru   done_wu   childu   _[3]u   ru   wu   xu   tb(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu	   test_mainŽ   s6    : 
 

'	N(   u   __name__u
   __module__u   MAX_DURATIONu   setUpu   tearDownu   Noneu   format_frameu   handlerAu   handlerBu   waitu   run_testu	   test_main(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   InterProcessSignalTests(   s   
					
	Au   InterProcessSignalTestsc             B   s2   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d S(   c             G   s   d  S(   N(    (   u   selfu   args(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   trivial_signal_handlerº   s    c             C   s6   |  j  t t j d ƒ |  j  t t j d |  j ƒ d  S(   Ni’  (   u   assertRaisesu
   ValueErroru   signalu	   getsignalu   trivial_signal_handler(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu,   test_out_of_range_signal_number_raises_error½   s    c             C   s    |  j  t t j t j d  ƒ d  S(   N(   u   assertRaisesu	   TypeErroru   signalu   SIGUSR1u   None(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu0   test_setting_signal_handler_to_none_raises_errorÃ   s    c             C   sj   t  j  t  j |  j ƒ } |  j t  j t  j ƒ |  j ƒ t  j  t  j | ƒ |  j t  j t  j ƒ | ƒ d  S(   N(   u   signalu   SIGHUPu   trivial_signal_handleru   assertEqualsu	   getsignal(   u   selfu   hup(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   test_getsignalÇ   s
    
N(   u   __name__u
   __module__u   trivial_signal_handleru,   test_out_of_range_signal_number_raises_erroru0   test_setting_signal_handler_to_none_raises_erroru   test_getsignal(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   BasicSignalTests¹   s   
			u   BasicSignalTestsc             B   s>   |  Ee  Z d  Z d Z d „  Z d „  Z d „  Z d „  Z d S(   i
   i   c             C   s¤   d d  l  } t j d ƒ t j ƒ  } t j |  j ƒ t j ƒ  } |  j | | |  j k  ƒ | j  |  j g g  g  |  j ƒ t j ƒ  } |  j | | |  j k  ƒ d  S(   Ni    i   (	   u   selectu   signalu   alarmu   timeu   sleepu   TIMEOUT_FULLu   assert_u   TIMEOUT_HALFu   read(   u   selfu   selectu   before_timeu   mid_timeu
   after_time(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   test_wakeup_fd_earlyÓ   s    c             C   sz   d d  l  } t j d ƒ t j ƒ  } |  j | j | j  |  j g g  g  |  j ƒ t j ƒ  } |  j | | |  j	 k  ƒ d  S(   Ni    i   (
   u   selectu   signalu   alarmu   timeu   assertRaisesu   erroru   readu   TIMEOUT_FULLu   assert_u   TIMEOUT_HALF(   u   selfu   selectu   before_timeu
   after_time(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   test_wakeup_fd_duringá   s    c             C   s™   d d  l  } t j t j d „  ƒ |  _ t j ƒ  \ |  _ |  _ | j  |  j | j d ƒ } | t j	 B} | j  |  j | j
 | ƒ t j |  j ƒ |  _ d  S(   Ni    c             S   s   d  S(   N(   u   None(   u   xu   y(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   <lambda>ï   s    (   u   fcntlu   signalu   SIGALRMu   alrmu   osu   pipeu   readu   writeu   F_GETFLu
   O_NONBLOCKu   F_SETFLu   set_wakeup_fdu
   old_wakeup(   u   selfu   fcntlu   flags(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   setUpì   s    c             C   sJ   t  j |  j ƒ t j |  j ƒ t j |  j ƒ t  j  t  j |  j ƒ d  S(   N(	   u   signalu   set_wakeup_fdu
   old_wakeupu   osu   closeu   readu   writeu   SIGALRMu   alrm(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   tearDownö   s    N(   u   __name__u
   __module__u   TIMEOUT_FULLu   TIMEOUT_HALFu   test_wakeup_fd_earlyu   test_wakeup_fd_duringu   setUpu   tearDown(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   WakeupSignalTestsÏ   s   
			
u   WakeupSignalTestsc             B   s;   |  Ee  Z e j Z d  „  Z d „  Z d „  Z d „  Z d S(   c       	      C   s4  t  j ƒ  \ } } t  j ƒ  } t  j ƒ  } t j |  j d „  ƒ } | ƒ  | d k o@ z1 t j d ƒ t  j | |  j ƒ t j d ƒ Wd  t	 ƒ  Xn zs t  j
 | ƒ y t  j | d ƒ } d SWnE t k
 o9 } z# | j t j k o ‚  n d SWYd  d  } ~ Xn XWd  t j |  j | ƒ t  j | d ƒ Xd  S(   Nc             S   s   d  S(   N(   u   None(   u   xu   y(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   <lambda>  s    i    gš™™™™™É?i   FT(   u   osu   pipeu   getpidu   forku   signalu   signumu   timeu   sleepu   killu   exit_subprocessu   closeu   readu   Falseu   OSErroru   errnou   EINTRu   Trueu   waitpid(	   u   selfu   cbu   ru   wu   ppidu   pidu
   oldhandleru   du   err(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   readpipe_interruptedþ   s,    c             C   s&   |  j  d „  ƒ } |  j | d ƒ d  S(   Nc               S   s   d  S(   N(   u   None(    (    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   <lambda>  s    T(   u   readpipe_interruptedu   assertEqualsu   True(   u   selfu   i(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   test_without_siginterrupt  s    c                s,   ˆ  j  ‡  f d †  ƒ } ˆ  j | d ƒ d  S(   Nc                  s   t  j ˆ  j d  ƒ S(   i   (   u   signalu   siginterruptu   signum(    (   u   self(    u-   /mit/python/lib/python3.0/test/test_signal.pyu   <lambda>"  s    T(   u   readpipe_interruptedu   assertEqualsu   True(   u   selfu   i(    (   u   selfu-   /mit/python/lib/python3.0/test/test_signal.pyu   test_siginterrupt_on!  s    c                s,   ˆ  j  ‡  f d †  ƒ } ˆ  j | d ƒ d  S(   Nc                  s   t  j ˆ  j d  ƒ S(   i    (   u   signalu   siginterruptu   signum(    (   u   self(    u-   /mit/python/lib/python3.0/test/test_signal.pyu   <lambda>&  s    F(   u   readpipe_interruptedu   assertEqualsu   False(   u   selfu   i(    (   u   selfu-   /mit/python/lib/python3.0/test/test_signal.pyu   test_siginterrupt_off%  s    N(	   u   __name__u
   __module__u   signalu   SIGUSR1u   signumu   readpipe_interruptedu   test_without_siginterruptu   test_siginterrupt_onu   test_siginterrupt_off(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   SiginterruptTestü   s
   
				u   SiginterruptTestc             B   s_   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 S(
   c             C   s:   d |  _ d |  _ d  |  _ t j t j |  j ƒ |  _ d  S(   Ni    F(	   u   Falseu   hndl_calledu
   hndl_countu   Noneu   itimeru   signalu   SIGALRMu   sig_alrmu	   old_alarm(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   setUp*  s    			c             C   sA   t  j  t  j |  j ƒ |  j d  k	 o t  j |  j d ƒ n d  S(   Ni    (   u   signalu   SIGALRMu	   old_alarmu   itimeru   Noneu	   setitimer(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   tearDown0  s    c             G   s(   d |  _ t j o t d | ƒ n d  S(   Nu   SIGALRM handler invokedT(   u   Trueu   hndl_calledu   supportu   verboseu   print(   u   selfu   args(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   sig_alrm6  s    	
c             G   s™   d |  _ |  j d k o t j d ƒ ‚ n@ |  j d k o/ t j t j d ƒ t j o t	 d ƒ qk n |  j d 7_ t j o t	 d | ƒ n d  S(   Ni   u.   setitimer didn't disable ITIMER_VIRTUAL timer.i    u   last SIGVTALRM handler calli   u   SIGVTALRM handler invokedT(
   u   Trueu   hndl_calledu
   hndl_countu   signalu   ItimerErroru	   setitimeru   ITIMER_VIRTUALu   supportu   verboseu   print(   u   selfu   args(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu
   sig_vtalrm;  s    	

c             G   s;   d |  _ t j t j d ƒ t j o t d | ƒ n d  S(   Ni    u   SIGPROF handler invokedT(   u   Trueu   hndl_calledu   signalu	   setitimeru   ITIMER_PROFu   supportu   verboseu   print(   u   selfu   args(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   sig_profM  s    	
c             C   s    |  j  t j t j d d ƒ d  S(   Niÿÿÿÿi    (   u   assertRaisesu   signalu   ItimerErroru	   setitimer(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   test_itimer_excT  s    c             C   sX   t  j |  _ t  j |  j d ƒ t j o t d ƒ n t  j ƒ  |  j |  j	 d ƒ d  S(   Ng      ð?u   
call pause()...T(   u   signalu   ITIMER_REALu   itimeru	   setitimeru   supportu   verboseu   printu   pauseu   assertEqualu   hndl_calledu   True(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   test_itimer_real]  s    

c             C   s    t  j |  _ t  j  t  j |  j ƒ t  j |  j d d ƒ x2 t d ƒ D]$ } t  j |  j ƒ d k o PqE qE W|  j t  j |  j ƒ d ƒ |  j |  j	 d ƒ d  S(   Ng333333Ó?gš™™™™™É?i áõg        (   g        g        (   g        g        T(   u   signalu   ITIMER_VIRTUALu   itimeru	   SIGVTALRMu
   sig_vtalrmu	   setitimeru   rangeu	   getitimeru   assertEqualsu   hndl_calledu   True(   u   selfu   i(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   test_itimer_virtualf  s     	c             C   s    t  j |  _ t  j  t  j |  j ƒ t  j |  j d d ƒ x2 t d ƒ D]$ } t  j |  j ƒ d k o PqE qE W|  j t  j |  j ƒ d ƒ |  j	 |  j
 d ƒ d  S(   Ngš™™™™™É?i áõg        (   g        g        (   g        g        T(   u   signalu   ITIMER_PROFu   itimeru   SIGPROFu   sig_profu	   setitimeru   rangeu	   getitimeru   assertEqualsu   assertEqualu   hndl_calledu   True(   u   selfu   i(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   test_itimer_proft  s     	N(   u   __name__u
   __module__u   setUpu   tearDownu   sig_alrmu
   sig_vtalrmu   sig_profu   test_itimer_excu   test_itimer_realu   test_itimer_virtualu   test_itimer_prof(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu
   ItimerTest)  s   
										u
   ItimerTestc               C   s   t  j t t t t t ƒ d  S(   N(   u   supportu   run_unittestu   BasicSignalTestsu   InterProcessSignalTestsu   WakeupSignalTestsu   SiginterruptTestu
   ItimerTest(    (    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu	   test_main‚  s    u   __main__(   u   winu   os2(   u   unittestu   testu   supportu
   contextlibu   closingu   nestedu   gcu   pickleu   selectu   signalu
   subprocessu	   tracebacku   sysu   osu   timeu   errnou   platformu   TestSkippedu	   Exceptionu   HandlerBCalledu   exit_subprocessu   ignoring_eintru   TestCaseu   InterProcessSignalTestsu   BasicSignalTestsu   WakeupSignalTestsu   SiginterruptTestu
   ItimerTestu	   test_mainu   __name__(    (    (    u-   /mit/python/lib/python3.0/test/test_signal.pyu   <module>   s.   0*		
		‘--Y	