Ñò ‡„[Jc@stddkZddkZddkZddkZddklZdZeidƒZd„Z d„Z d„Z dS( iÿÿÿÿN(tormtmappers^(\s+)cCs±ti||ƒ}|o |iƒpd}x}t|d|!ƒD]h}d|jo|Sti|ƒ}|o |iƒpd}||joPn|idƒoPqAqAWdS(Ntistestlib.pragmat:(t _whitespacetmatchtgrouptreversedtendswithtNone(tlinestcurrenttmtbasistlinetindent((s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyt _find_pragma s   csqˆidƒo%ˆidƒodˆdd!‰n dˆ‰dˆ‰‡‡‡‡‡fd†‰ˆˆ_ˆS(sÐCreates tripwired variant of a method, raising when called. To excempt an invocation from blockage, there are two options. 1) add a pragma in a comment:: # testlib.pragma exempt:methodname offending_line() 2) add a magic cookie to the function's namespace:: __sa_baremethodname_exempt__ = True ... offending_line() another_offending_lines() The second is useful for testing and development. t__s__sa_%s_exempt__iiþÿÿÿsexempt:c sad}zPtiƒdd}ti|dƒ}|iiddƒ}t|ƒ}t|dd!Œ}|idƒ pK|o ˆ|jp7ˆ|i jp'd |i jot |i d ˆt ƒ}|oct t ||ƒˆdƒ} | djpt | d dƒˆjoˆ|||ŽS| ||ŽSn+t d |iˆ||d|d fƒ‚Wd~XdS( Niii t__name__Riit sqlalchemytselftim_funcs!%s.%s called in %s, line %s in %si(R tinspecttstackt getframeinfot f_globalstgetttypeRt startswithtf_localstgetattrtFalsetsupertAssertionErrorR( Rtargstkwtframe_rtframetmodulettype_tpragmatexemptt supermeth(t pragma_markert method_nametmethodt frame_markertfallback(s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyR-:s,  ((RRR(R,R/((R,R.R/R+R-s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyt _make_blocker!s    c Os$ddd„fddd„fddd„fd dd „fd dd „fd dd„fddd„fddd„fddd„fg }t|tƒot|itfjoax^|D]R\}}}tti|tƒo-||ijot ||t ||ƒƒq·q·Wnt i |||ŽS(Nt__hash__t unhashablecSs t|ƒS((tid(ts((s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyt_st__eq__t noncomparablecSs ||jS(((R4to((s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyR5`st__ne__cSs ||j S(((R4R8((s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyR5ast__cmp__cSsti||ƒS((tobjectR:(R4R8((s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyR5bst__le__cSsti||ƒS((R;R<(R4R8((s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyR5cst__lt__cSsti||ƒS((R;R=(R4R8((s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyR5dst__ge__cSsti||ƒS((R;R>(R4R8((s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyR5est__gt__cSsti||ƒS((R;R?(R4R8((s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyR5fst __nonzero__t truthlesscSsdS(i((R4((s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyR5gs( t isinstanceRt __bases__R;RtconfigtoptionsRt__dict__tsetattrR0RR(R'R"R#t forbiddenR,toptionR/((s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyR]s #%(smapper( RtreRDttestingRRt__all__tcompileRRR0R(((s7/usr/lib/python2.6/site-packages/sqlalchemy/test/orm.pyts  <