ó o®¸Qc@súddlTddlZddlZddlZddlZdefd„ƒYZeejƒjZ e eƒe fe _ dej fd„ƒYZeeeeefZeeeeefZeeZdej fd„ƒYZed kröejƒndS( iÿÿÿÿ(t*NtBITScBsÎeZdedfdedfdedfdedfded fd ed fd ed fdedfdedfdedfdedfdedfdedfded fded fded fgZRS(tAitBitCitDitEitFitGitHitIi tMtNtOtPtQtRtS(t__name__t __module__tc_inttc_shortt_fields_(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyRs                tC_TestcBseZd„Zd„ZRS(c CsxxtdƒD]j}xadD]Y}tƒ}t|||ƒ|j||t||ƒf||tt|ƒ|ƒfƒqWq WdS(Nit ABCDEFGHI(trangeRtsetattrt assertEqualtgetattrtfunctbyref(tselftitnametb((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyt test_ints#s   c CsxxtdƒD]j}xadD]Y}tƒ}t|||ƒ|j||t||ƒf||tt|ƒ|ƒfƒqWq WdS(NitMNOPQRS(RRRRRRR(RR R!R"((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyt test_shorts*s   (RRR#R%(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR!s t BitFieldTestcBsÎeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zejeedƒdƒd„ƒZejeedƒdƒd„ƒZRS(cCsydtfd„ƒY}|jt|ƒttƒƒ|ƒ}d\|_|_|_|j|j|j|jfdƒdS(NtXcBs2eZdedfdedfdedfgZRS(taiR"i>tc(RRt c_longlongR(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'8s  iÿÿÿÿi(iÿÿÿÿiiÿÿÿÿ(iÿÿÿÿiiÿÿÿÿ(t StructureRtsizeofR*R(R"R)(RR'tx((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyt test_longlong7s  cCs›dtfd„ƒY}|jt|ƒttƒƒ|ƒ}|j|j|j|jfdƒd\|_|_|_|j|j|j|jfdƒdS( NR'cBs2eZdedfdedfdedfgZRS(R(iR"i>R)(RRt c_ulonglongR(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'Cs  iii(iii(iii(iii(R+RR,R*R(R"R)(RR'R-((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyttest_ulonglongBs  "csxtD]ù‰dtf‡fd†ƒY}|jt|ƒtˆƒdƒ|ƒ}|jˆ|j|j|jfˆdddfƒd|_|jˆ|j|j|jfˆdddfƒd\|_|_|jˆ|j|j|jfˆdddfƒqWdS(NR'cs;eZdˆfdˆdfdˆdfdˆdfgZRS(tdummyR(iR"R)i(RRR((tc_typ(s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'Ps   iiiÿÿÿÿ(iiÿÿÿÿ(tsigned_int_typesR+RR,R(R"R)(RR'R-((R2s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyt test_signedNs   1 1csxýtD]õ‰dtf‡fd†ƒY}|jt|ƒtˆƒƒ|ƒ}|jˆ|j|j|jfˆdddfƒd|_|jˆ|j|j|jfˆdddfƒd\|_|_|jˆ|j|j|jfˆdddfƒqWdS(NR'cs2eZdˆdfdˆdfdˆdfgZRS(R(iR"R)i(RRR((R2(s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'as  iiÿÿÿÿi(iiÿÿÿÿ(tunsigned_int_typesR+RR,R(R"R)(RR'R-((R2s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyt test_unsigned_s  1 1cGs#|jttƒddi|d6ƒS(NR'R((t get_exceptttypeR+(Rtfields((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyt fail_fieldsoscCs_|jdtdfƒ}|j|tdfƒ|jdtdfƒ}|j|tdfƒttkrŸ|jdttƒdfƒ}|j|tdfƒn|jdtdfƒ}|j|tdfƒyt Wnt k rèn/X|jdt dfƒ}|j|tdfƒdt fd „ƒY}|jd|dfƒ}|j|td fƒdS( NR(is(bit fields not allowed for type c_char_ps(bit fields not allowed for type c_void_ps(bit fields not allowed for type LP_c_ints&bit fields not allowed for type c_chars'bit fields not allowed for type c_wchartDummycBseZgZRS((RRR(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR;Šss%bit fields not allowed for type Dummy( R:tc_char_pRt TypeErrortc_void_pRtc_longtPOINTERtc_chartc_wchart NameErrorR+(RtresultR;((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyttest_nonint_typesss$  csxtD]‰|jdˆdfƒ}|j|tdfƒ|jdˆdfƒ}|j|tdfƒdtf‡fd†ƒY}|jt|ƒtˆƒƒdtf‡fd†ƒY}|jt|ƒtˆƒƒ|jdˆtˆƒdd fƒ}|j|tdfƒqWdS( NR(iÿÿÿÿs$number of bits invalid for bit fieldiR'cseZdˆdfgZRS(R(i(RRR((R2(s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'˜scs$eZdˆeˆƒdfgZRS(R(i(RRR,R((R2(s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'œsii(t int_typesR:Rt ValueErrorR+R,(RRDR'((R2s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyttest_single_bitfield_sizes &cCstdtfd„ƒY}|jt|ƒttƒƒdtfd„ƒY}|jt|ƒttƒdƒ|j|jjdƒ|j|jjttƒƒ|j|jjttƒdƒ|j|jjttƒdƒdtfd„ƒY}|jt|ƒttƒdƒ|j|jjttƒdƒ|j|jjttƒdƒ|j|jjttƒdƒdS( NR'cBs2eZdedfdedfdedfgZRS(R(iR"iR)(RRRR(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'¤s  cBs;eZdedfdefdedfdedfgZRS(R(ita1R"iR)(RRRR(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'ªs   iiicBs2eZdedfdedfdedfgZRS(R(iR"iR)(RRRR(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'µs  i( R+RR,RR(toffsetRIR"R)(RR'((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyttest_multi_bitfields_size£s      cOs;y|||ŽWn#tk r6}|jt|ƒfSXdS(N(t Exceptiont __class__tstr(RRtargstkwtdetail((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR7¿scCshdtfd„ƒY}tjdkrH|jt|ƒttƒdƒn|jt|ƒttƒƒdS(NR'cBs&eZdedfdedfgZRS(R(iR"(RRtc_byteRR(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'Æs tnttcei(sntRT(R+tosR!RR,R(RR'((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyt test_mixed_1Ås#cCs:dtfd„ƒY}|jt|ƒttƒdƒdS(NR'cBs&eZdedfdedfgZRS(R(iR"i (RRRRRR(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'Ïs i(R+RR,R(RR'((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyt test_mixed_2ÎscCs6dtfd„ƒY}|jt|ƒttƒƒdS(NR'cBs&eZdedfdedfgZRS(R(iR"(RRRRtc_ubyteR(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'Õs (R+RR,RR(RR'((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyt test_mixed_3ÔscCsldtfd„ƒY}tjdkrH|jt|ƒttƒdƒn |jt|ƒttƒdƒdS(NR'cBsVeZdedfdedfdedfdedfdedfdedfgZRS(R(iR"R)itdtetf(RRRRR(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'Ûs      RSRTii(sntsce(R+RUR!RR,R(RR'((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyt test_mixed_4Ús #cs6dtfd„ƒY‰dtf‡fd†ƒY}dS(NR'cBs&eZdedfdedfgZRS(R(iR"(RRRRRXR(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'ìs tYcs eZdgZdˆfgZRS(t_(RRt _anonymous_R((R'(s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR^ïs (R+(RR^((R's0/sys/lib/python2.7/ctypes/test/test_bitfields.pyttest_anon_bitfieldsêstc_uint32sc_int32 is requiredcCs[dtfd„ƒY}|ƒ}d|_|j|jdƒd|_|j|jdƒdS(NR'cBseZdedfgZRS(R(i (RRRbR(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'õsi l‡)—{(R+R(R(RR'R-((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyt test_uint32ós    tc_uint64sc_int64 is requiredcCs[dtfd„ƒY}|ƒ}d|_|j|jdƒd|_|j|jdƒdS(NR'cBseZdedfgZRS(R(i@(RRRdR(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR'ÿsi l2¨lajåv(R+R(R(RR'R-((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyt test_uint64ýs    (RRR.R0R4R6R:RERHRKR7RVRWRYR]Ratunittestt skipUnlessthasattrtctypesRcRe(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyR&5s            $ t__main__(RiRfRUt _ctypes_testR+RtCDLLt__file__tunpack_bitfieldsRR@RAtargtypestTestCaseRRRRRR?R*R3RXtc_ushorttc_uinttc_ulongR/R5RFR&Rtmain(((s0/sys/lib/python2.7/ctypes/test/test_bitfields.pyts      Ò