mò
­fIc        "   @   s=  d  k  l Z l Z l Z d k Z d k Z e i d j Z [ e e i d d ƒ d e	 d ƒ j e j d ƒ d „  Z
 d „  Z d	 „  Z d
 „  Z e e i d ƒ e i d ƒ Z e d e i d ƒ j o e d ‚ n d Z d Z e i e ƒ Z e i e ƒ Z e d e j o$ e d e e d e e e f ‚ n e e i d d ƒ e e i d d d d ƒ e e i d d ƒ e e i d d ƒ e e i d d ƒ e i d d d ƒ Z e e i d e ƒ e e i d e ƒ d Z d Z d Z d Z d Z d Z d Z x[d d d  d! d" d# f D]AZ x8d$ d% f D]*Z e e Z e o d& Ge GHn e i e e e e e e e e ƒ Z e i e e ƒ \ Z Z Z  Z! Z" Z# Z$ e e j ps e e j pf e  e j pY e! e j pL e" e j p? e% d' e# ƒ e% d' e ƒ j p e% d' e$ ƒ e% d' e ƒ j o8 e d( e& e ƒ e& e e e  e! e" e# e$ f ƒ f ‚ n q+WqWd) d d d d f d* d d+ d+ d f d, d d- d- d f d. d d d d f d/ d0 d d d f d1 d0 d2 d2 d f d3 d0 d4 d4 d f d5 d0 d0 d0 d f d6 d0 d7 d7 d f d8 d0 d0 d9 d: d0 d9 d: d f d; d< d= d= d f d; d> d? d? d f d@ d< d= d= d f d@ dA d? d? d f d2 dB dC dD d f d2 dE dF dG d f dH dB dC dD d f dH d dB dF dG d f d dI dJ dK d f d dL dM dN d f dO dP dJ dK d f dO dQ dI dM dN d f dR dI dJ dK d f dR dL dM dN d f dS dP dJ dK d f dS dQ dI dM dN d f dT dU dV dW d f d dU dX dY d f dT dZ d[ d\ d f d dZ d] d^ d f g Z' x\e' D]T\ Z Z( Z) Z* Z+ e o d_ e e( e) e* f GHn xd! e e) f d# e e) f d  e e* f d" e e o e) p e* f g D]Ò \ Z, Z- e i e, e( ƒ Z. e. e- j o e d` e e( e. e- f ‚ n e i e, ƒ Z/ e/ e0 e. ƒ j o  e da e, e/ e0 e. ƒ f ‚ n e i e, e. ƒ d Z1 e1 e( j o e+ o e db e e. e1 e( f ‚ n q Wq¢Wd Z2 y e i dc dd ƒ Wn e i3 j
 o d Z2 n Xe o de Ge2 o df p dg GHn e e i dh di ƒ e e i dc d ƒ e e i dh d ƒ dj „  Z4 e2 o e4 ƒ  n d k5 Z5 dk f  dl „  ƒ  YZ6 xQ dm d f dn d f do dp f dq dp f dr ds f g D] Z7 e6 e7 Œ  Z8 e8 i9 ƒ  qùWdt „  Z: e: ƒ  du „  Z; e; ƒ  d S(v   (   s
   TestFaileds   verboses   verifyNt   bigs   =ii   i    s%   bigendian determination appears wrongc         C   s#   t  |  ƒ } | i ƒ  d i | ƒ S(   Nt    (   t   listt   st   charst   reverset   join(   R   R   (    (    t-   /mit/python/lib/python2.4/test/test_struct.pyt   string_reverse
   s    
c         C   s   t  o |  Sn t |  ƒ Sd  S(   N(   t   ISBIGENDIANt   valueR   (   R
   (    (    R   t   bigendian_to_native   s    c         G   sA   y |  | Œ  Wn t i j
 o n Xt d |  i | f ‚ d  S(   Ns   %s%s did not raise struct.error(   t   funct   argst   structt   errort
   TestFailedt   __name__(   R   R   (    (    R   t
   simple_err   s
    c         G   sJ   y |  | Œ  Wn t i t t f j
 o n Xt d |  i | f ‚ d  S(   Ns   %s%s did not raise error(   R   R   R   R   t   OverflowErrort	   TypeErrorR   R   (   R   R   (    (    R   t   any_err   s
    t   Zt   ii   t   iiis   inconsistent sizest   cbxxxxxxhhhhiillffdt   3c3b18x12h6i6l6f3ds0   inconsistent sizes (3*%r -> 3*%d = %d, %r -> %d)t   foot   Pt   dt   flapt   iii   t   aiÿ   iÿÿ  i   f3.1415000000000002R   t   @t   <t   >t   =t   !t   xcbhilfdt   xcBHILfds   trying:id   s#   unpack/pack not transitive (%s, %s)t   ct   xct    at   cxt   a R   t   0st
   helloworldt   1st   ht   9st	   helloworlt   10st   11st   helloworld t   20si
   t    t   bi   s   iùÿÿÿs   ùt   Biù   i¼  s   ¼s   ¼iDýÿÿs   ýDs   Dýt   Hi€,s   ,€s   €,i€âÓûs   ûÓâ€s   €âÓût   Il   €Xl        t   lt   Lt   ff2.0s   @   t      @s   @       t          @f-2.0s   À   t      Às   À       t          Às   %r %r %r %rs    pack(%r, %r) -> %r # expected %rs    calcsize(%r) -> %d # expected %ds(   unpack(%r, %r) -> (%r,) # expected (%r,)t   qi   s   Platform has native q/Q?s   Yes.s   No.t   Qiÿÿÿÿc          C   s3  t  i d ƒ } xd d d | f d d d | f d d d | f d d d | d d	 f d d d
 | >d d | f d d d
 | d >d d d | d f f D]‰ \ } } } t  i | | ƒ } t | ƒ }  t
 | |  j d | | | |  f ƒ t  i | | ƒ d } t
 | | j d | | | | f ƒ q¢ Wd  S(   NRC   iÿÿÿÿs   ÿi    R7   RD   l    i   s   i   s   s   %r-pack of %r gave %r, not %rs   %r-unpack of %r gave %r, not %r(   R   t   calcsizet   bytest   formatt   inputt   expectedt   packt   gotR   t   native_expectedt   verifyt   unpackt	   retrieved(   RL   RG   RF   RO   RK   RI   RH   (    (    R   t   test_native_qQœ   s    “ t	   IntTesterc           B   s;   t  Z d Z d „  Z e i e i e i d „ Z	 d „  Z
 RS(   Nt   bBhHiIlLc         C   sÞ   t  | ƒ d j p t ‚ | |  _ xB d D]: } x1 | D]) } | | } t t i	 | ƒ | j ƒ q7 Wq* W| |  _
 | d |  _ | \ |  _ |  _ d |  _ d |  i d |  _ d |  i d |  _ d |  i d d |  _ d  S(   Ni   s   <>!=i   i    l    i   (   t   lent
   formatpairt   AssertionErrort   selft	   directiont   codeRG   RM   R   RE   t   bytesizet   bitsizet   signed_codet   unsigned_codet   unsigned_mint   unsigned_maxt
   signed_mint
   signed_max(   RV   RT   RY   RW   RX   RG   (    (    R   t   __init__Â   s    	  
!		c   
      C   sc  t  o& d G|  i Gd G| Gd Gt | ƒ GHn |  i } |  i | j o |  i j n o·t	 | ƒ }	 | d j  o) |	 d |  i >7}	 |	 d j p t ‚ n t |	 ƒ d d !}	 t |	 ƒ d @o d	 |	 }	 n | |	 ƒ }	 d
 |  i t |	 ƒ |	 }	 d | } | | | ƒ } t | |	 j d | | | |	 f ƒ | | | ƒ d } t | | j d | | | | f ƒ t | | d | ƒ d | } t |	 ƒ }	 | | | ƒ } t | |	 j d | | | |	 f ƒ | | | ƒ d } t | | j d | | | | f ƒ t | | d | ƒ nQ | |  i j o t  o d G| GHqan) t | d | | ƒ t | d | | ƒ |  i } |  i | j o |  i j n od | } t	 | ƒ }	 t |	 ƒ d d !}	 t |	 ƒ d @o d	 |	 }	 n | |	 ƒ }	 d
 |  i t |	 ƒ |	 }	 | | | ƒ } t | |	 j d | | | |	 f ƒ | | | ƒ d } t | | j d | | | | f ƒ t | | d | ƒ d | } t |	 ƒ }	 | | | ƒ } t | |	 j d | | | |	 f ƒ | | | ƒ d } t | | j d | | | | f ƒ t | | d | ƒ nQ | |  i j o t  o d G| GHq_n) t | d | | ƒ t | d | | ƒ d  S(   Ns
   trying stdt   ons   ==i    l    i   iÿÿÿÿi   t   0R7   R#   s   '%s'-pack of %r gave %r, not %rs!   '%s'-unpack of %r gave %r, not %rs   R"   s#   Skipping buggy range check for code(   t   verboseRV   RT   t   xt   hexR[   RX   R_   R`   t   longRI   RZ   RU   RS   t	   unhexlifyRY   RG   RJ   RK   RM   RN   RO   R   R   t   BUGGY_RANGE_CHECKR\   R]   R^   (
   RV   Re   RJ   RN   Rh   RX   RG   RO   RK   RI   (    (    R   t   test_oneÑ   s‚    &	$

	$

c         C   sr  d k  l } g  }
 x, t |  i d ƒ D] } |
 i d | >ƒ q' WxX t |  i ƒ D]G } d } x+ t |  i
 ƒ D] } | d >| d ƒ B} qn W|
 i | ƒ qR Wxt |
 D]l }	 xc |	 |	 f D]T } xK d D]C } | | } y t | ƒ } Wn t j
 o n X|  i | ƒ qÅ Wq¸ Wq¤ WxW d
 D]O } xF |  i D]; } x2 d d d | f D] } t t i | | | ƒ qEWq+WqWd  S(   N(   s	   randrangei   l    l    i   i   iÿÿÿÿi    i   s   <>s   a stringx0.042.0(   iÿÿÿÿi    i   (   t   randomt	   randranget   valuest   rangeRV   RZ   t   expt   appendR   t   valRY   t   jt   baset   incrRe   t   intR   Rj   RW   RT   RX   t	   badobjectR   R   RJ   (   RV   Rv   Rt   RX   Rl   Rq   R   Rr   RW   Rs   Rm   Ro   Re   (    (    R   t   runH  s>          
 
  (   R   t
   __module__Ri   Ra   R   RJ   RN   t   binasciiRh   Rj   Rw   (    (    (    R   RQ   º   s   	wt   bBt   hHt   iIi   t   lLt   qQi   c          C   sÖ   xÏ d d d d d d d  d d d d d d d d f g D]“ \ }  } } } t i |  | ƒ } | | j o  t d |  | | | f ƒ ‚ n t i |  | ƒ \ } | | j o  t d |  | | | f ƒ ‚ q; q; Wd  S(!   Nt   pt   abcR7   R   t   1pt   2ps   aR    t   3ps   abt   abt   4ps   abct   5ps   abc t   6ps   abc  t   1000pRe   iè  s   ÿiç  iÿ   s"   pack(%r, %r) == %r but expected %rs$   unpack(%r, %r) == %r but expected %r(   R   R€   s    R   (   R   R€   s    R   (   R‚   R€   s   aR    (   Rƒ   R€   s   abR„   (   R…   R€   s   abcR€   (   R†   R€   s   abc R€   (   R‡   R€   s   abc  R€   (	   RX   RH   RI   t   expectedbackR   RJ   RK   R   RN   (   RX   R‰   RK   RI   RH   (    (    R   t   test_p_codev  s    ; 	 c          C   s  d  k  } x× t d d ƒ D]Æ } d } x$ | | d | j o | d :} q( W| | }  t i d |  ƒ } t i d | ƒ d } t
 | | j ƒ t i d |  ƒ } t
 | t | ƒ j d ƒ t i d | ƒ d } t
 | | j ƒ q Wd d	 >d } | i | d
 d ƒ } t i d | ƒ } t i d | ƒ d } t
 | | j ƒ d d >d } | i | d
 d	 ƒ } y t i d | ƒ } Wn t j
 o n Xt d ƒ d  S(   Ni   i!   f0.5f2.0s   <fi    s   >fs*   >f pack should be byte-reversal of <f packi   i   i   i   s   expected OverflowError(   t   mathRn   Rs   t   deltat   smallerR   RJ   t   packedRN   t   unpackedRM   t	   bigpackedR   R    t   ldexpR   R   (   R   R    R   R   Rs   R‹   RŒ   RŽ   (    (    R   t   test_705836‘  s8    	  
(<   t   test.test_supportR   Rd   RM   R   t   syst	   byteorderR	   RJ   t   chrR   R   R   R   RE   t   szt   fmtt   fmt3t   sz3RN   R   R(   R8   R0   R   R<   R>   R   t   prefixRG   t   cpt   bpt   hpt   ipt   lpt   fpt   dpRu   t   strt   testst   argR    t   lilt   asyt   xfmtRo   t   rest   nRS   t   revt   has_native_qQR   RP   Ry   RQ   R   t   tRw   RŠ   R’   (1   R«   Rd   RŸ   R™   R›   R¥   R	   Rœ   Rž   R   R¦   RM   R˜   R   RŠ   R    R   R   RQ   R¡   R¤   Ro   RG   R§   R    R   R   R”   R   RP   R   Rš   R’   R¢   R¨   R—   R(   R8   R   R¬   R>   R   R0   R<   Rª   R   Ry   R­   R©   (    (    R   t   ?   s®   		(					
$  
$'ƒ@ÿ ÿ @# I  %		°4 		&