ó õùPc@sØdZdZddlZddlZddlZddlTejdkrUd„ZneZdejfd„ƒYZ d ejfd „ƒYZ d ejfd „ƒYZ d ejfd„ƒYZ dd„Zd„ZdS(s&Self-testing for PyCrypto hash moduless$Id$iÿÿÿÿN(t*icKs |jƒS(N(tcopy(tkwargs((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pytdict&stHashDigestSizeSelfTestcBs#eZd„Zd„Zd„ZRS(cCs/tjj|ƒ||_||_||_dS(N(tunittesttTestCaset__init__thashmodtexpectedt description(tselfRR R ((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyR.s  cCs|jS(N(R (R ((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pytshortDescription4scCsq|jt|jdƒƒ|j|jj|jƒ|jjƒ}|jt|dƒƒ|j|j|jƒdS(Nt digest_size(t failUnlessthasattrRt assertEqualsR R tnew(R th((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pytrunTest7s (t__name__t __module__RR R(((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyR,s  t HashSelfTestcBs#eZd„Zd„Zd„ZRS(cCs8tjj|ƒ||_||_||_||_dS(N(RRRRR tinputR (R RR R R((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyRAs    cCs|jS(N(R (R ((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyR HscCsR|jjƒ}|j|jƒtj|jƒƒ}|jƒ}|jj|jƒ}|jƒ}tj|jƒƒ}|j|j |ƒt j ddkrÅ|j|j |ƒ|j|j |ƒn2|j|j j ƒ|ƒ|j|j j ƒ|ƒ|j|j |ƒ|jƒ}|j|jƒtj|jƒƒ}|j|j |ƒdS(Nii( RRtupdateRtbinasciitb2a_hextdigestt hexdigestt assertEqualR tsyst version_infotdecode(R Rtout1tout2tout3tout4th2tout5((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyRKs$   (RRRR R(((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyR?s  t HashTestOIDcBseZd„Zd„ZRS(cCs&tjj|ƒ||_||_dS(N(RRRRtoid(R RR(((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyRhs cCsx|jjƒ}|jdkr^yd}|j}Wntk rJd}nX|j|dƒn|j|j|jƒdS(Nii(RRR(tNonetAttributeErrorR(R Rtraisedta((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyRms   (RRRR(((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyR'gs t MACSelfTestcBs#eZd„Zd„Zd„ZRS(cCsJtjj|ƒ||_||_||_||_||_||_dS(N( RRRRt expected_dictRtkeythashmodsR (R RR R.RR/R0((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyR{s     cCs|jS(N(R (R ((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyR „sc CsÂx»|jjƒD]ª}|j|}tjt|jƒƒ}tjt|jƒƒ}tdj|j|j ƒƒƒ}|j j |d|ƒ}|j |ƒtj |jƒƒ}|jƒ}|j j |||ƒ}|jƒ} tj |jƒƒ} |jƒ} |j tdƒƒtj | jƒƒ} |j||ƒtjddkrn|j||ƒ|j|| ƒn,|j|jƒ|ƒ|j|jƒ| ƒ|j|| ƒ|j|| ƒqWdS(Ntt digestmodsblah blah blahii(R.tkeysR0Rta2b_hextbR/RtjointsplitRRRRRRRRRRR ( R thashnameRR/tdataR RR!R"R#R$R%R&((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyR‡s. "    (RRRR R(((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyR-ys c Csg}x§tt|ƒƒD]“}||}tt|dd!ƒ\}} t|ƒdkrft| ƒ} n|djdƒ} d||d| f} |jt|| || ƒƒqW|dk rËt|ƒ}nd||df} |jt || |ƒƒ|jt ||ƒƒ|S(Niiislatin-1s %s #%d: %sis%s #%d: digest_size( trangetlentmapR5treprtencodetappendRR)RR'( tmodulet module_namet test_dataR R(tteststitrowR RR tname((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pytmake_hash_testsªs   c Cs|g}xott|ƒƒD][}||}|\}}} } d||d| f} |jt|| | |||ƒƒqW|S(Ns %s #%d: %si(R:R;R?R-( R@RARBR0RCRDRER/R9tresultsR RF((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pytmake_mac_tests¼s &(t__doc__t __revision__RRRtCrypto.Util.py3compatt hexversionRRRRR'R-R)RGRI(((s6..\python\site-packages\Crypto\SelfTest\Hash\common.pyts     (1