ó õùPc@s²dZdZddlZejddkrKejddkrKddlTnddlTddlZdejfd „ƒYZid „Z e d kr®d „Z ej d dƒndS(s"Self-tests for Crypto.Util.Counters$Id$iÿÿÿÿNiii(t*t CounterTestscBs}eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „ZRS( cCsddlmadS(Niÿÿÿÿ(tCounter(t Crypto.UtilR(tself((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pytsetUp%scCs¤tjdƒ}|j|jtƒtjddtƒ}|j|jtƒtjddtƒ}|j|jtƒtjddtdtƒ}|j|jtƒdS(sBig endian, shortcut enabledi€t little_endiantdisable_shortcutN(Rtnewt assertEqualt__PCT_CTR_SHORTCUT__tTruetFalse(Rtc((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyttest_BE_shortcut)scCsZtjddtƒ}|j|jtƒtjddtdtƒ}|j|jtƒdS(sLittle endian, shortcut enabledi€RRN(RRR R R R (RR ((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyttest_LE_shortcut4scCs`tjddtƒ}|jtt|dƒtjddtdtƒ}|jtt|dƒdS(sBig endian, shortcut disabledi€RR RN(RRR t assertRaisestAttributeErrortgetattrR (RR ((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyttest_BE_no_shortcut;scCs5tjddtdtƒ}|jtt|dƒdS(s Little endian, shortcut disabledi€RRR N(RRR RRR(RR ((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyttest_LE_no_shortcutBscCsótjdƒ}|jd|jƒƒ|jtdƒ|ƒƒ|jd|jƒƒ|jtdƒ|ƒƒxPtddƒD]?}|j||jƒƒ|jtdƒt|ƒ|ƒƒq}W|jd|jƒƒ|jtd ƒ|ƒƒd S( s128-bit, Big endian, defaultsi€ititiittN(RRR t next_valuetbtxrangetbchr(RR ti((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyttest_BE_defaultsGs'cCsùtjddtƒ}|jd|jƒƒ|jtdƒ|ƒƒ|jd|jƒƒ|jtdƒ|ƒƒxPtddƒD]?}|j||jƒƒ|jt|ƒtd ƒ|ƒƒqƒW|jd|jƒƒ|jtd ƒ|ƒƒd S( s 128-bit, Little endian, defaultsi€RisisiiRtN(RRR R RRRR(RR R((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyttest_LE_defaultsTs'cCs¢tjdƒ}xFtddƒD]5}|j||jƒƒ|jt|ƒ|ƒƒqW|jt|jƒ|jt|ƒ|jt|jƒ|jt|ƒdS(s8-bit, Big endian, wraparoundiiiN(RRRR RRRt OverflowError(RR R((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyttest_BE8_wraparoundascCs¨tjddtƒ}xFtddƒD]5}|j||jƒƒ|jt|ƒ|ƒƒq%W|jt|jƒ|jt|ƒ|jt|jƒ|jt|ƒdS(s 8-bit, Little endian, wraparoundiRiiN( RRR RR RRRR!(RR R((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyttest_LE8_wraparoundlscCs§tjddtƒ}xFtddƒD]5}|j||jƒƒ|jt|ƒ|ƒƒq%W|jd|jƒƒ|jtdƒ|ƒƒ|jd|jƒƒdS(s88-bit, Big endian, wraparound with allow_wraparound=Trueitallow_wraparoundiiitN(RRR RR RRR(RR R((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyttest_BE8_wraparound_allowedwscCs­tjddtdtƒ}xFtddƒD]5}|j||jƒƒ|jt|ƒ|ƒƒq+W|jd|jƒƒ|jtdƒ|ƒƒ|jd|jƒƒdS( s;8-bit, Little endian, wraparound with allow_wraparound=TrueiRR$iiiR%N(RRR RR RRR(RR R((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyttest_LE8_wraparound_allowedscCs‚tjdƒ}xYtddƒD]H}|jd|jƒ|j||jƒƒ|jt|ƒ|ƒƒqW|jd|jƒdS(s"8-bit, Big endian, carry attributeiiiiN(RRRR tcarryRR(RR R((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyttest_BE8_carry‹s cCsˆtjddtƒ}xYtddƒD]H}|jd|jƒ|j||jƒƒ|jt|ƒ|ƒƒq%W|jd|jƒdS(s%8-bit, Little endian, carry attributeiRiiiN(RRR RR R(RR(RR R((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyttest_LE8_carry”s (t__name__t __module__RRRRRRR R"R#R&R'R)R*(((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyR$s     cCsddlm}|tƒS(Niÿÿÿÿ(tlist_test_cases(tCrypto.SelfTest.st_commonR-R(tconfigR-((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyt get_testsst__main__cCstjtƒƒS(N(tunittestt TestSuiteR0(((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyt¢st defaultTesttsuite( t__doc__t __revision__tsyst version_infotCrypto.Util.py21compattCrypto.Util.py3compatR2tTestCaseRR0R+R6tmain(((s<..\python\site-packages\Crypto\SelfTest\Util\test_Counter.pyts &   y