
    0hhy                        S SK Jr  S SKJr  S SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKrS SKr S SKr S SKrS SKJrJr  \	R$                  " S5      =(       d    SrSS\-  S-
  -  S-
  r\* S-
  S	-   rS
rSrS
rSrSr " S S\R6                  5      rSrSr\R>                  \R>                  4\R@                  \R@                  4\RB                  \RB                  4\RD                  \RD                  44r# " S S\RH                  5      r% " S S\RH                  5      r& " S S5      r' " S S5      r( " S S5      r) " S S\'\)\RH                  5      r* " S S\(\)\RH                  5      r+ " S S \RH                  5      r,\RZ                  " \SL S!5      \RZ                  " \SL S!5       " S" S#5      5       5       r. " S$ S%\.\RH                  5      r/ " S& S'\.\RH                  5      r0\Rb                  " \R                  S(:H  S)5       " S* S+\RH                  5      5       r2\3S,:X  a  \Rh                  " 5         gg! \ a    Sr GNf = f! \ a    Sr GNf = f)-    )support)warnings_helperN)skip_if_buggy_ucrt_strfptimeSuppressCrashReport
SIZEOF_INT         l  i@B   i ʚ;c                   $    \ rS rSrSrSrSrSrSrg)_PyTime"   r   r	          N)	__name__
__module____qualname____firstlineno__ROUND_FLOORROUND_CEILINGROUND_HALF_EVENROUND_UP__static_attributes__r       7/opt/python-3.13.8/usr/lib/python3.13/test/test_time.pyr   r   "   s    KMOHr   r   l         l    c                      \ rS rSrS rS rS rS r\R                  " \
" \S5      S5      S 5       r\R                  " \
" \S5      S5      \R                  " \
" \S	5      S
5      S 5       5       r\R                  " \
" \S5      S5      \R                  " \
" \S5      S5      S 5       5       r\R                  " \
" \S5      S5      S 5       r\R                  " \
" \S5      S5      S 5       rS rS rS rS rS rS rS rS rS rS rS r\S  5       rS! rS" rS# r S$ r!S% r"\RF                  " \$RJ                  S&5      S' 5       r&\R                  " \
" \S(5      S)5      S* 5       r'S+ r(S, r)S- r*S. r+S/ r,\R                  " \-R\                  " 5       S0   S1:g  S25      S3 5       r/S4 r0S5 r1\RF                  " \$Rd                  S65      S7 5       r3S8 r4\R                  " \
" \S5      S95      S: 5       r5S; r6S< r7S=r8g>)?TimeTestCase:   c                 8    [         R                   " 5       U l        g N)timetselfs    r   setUpTimeTestCase.setUp<   s    r   c                     [         R                    [         R                    [         R                    [         R                    g r"   )r#   altzonedaylighttimezonetznamer%   s    r   test_data_attributes!TimeTestCase.test_data_attributes?   s    r   c                     [         R                   " 5         [         R                  " S5      nU R                  UR                  5        U R	                  UR
                  5        g )Nr#   )r#   get_clock_infoassertFalse	monotonic
assertTrue
adjustable)r&   infos     r   	test_timeTimeTestCase.test_timeE   s=    		""6*((r   c                   ^  U 4S jnU" [         R                   " 5       [         R                  " 5       5        U" [         R                  " 5       [         R                  " 5       5        U" [         R                  " 5       [         R
                  " 5       5        U" [         R                  " 5       [         R                  " 5       5        [        [         S5      (       a/  U" [         R                  " 5       [         R                  " 5       5        [        [         S5      (       aN  U" [         R                  " [         R                  5      [         R                  " [         R                  5      5        g g )Nc                 z   > TR                  U[        5        [        U S-  5      nTR                  X!-
  SX45        g )Ng    eAl   @F )assertIsInstanceint
assertLess)secnssec_nsr&   s      r   check_ns0TimeTestCase.test_time_ns_type.<locals>.check_nsL   s4    !!"c*s^FOOV[7SI>r   thread_timeclock_gettime)r#   time_nsr3   monotonic_nsperf_counterperf_counter_nsprocess_timeprocess_time_nshasattrrC   thread_time_nsrD   CLOCK_REALTIMEclock_gettime_ns)r&   rA   s   ` r   test_time_ns_typeTimeTestCase.test_time_ns_typeK   s    	? 		!!""$	&""$%%'	)""$%%'	) 4''T%%'((*, 4))T''(;(;<**4+>+>?A *r   rD   zneed time.clock_gettime()c                 x    [         R                  " [         R                  5      nU R                  U[        5        g r"   )r#   rD   rM   r;   floatr&   r$   s     r   test_clock_realtime TimeTestCase.test_clock_realtimed   s*     t223a'r   CLOCK_MONOTONICzneed time.CLOCK_MONOTONICc                     [         R                  " [         R                  5      n[         R                  " [         R                  5      nU R                  X5        g r"   )r#   rD   rV   assertLessEqual)r&   abs      r   test_clock_monotonic!TimeTestCase.test_clock_monotonicj   s>    
 t334t334Q"r   pthread_getcpuclockidz!need time.pthread_getcpuclockid()c                    [         R                  " [        R                  " 5       5      nU R	                  [        U5      [        L 5        [        R                  " 5       S:X  aC  [        R                  R                  5       S::  a!  U R                  U[         R                  5        Oe[        R                  R                  S5      (       a!  U R                  U[         R                  5        O U R                  U[         R                  5        [         R                   " U5      n[         R                   " U5      nU R#                  X#5        g )NAIX    sunos)r#   r]   	threading	get_identr4   typer<   platformsystemsysmaxsize
bit_lengthassertEqualCLOCK_THREAD_CPUTIME_ID
startswithassertNotEqualrD   rX   )r&   clk_idt1t2s       r   test_pthread_getcpuclockid'TimeTestCase.test_pthread_getcpuclockids   s    
 ++I,?,?,ABV+,??%3;;+A+A+Cr+IVT%A%AB\\$$W--VT%A%AB(D(DE''R$r   clock_getreszneed time.clock_getres()c                     [         R                  " [         R                  5      nU R                  US5        U R	                  US5        g )N              ?)r#   rs   rM   assertGreaterrX   )r&   ress     r   test_clock_getresTimeTestCase.test_clock_getres   s:      3 343$S#&r   clock_settimezneed time.clock_settime()c                 L   [         R                  " [         R                  5      n [         R                  " [         R                  U5        [        [         S5      (       a5  U R                  [        [         R                  [         R                  S5        g g ! [         a     NWf = f)NrV   r   )	r#   rD   rM   r{   PermissionErrorrK   assertRaisesOSErrorrV   rS   s     r   test_clock_settimeTimeTestCase.test_clock_settime   s     t223	t22A6 4*++g"00$2F2FK ,  		s   %B 
B#"B#c           	         U R                  [        R                  " U R                  5      [        R                  " [        R
                  " U R                  5      5      5        U R                  [        [        R                  " [        R
                  " U R                  5      5      5      [        U R                  5      5        g r"   )rj   r#   ctimer$   asctime	localtimer<   mktimer%   s    r   test_conversionsTimeTestCase.test_conversions   sn    DFF+dnnTVV&<=	?T[[)?@ATVV	&r   c                    U R                  [        [        R                  / 5        U R                  [        [        R                  S5        U R                  [        [        R                  [	        SS5      5        U R                  [
        [        R                  S5        U R                  [
        [        R                  S5        U R                  [
        [        R                  S5        g )NrY   r   g)r~   	TypeErrorr#   sleepcomplex
ValueErrorr%   s    r   test_sleep_exceptions"TimeTestCase.test_sleep_exceptions   s    )TZZ4)TZZ5)TZZA?*djj"5*djj"5*djj$7r   c                     S H1  nU R                  US9   [        R                  " U5        S S S 5        M3     g ! , (       d  f       ME  = f)N)g       r   ru   g0.++g&.>gư>r	   g333333?)value)subTestr#   r   )r&   r   s     r   
test_sleepTimeTestCase.test_sleep   s6    ?EE*

5! +* @**s	   9
A	c                 n    [         R                  " S5      nU R                  [        U5      S S SU5        g )Nr      )i  r	   r	   r   r   r   )r#   gmtimerj   tuple)r&   epochs     r   
test_epochTimeTestCase.test_epoch   s/     Aubq)+@%Hr   c                 $   [         R                  " U R                  5      nS H  nSU-   n [         R                  " X15        M!     U R                  [        [         R                  SU5        g ! [         a    U R                  SU-  5         Mk  f = f)NrY   ArZ   BcdHIjmMpSUwWxXyYZ% %z conversion specifier: %r failed.s   %S)r#   r   r$   strftimer   failr~   r   )r&   tt	directiveformats       r   test_strftimeTimeTestCase.test_strftime   s    [[ GI I%FGf)G 	)T]]E2>  G		<vEFGs   A--BBc           	         [         R                  " U R                  5      n[        5          [	        SS5       H@  nS[        U5      -   nU R                  US9    [         R                  " X15        S S S 5        MB     S S S 5        g ! [         a%  nU R                  [        U5      S5         S nAN?S nAff = f! , (       d  f       M  = f! , (       d  f       g = f)Nr	      r   )r   zInvalid format string)r#   r   r$   r   rangechrr   r   r   rj   str)r&   r   ir   excs        r   test_strftime_invalid_format)TimeTestCase.test_strftime_invalid_format   s    [[  "1c]A\\\0Lf1 10 # #" & L((S3JKKL 10 #"sG   -C	B7B0C	
B4	B/	*B7/B4	4B77
CC		
Cc                    [         R                  " U R                  5      n[         R                  " SU5      n[         R                  " SU5      nU R	                  [         R                  " SU5      S5        U R	                  [         R                  " SU5      SU SU 35        U R	                  [         R                  " SU5      U SU S35        U R	                  [         R                  " SU5      S5        U R	                  [         R                  " SU5      S5        U R	                  [         R                  " S	U5      SU SU 35        U R	                  [         R                  " S
U5      U SU S35        U R	                  [         R                  " SU5      U SU S35        U R	                  [         R                  " SU5      S5        U R	                  [         R                  " SU5      U SU 35        U R	                  [         R                  " SU5      S5        U R	                  [         R                  " SU5      U SU 35        U R	                  [         R                  " SU5      S5        U R	                  [         R                  " SU5      S5        U R	                  [         R                  " SU5      SU SU 35        U R	                  [         R                  " SU5      U SU S35        g )Nz%c%Bu   🐍u   💻%c🐍%Bu   💻u   %c💻%B🐍u   u   u
   %c%Bu
   %c%Bu
   %c%Bu   u
   %c%Bu   u   %c%B a                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          z %c %Bz%c %B )r#   r   r$   r   rj   )r&   r   s1s2s       r   test_strftime_special"TimeTestCase.test_strftime_special   so   [[ ]]4$]]4$ 	|R8,G'A2F*UWTXXbcebfHgh'A2F2$jY[X\\fHghx4h?x4h?'92>&FSURV@WX'92>2$fRDPV@WX'92>2$fRDPV@WX~r:NK'92>2$lSURV@WX'A2FHbc'ErJrdRjkmjnLoptR0$7y"5yAz26"RD2$Hz262$bBHr   c                 6   U" S5        U" S5        U R                  [        US5        U R                  [        US5        U" S5        U" S5        U R                  [        US5        U R                  [        US5        U" S	5        U R                  [        US
5        U R                  [        US5        U" S5        U R                  [        US5        U R                  [        US5        U R                  [        US5        U" S5        U" S5        U R                  [        US5        U R                  U" S5      U" S5      5        U R                  [        US5        U" S5        U" S5        U R                  [        US5        U R                  [        US5        g )N)	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   )	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	   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   )	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	   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	   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   in  r   )	r   r	   r	   r   r   r   r   r   r   )	r   r	   r	   r   r   r   r   io  r   )r~   r   rj   )r&   funcs     r   _bounds_checkingTimeTestCase._bounds_checking   s    	,--.*d<	>*d<	> 	,--.*d<	>*d<	> 	-.*d<	>*d<	> 	-.*d<	>*d<	> 	*d<	> 	-.-.*d<	> 	>?>?	A*d<	> 	,-./*d<	>*d=	?r   c                 (    U R                  S 5        g )Nc                 0    [         R                  " SU 5      $ )N r#   r   )tups    r   <lambda>;TimeTestCase.test_strftime_bounding_check.<locals>.<lambda>"  s    $--C*@r   )r   r%   s    r   test_strftime_bounding_check)TimeTestCase.test_strftime_bounding_check!  s    @Ar   c                     S H;  n[        SS5       H(  nS H  n [        R                  " X-  U-   5        M!     M*     M=     g ! [         a     M9  f = f)N)r   r   z%Az%AAr      )r   zA%zAA%z%A%zA%A%z%#)r   r#   r   r   )r&   r   r   zs       r   test_strftime_format_check'TimeTestCase.test_strftime_format_check$  sU    
 *A3%BAaeai0 C & *
 & s   A
A	A	c                     Sn[         R                  " 5          [        R                  " SS5      nS S S 5        U R	                  UW5        g ! , (       d  f       N!= f)Nz2000 01 01 00 00 00 1 001z%Y %m %d %H %M %S %w %j)	  r   r   r   r   r   r   r   r   )r   check_warningsr#   r   rj   )r&   expectedresults      r   test_default_values_for_zero)TimeTestCase.test_default_values_for_zero1  sD    
 /++-]]#<nMF .6* .-s   A
Ac           	      &   [         R                  " U R                  5      nS H@  nSU-   nUS:X  a  US-  n[         R                  " X15      n [         R                  " XC5        MB     g ! [
         a    U R                  SU< SU< S35         Ml  f = f)Nr   r   r   z,%Yzconversion specifier z failed with 'z' input.)r#   r   r$   r   strptimer   r   )r&   r   r   r   strf_outputs        r   test_strptimeTimeTestCase.test_strptime;  s     [[ GI 9_FC%--3K1k2G  1		!;0 11s   A(($BBc                     U R                  [        [        R                  SS5        U R                  [        [        R                  SS5        g )Ns   2009%Y2009s   %Y)r~   r   r#   r   r%   s    r   test_strptime_bytes TimeTestCase.test_strptime_bytesM  s2    )T]]GTB)T]]FEBr   c                    U R                  [        5       n[        R                  " SS5        S S S 5        U R	                  WR
                  R                  5        U R                  [        5       n[        R                  " SS5        S S S 5        U R	                  UR
                  R                  5        g ! , (       d  f       N= f! , (       d  f       NE= f)Nr   z%Dr   )r~   r   r#   r   r4   	exception__suppress_context__)r&   es     r   test_strptime_exception_context,TimeTestCase.test_strptime_exception_contextR  s    z*aMM"d# +889z*aMM#s# +889 +* +*s   B60C6
C
Cc                     U R                  [        S5         [        R                  " SS5        S S S 5        g ! , (       d  f       g = f)Nz.*day of month without a year.*z02-07 18:28z%m-%d %H:%M)assertWarnsRegexDeprecationWarningr#   r   r%   s    r   test_strptime_leap_year$TimeTestCase.test_strptime_leap_year\  s8    ""#5#EGMM-7G G Gs	   8
Ac           	         [         R                  " [         R                  " U R                  5      5        [        [
        4 HP  n[         R                  " USS4S-   5      nU R                  U[        [        U5      5      * S  [        U5      5        MR     U R                  [        [         R                  [        S-   4S-   5        U R                  [        [         R                  [
        S-
  4S-   5        U R                  [        [         R                  S5        U R                  [        [         R                  S5        U R                  [        [         R                  S5        g )Nr   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$   TIME_MAXYEARTIME_MINYEARrj   lenr   r~   OverflowErrorr   )r&   bigyearascs      r   test_asctimeTimeTestCase.test_asctimeb  s    T[[() $\1G,,A9:CS#c'l"3!3!45s7|D 2 	-'!+-8	:-'!+-8	:)T\\15)T\\26)T\\9=r   c                 B    U R                  [        R                  5        g r"   )r   r#   r   r%   s    r   test_asctime_bounding_check(TimeTestCase.test_asctime_bounding_checkq  s    dll+r   (musl libc issue on Emscripten, bpo-46390c                    [         R                  " S5      nU R                  [         R                  " U5      S5        [         R                  " S5      nU R                  [         R                  " U5      S5        S HR  n [         R                  " USS4S-   5      nU R                  [         R                  " U5      S	S  [	        U5      5        MT     g ! [
        [        4 a     Mj  f = f)
N)	i  	   r   r	   r   4   r   r   r   zSun Sep 16 01:03:52 1973)	r   r	   r	   r   r   r   r   r   r   zSat Jan  1 00:00:00 2000)id   r   r   i  '  r	   
   r     )r#   r   rj   r   r   r   r	  )r&   r$   yeartestvals       r   
test_ctimeTimeTestCase.test_ctimet  s     KK9:A(BCKK78A(BC8DF++tQmf&<=   G!4RS!93t9E 9 .  s   ?CC&%C&tzsetz"time module has no attribute tzsetc                 L   SSK Jn  SnSnSnSnUR                  SS 5      n X1S'   [        R                  " 5         XQS'   [        R                  " 5         U R                  [        R                  " U5      [        R                  " U5      5        U R                  [        R                  S5        U R                  [        R                  S5        U R                  [        R                  " U5      R                  S5        X1S'   [        R                  " 5         U R                  [        R                  " U5      [        R                  " U5      5        U R                  [        R                  S5        U R                  [        [        R                  5      S	5        U R                  [        R                  S
5        U R                  [        R                  S5        U R                  [        R                  S5        U R                  [        R                  " U5      R                  S5        U R                  [        [        R                  5      S	5        XAS'   [        R                  " 5         U R                  [        R                  " U5      [        R                  " U5      5        U R                  [        R                  S   S[        R                  S   5        U R!                  [        R                  S
   S;   [#        [        R                  S
   5      5        U R                  [        [        R                  5      S	5        U R                  [        R                  S
5        U R                  [        R                  S5        U R                  [        R                  S5        U R                  [        R                  " U5      R                  S
5        Ub  XaS'   O	SU;   a  US	 [        R                  " 5         g ! Ub  XaS'   O	SU;   a  US	 [        R                  " 5         f = f)Nr   )environg   zAzEST+05EDT,M4.1.0,M10.5.0zAEST-10AEDT-11,M10.5.0,M3.5.0zUTC+0TZ)ESTEDTr   r	   PF  i@8  AESTEST)AEDTr"  i`siPe)osr  getr#   r  rj   r   r   r+   r,   tm_isdstrm   r-   r  r*   assertInr4   r   )r&   r  xmas2002easternvictoriautcorg_TZs          r   
test_tzsetTimeTestCase.test_tzset  s    	   -2T$'5	 $DMJJLDMJJLH%t~~h'? T]]A.T]]A.T^^H5>>B $DMJJLH 5t~~h7OPT[[.9S-q1T]]A.T]]E2T\\51T^^H5>>BS-q1 %DMJJLH 5t~~h7OP MM$++a.<$++a.IOODKKNo=s4;;q>?RSS-q1T]]A.T]]F3T\\62T^^H5>>B
 ! &DMJJL	 ! &DMJJLs   N2O; ;(P#c                     [         R                  [         R                  [         R                  4 H"  nS H  nU R	                  [
        X5        M     M$     g )N)gZbtgZbti)r#   r   r   r   r~   r	  )r&   r   unreasonables      r   test_insane_timestamps#TimeTestCase.test_insane_timestamps  s;    
 JJT^^;D -!!-D !. <r   c                 Z    [         R                  " 5         [         R                  " S 5        g r"   )r#   r   r%   s    r   test_ctime_without_arg#TimeTestCase.test_ctime_without_arg  s     	



4r   c                     [         R                  " 5       n[         R                  " S 5      n[         R                  " U5      n[         R                  " U5      nU R                  XCSS9  g Ng?)delta)r#   r   r   assertAlmostEqual)r&   gt0gt1t0ro   s        r   test_gmtime_without_arg$TimeTestCase.test_gmtime_without_arg  sJ    kkmkk$[[[[rS1r   c                     [         R                  " 5       n[         R                  " S 5      n[         R                  " U5      n[         R                  " U5      nU R                  XCSS9  g r9  )r#   r   r   r;  )r&   lt0lt1r>  ro   s        r   test_localtime_without_arg'TimeTestCase.test_localtime_without_arg  sK    nnnnT"[[[[rS1r   c                     S H@  n [         R                  " U5      nU R                  [         R                  " U5      U5        MB     g ! [        [
        4 a     MX  f = f)N)r   r   r   r	   )r#   r   rj   r   r	  r   )r&   r$   r   s      r   test_mktimeTimeTestCase.test_mktime  sR    A5^^A&   R!4   "7+ s   AAAr   glibcz0disabled because of a bug in glibc. Issue #13309c                 2   [         R                  " U R                  5      n[         R                  " SU5      nU R	                  US5         [         R
                  " S5        U R                  [         R                  " SU5      U5        g ! [         a     N4f = f)N%ZLMT)	r   r	   r	   r   r   r   r   r   r   )r#   r   r$   r   rm   r   r	  rj   )r&   r   r-   s      r   test_mktime_errorTimeTestCase.test_mktime_error  sy     [[ tR(FE*	KK78 	tR0&9  		s   B	 	
BBc                 $   [        S5       Vs/ s H  n[        R                  " 5       PM     nnUS   nUSS   H  nU R                  XCSU-  5        UnM     [        R                  " 5       n[        R                  " S5        [        R                  " 5       nXC-
  nU R                  XC5        U R                  SU:*  5        [        R                  " S5      nU R                  UR                  5        U R                  UR                  5        g s  snf )Nr  r   r	   ztimes=%sg      ?g?r3   )
r   r#   r3   assertGreaterEqualr   rw   r4   r1   r2   r5   )r&   ntimesro   rp   dtr6   s          r   test_monotonicTimeTestCase.test_monotonic
  s    +0:6:a!:61X)B##BJ,>?B 
 ^^

3^^W2" 	$ "";/')' 7s   Dc                 .    [         R                  " 5         g r"   )r#   rG   r%   s    r   test_perf_counterTimeTestCase.test_perf_counter!  s    r   z"process_time not available on WASIc                 D   [         R                  " 5       n[         R                  " S5        [         R                  " 5       nU R                  X!-
  S5        [         R                  " S5      nU R                  UR                  5        U R                  UR                  5        g )N皙?{Gz?rI   )	r#   rI   r   r=   r1   r4   r3   r2   r5   r&   startstopr6   s       r   test_process_timeTimeTestCase.test_process_time$  sp    
 !!#

5  " 	e,"">2')r   c                     [        [        S5      (       dY  [        R                  R	                  S5      (       a$  U R                  S[        R                  < 35        OU R                  S5        [        R                  " 5       n[        R                  " S5        [        R                  " 5       nU R                  X!-
  S5        [        R                  " S5      nU R                  UR                  5        U R                  UR                  5        g )NrC   )linuxandroidwinz*time.thread_time() should be available on zneed time.thread_timerZ  r[  )rK   r#   rg   re   rl   r   skipTestrC   r   r=   r1   r4   r3   r2   r5   r\  s       r   test_thread_timeTimeTestCase.test_thread_time4  s    t]++||&&'BCC		 \\, - 56   "

5! 	e,""=1')r   zneed time.clock_settimec                    [         R                  " 5       n[         R                  " [         R                  5      n [         R                  " [         R                  US-
  5        [         R                  " 5       n[         R                  " [         R                  U5        U R                  XA5        g ! [
         a  nU R                  U5         S nANlS nAff = f)Ni  )r#   r3   rD   rM   r{   r}   re  rP  )r&   ro   realtimeerrrp   s        r   test_monotonic_settime#TimeTestCase.test_monotonic_settimeH  s     ^^%%d&9&9:	t22HtOD ^^4..9'  	MM#	s   (B/ /
C9CCc                    S nS H  n [         R                  " U5        M     Uc  U R                  S5        U R                  [        [         R                  U5        U R                  [        [         R                  U5        U R                  [        [         R                  [        S5      5        U R                  [        [         R                  [        S5      5        g ! [         a    U R                  S5         M  [         a    Un   M  f = f)N)r   i   @l        l            zneed 64-bit time_tz&unable to find an invalid time_t valuenan)	r#   r   r	  re  r   r~   r   r   rR   )r&   invalid_time_ttime_ts      r   test_localtime_failure#TimeTestCase.test_localtime_failureW  s    /Fv& 0 !MMBC'4>>>B'4::~> 	*dnneElC*djj%,? ! 423 !'s   CD<DDc                    / SQn[        [        S5      (       a  UR                  S5        U GH  nU R                  US9   [        R                  " U5      nU R                  UR                  [        5        U R                  UR                  S5        U R                  UR                  [        5        U R                  UR                  [        5        U R                  UR                  S5        U R                  UR                  S5        U R                  UR                  [        5        S S S 5        GM	     U R!                  ["        [        R                  S5        g ! , (       d  f       GMA  = f)N)r3   rG   rI   r#   rC   )namer   ru   rv   xxx)rK   r#   appendr   r1   r;   implementationr   rm   r3   bool
resolutionrR   rw   rX   r5   r~   r   )r&   clocksrt  r6   s       r   test_get_clock_info TimeTestCase.test_get_clock_infol  s   
 4''MM-(D4(**40%%d&9&93?##D$7$7<%%dnnd;%%doou=""4??C8$$T__c:%%doot< )(  	*d&9&95A )(s    C+E
E.	)r$   N)9r   r   r   r   r'   r.   r7   rO   unittest
skipUnlessrK   r#   rT   r[   rq   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  skipIfr   is_emscriptenr  r/  r3  r6  r?  rD  rG  re   libc_verrM  rT  rW  is_wasir_  rf  rk  rq  r{  r   r   r   r   r   r   :   s   )A2 746(6( 746'8946#66#
 '>?<>746%6>% ~635'5'
 746	K6	K&8"
I?	LI67?rB+ "1 "1"C
:8>, __IFF w/=?G?GRE225 **,Q/7:KM:M:*. __=***( 724(4(@*Br   r   c                   H    \ rS rSr\R
                  " SSS5      S 5       rSrg)
TestLocalei  LC_ALLfr_FRr   c                 2    [         R                  " SS5        g )Nr   )	i  r   r	   r   r   r   r   r   r   r   r%   s    r   test_bug_3061TestLocale.test_bug_3061  s     	d23r   r   N)r   r   r   r   r   run_with_localer  r   r   r   r   r  r    s#    Xw34 44r   r  c                   $    \ rS rSrSrS rS rSrg)_TestAsctimeYeari  %dc                 X    [         R                  " U4S-   5      R                  5       S   $ )Nr  r   )r#   r   splitr&   r   s     r   yearstr_TestAsctimeYear.yearstr  s%    ||QD8O,224R88r   c                     U R                  U R                  S5      S5        U R                  U R                  S5      S5        g )N90  12345[	123456789)rj   r  r%   s    r   test_large_year _TestAsctimeYear.test_large_year  s4    e,g6i0+>r   r   N)r   r   r   r   _formatr  r  r   r   r   r   r  r    s    G9?r   r  c                      ^  \ rS rSr\R
                  " SS5      S:X  a  SrOSrS r\R                  " \
R                  S5      S	 5       rS
 r\" S5      U 4S j5       r\" S5      U 4S j5       rCSrU =r$ )_TestStrftimeYeari  r   )	r	   r   r   r   r   r   r   r   r   0001%04dr  c                 8    [         R                  " SU4S-   5      $ )Nr   r  r   r  s     r   r  _TestStrftimeYear.yearstr  s    }}TA4(?33r   zrequires strftime extensionc                 n    U R                   S:X  a  U R                  S5        g S nU R                  SUS9  g )Nr  c                 8    [         R                  " SU 4S-   5      $ )Nz%4Yr  r   )r   s    r   year4d-_TestStrftimeYear.test_4dyear.<locals>.year4d  s    }}UQD8O<<r   )r   )r  	test_year)r&   r  s     r   test_4dyear_TestStrftimeYear.test_4dyear  s1    
 <<6!NN6"=NN6N/r   c                     SU  S3n [         R                  " SU 4S-   5        Sn[        R                  " X!5      $ ! [         a    Sn N$f = f)Nz!strftime() does not support year z on this platformr   r  TF)r#   r   r   r}  r~  )r   msgconds      r   skip_if_not_supported'_TestStrftimeYear.skip_if_not_supported  sX    1!4EF	MM$x0 D""4--	  	D	s   ; A
	A
r  c                     > [         TU ]  5       $ r"   )superr  r&   	__class__s    r   r  !_TestStrftimeYear.test_large_year  s    w&((r   r   c                     > [         TU ]  5       $ r"   )r  test_negativer  s    r   r  _TestStrftimeYear.test_negative  s    w$&&r   r   )r   r   r   r   r#   r   r  r  r}  r~  r   has_strftime_extensionsr  r  r  r  r   __classcell__)r  s   @r   r  r    s     }}T?+v54 '')F00. 5!) ") 1' ' 	r   r  c                   .    \ rS rSrSrSS jrS rS rSrg)	_Test4dYeari  r  Nc                    U=(       d    U R                   nU=(       d    U R                  nU R                  U" S5      US-  5        U R                  U" S5      US-  5        U R                  U" S5      US-  5        U R                  U" S5      US-  5        U R                  U" S5      US-  5        U R                  U" S5      US-  5        g )Nr	   D   E   c     '  )r  r  rj   )r&   fmtr   s      r   r  _Test4dYear.test_year  s    !T\\#t||aS1W-bS2X.bS2X.bS2X.cS3Y/dS4Z0r   c                    U R                  U R                  S5      R                  S5      S5        U R                  U R                  S5      R                  S5      S5        U R                  U R                  [        5      R                  S5      [	        [        5      5        U R                  [        U R                  [        S-   5        g )Nr  +r  r  r  r	   )rj   r  lstripr  r   r~   r	  r%   s    r   r  _Test4dYear.test_large_year  s    e,33C8'Bi077<kJl3::3?\ARS-|a7GHr   c                    U R                  U R                  S5      U R                  S-  5        U R                  U R                  S5      S5        U R                  U R                  S5      S5        U R                  U R                  S5      [        S5      5        U R                  U R                  S5      [        S5      5        U R                  U R                  [        5      [        [        5      5        U R                  [        U R                  [        S-
  5        U R                  [        5         U R                  [        * S-
  5        S S S 5        g ! , (       d  f       g = f)	Nr   i.z-1234iz-123456i2i.ir	   )rj   r  r  r   r  r~   r	  r  r%   s    r   r  _Test4dYear.test_negative  s    b)4<<"+<=e,g6g.	:j13z?Ck2C4DEl3S5FG-|a7GH}-LL,*+ .--s   4E
E%r   )NN)	r   r   r   r   r  r  r  r  r   r   r   r   r  r    s    G1I
,r   r  c                       \ rS rSrSrg)TestAsctime4dyeari  r   Nr   r   r   r   r   r   r   r   r  r        r   r  c                       \ rS rSrSrg)TestStrftime4dyeari  r   Nr  r   r   r   r  r    r  r   r  c                   B   \ rS rSr\\R                  " \R                  S:H  S5      \R                  " \
R                  S5      S 5       5       5       r\R                  " \R                  S:H  S5      S 5       r\R                  " \R                  S:H  S5      S 5       rSrg	)

TestPytimei     zneeds tm_zone supportr  c                    [         R                  " 5       nU R                  [        US5      5        U R                  [        US5      5        UR                  c%  U R                  [        [         S5      (       + 5        OHU R                  UR                  [         R                  [         R                  /UR                     * 5        UR                  c%  U R                  [        [         S5      (       + 5        O7U R                  UR                  [         R                  UR                     5        [         R                  " U5      n[         R                  " US S 5      nU R                  X#5        [         R                  " U5      n[         R                  " U5      nU R                  XA5        U R                  UR                  UR                  5        U R                  UR                  UR                  5        U R                  XQ5        U R                  UR                  UR                  5        U R                  UR                  UR                  5        g )N	tm_gmtofftm_zoner,   r-   r  )r#   r   r4   rK   r  rj   r,   r*   r(  r  r-   r   )r&   ltr$   t9new_ltnew_lt9s         r   test_localtime_timezone"TestPytime.test_localtime_timezone  s    ^^K01I./ <<OOj 99:R\\T]]DLL,I"++,V+VW::OOh 778RZZR[[)AB
 KKO$++b!f"5R "dnnR.@G$))2<<84%))2<<8"**5r   c                     [         R                  " SS5      nU R                  UR                  S5        [         R                  " SS5      nU R                  UR                  S5        g )NUTCrK  z+0500z%zr#  )r#   r   rj   r  r  rS   s     r   test_strptime_timezone!TestPytime.test_strptime_timezone  sJ    MM%&E*MM'4(h/r   c                     SS K nSnUR                  U5      nU R                  UR                  S 5        U R                  UR                  S 5        g )Nr   sL   ctime
struct_time
p0
((I2007
I8
I11
I1
I24
I49
I5
I223
I1
tp1
(dp2
tp3
Rp4
.)pickleloadsassertIsr  r  )r&   r  str  s       r   test_short_timesTestPytime.test_short_times  sA     	 m\\"bllD)bjj$'r   r   N)r   r   r   r   r   r}  r~  r#   _STRUCT_TM_ITEMSr  r   r  r  r  r  r   r   r   r   r  r    s    !.."46MN__I 6 O "
 6D .."46MN0 O0 .."46MN( O(r   r  z!need the _testinternalcapi modulec                   X    \ rS rSrSrSrS rS rS r SS jr	 SS jr
 SS	 jrS
 rSrg)CPyTimeTestCasei*  z)
Base class to test the C _PyTime_t API.
Nc                 P    SSK Jn  US-  S-
  nSU-  * U l        SU-  S-
  U l        g )Nr   )SIZEOF_TIME_Tr
   r	   r   )_testinternalcapir  
time_t_min
time_t_max)r&   r  bitss      r   r'   CPyTimeTestCase.setUp2  s0    3q 1$9*t)a-r   c                 T    U R                   Us=:*  =(       a    U R                  :*  $ s  $ r"   )r  r  )r&   secondss     r   time_t_filterCPyTimeTestCase.time_t_filter8  s#    7==doo=>=>r   c           
      F   S[         [        [        /nU(       a  UR                  S5        SnS/nU H$  nU H  nXe-  nUR	                  U* U45        M     M&     S H4  nSU-  [        -  nUR	                  U* S-
  U* U* S-   US-
  XwS-   45        M6     [
        R                  [
        R                  4 H  n	UR                  U	[        -  5        M     U(       a#  S H  nSU* -  nUR	                  U* U45        M     S	[        -  [        -  nUR	                  U* U45        U$ )
z'Build timestamps used to test rounding.r	   gMbP?)r	   r         {   i  i  r  r  r  r  i i?B i  i  i  i  i  i  i	  i  i  r   )	r   r  r        r   r      !   r   )r   r  r  r  g       @l            )US_TO_NSMS_TO_NS	SEC_TO_NSrv  extend	_testcapiINT_MININT_MAX)
r&   	use_floatunitsvaluesns_timestampsunitr   r?   pow2r  s
             r   _rounding_values CPyTimeTestCase._rounding_values;  s6    Hh	2LL
$ D\$$rc2Y/    7Dt)y(B  AsRCE1bQ$"  7 "))9+<+<=G  9!45 >&dU^$$rc2Y/ '
 "i/rc2Y'r   c                 h  ^^^ UUU4S jnU R                  T5      nU" U5      n[         HZ  u  p[        R                  " 5        nXl        U H+  nXS.n U" X5      nU" U5      nU R                  WWU5        M-     S S S 5        M\     U R                  [        -  nU* U4nU" U5      n[         H8  u  n	nU H,  nXS.nU R                  [        US9   U" X5        S S S 5        M.     M:     g ! [
         a    U R                  SU-  5         Nf = f! , (       d  f       M  = f! , (       d  f       Mz  = f)Nc                    > T(       a'  [         [        T5      -  nU  Vs/ s H  o"U-  PM	     nnO[         T-  nU  Vs/ s H  o"U-  PM	     nnT(       a  [        TU5      n[        [	        U5      5      $ s  snf s  snf r"   )r  rR   filtersortedset)r  
unit_to_nsr?   r  unit_to_secr  value_filters       r   convert_values7CPyTimeTestCase._check_rounding.<locals>.convert_valuesq  sz    &{);;
4ABMbz/MB&+5
5BC]r
*]Cf5 #f+&& C Ds
   A4A9)r   roundingz!Error on timestamp conversion: %s)r  )r  ROUNDING_MODESdecimallocalcontextr  	Exceptionr   rj   OVERFLOW_SECONDSr  r~   r	  )r&   pytime_converterexpected_funcr  r  r  r  r  valid_valuestime_rnddecimal_rndcontextr   
debug_infor   r   r?   overflow_values_s      ```             r   _check_roundingCPyTimeTestCase._check_roundingn  s4   	' --i8%m4%3!H%%'7#. )E+0!JJT!1%!B#0#7 $$V%-%/1 * (' &4  ""Y.b	(7)KHa(',C
&&}*&E$U5 FE ) * % T		"E
"RST ('* FEs<   DC,&D	D",D	
DD	D
D	"
D1c                 *    U R                  XSX45        g )NFr"  r&   r  r  r  r  s        r   check_int_rounding"CPyTimeTestCase.check_int_rounding  s    -"K	?r   c                 *    U R                  XSX45        g )NTr%  r&  s        r   check_float_rounding$CPyTimeTestCase.check_float_rounding  s    -!;	>r   c                 f    [         R                  " U5      nUR                  S5      n[        U5      $ )Nr	   )r  Decimalquantizer<   )r&   r   r   s      r   decimal_roundCPyTimeTestCase.decimal_round  s&    OOAJJqM1vr   )r  r  r"   )r	   N)r   r   r   r   __doc__r  r'   r  r  r"  r'  r*  r/  r   r   r   r   r  r  *  sD     (?1h >B+6\ 8<? :>>
r   r  c                   ,   \ rS rSrSr\R                  " S\-  5      rS r	S r
S rS rS r\R                  " \" \S	5      S
5      S 5       r\R                  " \" \S5      S5      S 5       r\R                  " \" \S5      S5      S 5       rS rS rSrg)TestCPyTimei  z
Test the C _PyTime_t API.
l           c                    ^ SSK Jm  S nU R                  U4S jS US9  [         H4  u  p#U R	                  [
        5         T" [        S5      5        S S S 5        M6     g ! , (       d  f       MH  = f)Nr   )_PyTime_FromSecondsc                 d    [         R                  U s=:*  =(       a    [         R                  :*  $ s  $ r"   )r  r  r   secss    r   c_int_filter2TestCPyTime.test_FromSeconds.<locals>.c_int_filter  s'    %%BB1B1BBCBCr   c                    > T" U 5      $ r"   r   )r8  rndr5  s     r   r   .TestCPyTime.test_FromSeconds.<locals>.<lambda>  s    2Ed2Kr   c                     U [         -  $ r"   r  r7  s    r   r   r=    s	    TI-=r   r  rn  )r  r5  r'  r  r~   r   rR   )r&   r9  r  r!  r5  s       @r   test_FromSecondsTestCPyTime.test_FromSeconds  sa    9	D 	 K =-9 	  	;
 *KH""9-#E%L1 .- *--s   A  
A/	c                   ^  SSK Jn  T R                  US 5        T R                  UU 4S j5        [         H5  u  p#T R                  [        5         U" [        S5      U5        S S S 5        M7     g ! , (       d  f       MI  = f)Nr   )_PyTime_FromSecondsObjectc                     U [         -  $ r"   r?  r7  s    r   r   4TestCPyTime.test_FromSecondsObject.<locals>.<lambda>  s	    	)r   c                 4   > TR                  U [        -  5      $ r"   )r/  r  )r?   r&   s    r   r   rF    s    t))"y.9r   rn  )r  rD  r'  r*  r  r~   r   rR   )r&   rD  r  r!  s   `   r   test_FromSecondsObject"TestCPyTime.test_FromSecondsObject  si    ?%)	+ 	!!%9	;
 *KH"":.)%,A /. *..s   A11
B 	c                 N   ^ SSK Jm  S nU R                  U4S jU[        5        g )Nr   )PyTime_AsSecondsDoublec                 v    [        U 5      [        -  S:X  a  [        U [        -  5      $ [        U 5      [        -  $ Nr   )absr  rR   r?   s    r   float_converter9TestCPyTime.test_AsSecondsDouble.<locals>.float_converter  s1    2w"a'R9_--Ry9,,r   c                    > T" U 5      $ r"   r   )r?   r<  rK  s     r   r   2TestCPyTime.test_AsSecondsDouble.<locals>.<lambda>  s    0Fr0Jr   )r  rK  r'  	NS_TO_SEC)r&   rP  rK  s     @r   test_AsSecondsDouble TestCPyTime.test_AsSecondsDouble  s$    4	- 	 J / )	+r   c                 D   ^ ^ [         R                  " U5      mUU 4S jnU$ )Nc                 X   > [         R                  " U 5      T-  nTR                  U5      $ r"   )r  r-  r/  )r   r   denomr&   s     r   	converter7TestCPyTime.create_decimal_converter.<locals>.converter  s'    &.A%%a((r   )r  r-  )r&   denominatorrZ  rY  s   `  @r   create_decimal_converter$TestCPyTime.create_decimal_converter  s    ,	) r   c                    ^^^ SSK Jn  U R                  [        5      mU4S jn[        R
                  S:X  a  SSKJmJm  UU4S jnOU R                  nU R                  UU[        US9  g )Nr   )_PyTime_AsTimevalc                 4   > T" U 5      n[        U[        5      $ r"   )divmod	SEC_TO_US)r?   usus_converters     r   timeval_converter5TestCPyTime.test_AsTimeval.<locals>.timeval_converter  s    b!B"i((r   win32LONG_MINLONG_MAXc                 .   > TU s=:*  =(       a    T:*  $ s  $ r"   r   )r8  rk  rj  s    r   seconds_filter2TestCPyTime.test_AsTimeval.<locals>.seconds_filter  s    43383333r   r@  )r  r`  r]  r  rg   re   r  rj  rk  r  r'  rT  )r&   r`  rf  rm  rk  rj  re  s       @@@r   test_AsTimevalTestCPyTime.test_AsTimeval  s]    744X>	) <<7"44 "//N 1 1 )-; 	  	=r   _PyTime_AsTimespecz)need _testinternalcapi._PyTime_AsTimespecc                 `   ^ SSK Jm  S nU R                  U4S jU[        U R                  S9  g )Nr   )rq  c                 "    [        U [        5      $ r"   )rb  r  rO  s    r   timespec_converter7TestCPyTime.test_AsTimespec.<locals>.timespec_converter  s    "i((r   c                    > T" U 5      $ r"   r   )r?   r<  rq  s     r   r   -TestCPyTime.test_AsTimespec.<locals>.<lambda>  s    0B20Fr   r@  )r  rq  r'  rT  r  )r&   rt  rq  s     @r   test_AsTimespecTestCPyTime.test_AsTimespec  s5     	9	) 	 F 2 )-1-?-? 	  	Ar   _PyTime_AsTimeval_clampz.need _testinternalcapi._PyTime_AsTimeval_clampc                 &   SSK Jn  [        R                  S:X  a  SSKJnJn  UnUnOU R                  nU R                  n[        [        4 H  nU" U[        R                  5      n[        R                  " 5        n[        R                  Ul        U R!                  [        R"                  " U5      [$        -  5      n	S S S 5        ['        W	[(        5      u  pXJ:  a  Un
SnO	X:  a  Un
SnU R+                  XzU45        M     g ! , (       d  f       NK= f)Nr   )rz  rh  ri  )r  rz  rg   re   r  rj  rk  r  r  
PyTime_MIN
PyTime_MAXr   r   r  r  r  r/  r-  r  rb  rc  rj   )r&   rz  rj  rk  
tv_sec_max
tv_sec_minr$   tsr  rd  tv_sectv_usecs               r   test_AsTimeval_clamp TestCPyTime.test_AsTimeval_clamp  s     	><<7"4!J!JJJj)A(G,A,ABB%%'7#*#8#8 ''(:X(EF ( %R3OF"#$#R'!23 *''s   ;AD
D	_PyTime_AsTimespec_clampz/need _testinternalcapi._PyTime_AsTimespec_clampc                    SSK Jn  [        [        4 Hl  nU" U5      n[	        U[
        5      u  pEU R                  U:  a  U R                  nSnOX@R                  :  a  U R                  nSnU R                  X4U45        Mn     g )Nr   )r  )	r  r  r|  r}  rb  rT  r  r  rj   )r&   r  r$   r  r  tv_nsecs         r   test_AsTimespec_clamp!TestCPyTime.test_AsTimespec_clamp'  ss     	?j)A)!,B$Q	2OF'//)R'!23 *r   c                 d    SSK Jn  U R                  UU R                  [        5      [
        5        g )Nr   )_PyTime_AsMilliseconds)r  r  r'  r]  r  rT  )r&   r  s     r   test_AsMillisecondsTestCPyTime.test_AsMilliseconds7  '    < 6 $ = =h G )	+r   c                 d    SSK Jn  U R                  UU R                  [        5      [
        5        g )Nr   )_PyTime_AsMicroseconds)r  r  r'  r]  r  rT  )r&   r  s     r   test_AsMicrosecondsTestCPyTime.test_AsMicroseconds>  r  r   r   N)r   r   r   r   r1  mathceilr  r  rA  rH  rU  r]  ro  r}  r~  rK   r  rx  r  r  r  r  r   r   r   r   r3  r3    s     yy)y!892 B +=. !24HIDF	AF	A !24MNIK4K42 !24NOJL4L4++r   r3  c                   4    \ rS rSrSrSrS rS rS rS r	Sr
g	)
TestOldPyTimeiF  z@
Test the old C _PyTime_t API: _PyTime_ObjectToXXX() functions.
l            c                     SSK Jn  U R                  US U R                  S9  U R	                  UU R
                  U R                  S9  g )Nr   )_PyTime_ObjectToTime_tc                     U $ r"   r   r7  s    r   r   5TestOldPyTime.test_object_to_time_t.<locals>.<lambda>R  s    Tr   r@  )r  r  r'  r  r*  r/  )r&   r  s     r   test_object_to_time_t#TestOldPyTime.test_object_to_time_tN  sS    < 6 1-1-?-? 	  	A 	!!"8"&"4"4/3/A/A 	" 	Cr   c                    ^ ^ UU 4S jnU$ )Nc                    > [         R                  " U 5      u  p[        U5      nUT-  nTR                  U5      nUS:  a  UT-  nUS-  nX!4$ UT:  a
  UT-  nUS-  nX!4$ )Nr   r	   )r  modfr<   r/  )r8  	floatpartintpartsec_to_unitr&   s      r   rZ  1TestOldPyTime.create_converter.<locals>.converterZ  s    !%4I'lG$I**95I1}[(	1 '' k)[(	1''r   r   )r&   r  rZ  s   `` r   create_converterTestOldPyTime.create_converterY  s    	( r   c                 F   SSK Jn  U R                  US U R                  S9  U R	                  UU R                  [        5      U R                  S9  [         H5  u  p#U R                  [        5         U" [        S5      U5        S S S 5        M7     g ! , (       d  f       MI  = f)Nr   )_PyTime_ObjectToTimevalc                 
    U S4$ rM  r   r7  s    r   r   6TestOldPyTime.test_object_to_timeval.<locals>.<lambda>l      dAYr   r@  rn  )r  r  r'  r  r*  r  rc  r  r~   r   rR   )r&   r  r  r!  s       r   test_object_to_timeval$TestOldPyTime.test_object_to_timevalh  s    = 7 6-1-?-? 	  	A 	!!"9"&"7"7	"B/3/A/A 	" 	C
 *KH"":.'eh? /. *..   1B
B 	c                 F   SSK Jn  U R                  US U R                  S9  U R	                  UU R                  [        5      U R                  S9  [         H5  u  p#U R                  [        5         U" [        S5      U5        S S S 5        M7     g ! , (       d  f       MI  = f)Nr   )_PyTime_ObjectToTimespecc                 
    U S4$ rM  r   r7  s    r   r   7TestOldPyTime.test_object_to_timespec.<locals>.<lambda>|  r  r   r@  rn  )r  r  r'  r  r*  r  r  r  r~   r   rR   )r&   r  r  r!  s       r   test_object_to_timespec%TestOldPyTime.test_object_to_timespecx  s    > 8 6-1-?-? 	  	A 	!!":"&"7"7	"B/3/A/A 	" 	C
 *KH"":.(ux@ /. *..r  r   N)r   r   r   r   r1  r  r  r  r  r  r   r   r   r   r  r  F  s&    
 	C@ Ar   r  darwinztest weak linking on macOSc                       \ rS rSrS rSrg)TestTimeWeaklinkingi  c                    SS K nSS KnUR                  " 5       nSnXC;  d	  X4   (       d  [        R                  " U S35      e[        S UR                  " 5       S   R                  S5       5       5      n/ SQnUS:  a.  U H'  nU R                  [        [        U5      SU S35        M)     g U H'  nU R                  [        [        U5      SU S	35        M)     g )
Nr   HAVE_CLOCK_GETTIMEz is not availablec              3   8   #    U  H  n[        U5      v   M     g 7fr"   )r<   ).0r   s     r   	<genexpr>;TestTimeWeaklinking.test_clock_functions.<locals>.<genexpr>  s     I(H1A(Hs   .)rV   rD   rN   r{   clock_settime_nsrs   )r  r   ztime.z is available)	sysconfigre   get_config_varsr}  SkipTestr   mac_verr  r4   rK   r#   r2   )r&   r  re   config_varsvar_namer  clock_namesrt  s           r   test_clock_functions(TestTimeWeaklinking.test_clock_functions  s    //1'&k.C##xj0A$BCCI(8(8(:1(=(C(CC(HII0 h#d 3uTFBS5TU $ $  t!4dV=6QR $r   r   N)r   r   r   r   r  r   r   r   r   r  r    s    Sr   r  __main__)5testr   test.supportr   r  enumr  re   rg   r  r#   rb   r}  r  ImportErrorr  r   r   get_config_varr   r  r  rc  r  r  r  rT  IntEnumr   r|  r}  r   r   r   r   r  TestCaser   r  r  r  r  r  r  r  r  r  r3  r  r~  r  r   mainr   r   r   <module>r     s    (     
     K %%l38q
Q^a''1,}q 4'			dll  


 '--.G112g556w''(I	B8$$ I	BX4"" 4	? 	?- -`, ,@	(+x7H7H 		*K9J9J 	8("" 8(v 
d"$GH	"d*,OP| | Q I|~X+/8#4#4 X+v@AOX%6%6 @AD 
S\\X-/KLS(++ S MS< zMMO s$  I  s"   H8 I 8IIII