{G_Tc@sddlZddlZddlZddlZddlZddlZddlZddlmZddlmZddl m Z m Z e de fde %ddlmZddlmZWdQXddlZejZejd-red ZnddlZy d d WnejZnXejZd ejfdYZdZdefdYZdefdYZ dejfdYZ!de!fdYZ"de!fdYZ#de!fdYZ$de!fdYZ%de&fdYZ'd e&fd!YZ(d"Z)d#ejfd$YZ*d%ejfd&YZ+d'e+fd(YZ,d)e,fd*YZ-d+Z.e/d,kre.ndS(.iN(tUserList(tUserDict(t run_unittesttcheck_py3k_warningss*tuple parameter unpacking has been removedtquiet(tinspect_fodder(tinspect_fodder2tctoiit IsTestBasec BsYeZeejejejejejej ej ej ej ej g ZdZRS(cCst|}|j||d|j|fxe|jt|gD]M}|tjkrp|tjkrpqFn|j||d|j|fqFWdS(Ns%s(%s)s not %s(%s)( tevalt assertTruet__name__t predicatestsettinspecttisgeneratorfunctiont isfunctiont assertFalse(tselft predicatetexptobjtother((s-/usr/local/lib/python2.7/test/test_inspect.pytistest3s #(R t __module__RRt isbuiltintisclasstiscodetisframeRtismethodtismodulet istracebackt isgeneratorRR R(((s-/usr/local/lib/python2.7/test/test_inspect.pyR -s  ccs xtdD] }|Vq WdS(Ni(txrange(Rti((s-/usr/local/lib/python2.7/test/test_inspect.pytgenerator_function_example=stTestPredicatescBs>eZdZdZdZdZdZdZRS(cCsKttdtt}d}d||f}|j|||dS(NcSs |jdS(Ntis(t startswith(tx((s-/usr/local/lib/python2.7/test/test_inspect.pytCsis#There are %d (not %d) is* functions(tlentfiltertdirRt assertEqual(Rtcounttexpectedterr_msg((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_sixteenBscCs|jtjd|jtjd|jtjd|jtjd|jtjd|jtjd|jtjd|jtjd|jtjd |jtj d |jtj d |jtj d |jtj d t t dr|jtjdn"|jtjttjjt t drc|jtjdn|jtjtjjdS(Nssys.exits [].appendsmod.spam.func_codes tb.tb_framesmod.spamsmod.StupidGit.abuses git.arguetmodttbs__builtin__.file.closeds__builtin__.file.softspaces(x for x in xrange(2))R$tGetSetDescriptorTypestype(tb.tb_frame).f_localstMemberDescriptorTypesdatetime.timedelta.days(RRRRRRRRR tisdatadescriptorR!RthasattrttypestisgetsetdescriptorRttypeR3ttb_frametf_localstismemberdescriptortdatetimet timedeltatdays(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_excluding_predicatesKs(  "cCs6|jtjtj|jtjgjdS(N(R Rt isroutineR2tspamR.(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_isroutinecscCs|jtjd|jtjtdtfdY}|jtj|dtfdY}|jtj|dS(Ns mod.StupidGittnewstylecBseZRS((R R(((s-/usr/local/lib/python2.7/test/test_inspect.pyREkst CustomGetattrcBseZdZRS(cSsdS(N(tNone(Rtattr((s-/usr/local/lib/python2.7/test/test_inspect.pyt __getattr__os(R RRI(((s-/usr/local/lib/python2.7/test/test_inspect.pyRFns(RRRR tlisttobjectR(RRERF((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_isclassgs cCsadtfdY}|}d|_ttj|}|jd||jd|dS(NtCcBseZdZRS(tatb(RNRO(R Rt __slots__(((s-/usr/local/lib/python2.7/test/test_inspect.pyRMtsi*RNRO(RKRNtdictRt getmemberstassertInt assertNotIn(RRMR(tmembers((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_get_slot_membersss   csddlmmdtffdY}d|fdY}|}|jtj||jtj||jtj||jtjt|jtjddS(Ni(tABCMetatabstractmethodtAbstractClassExamplecseZZdZRS(cSsdS(N((R((s-/usr/local/lib/python2.7/test/test_inspect.pytfoos(R Rt __metaclass__RZ((RWRX(s-/usr/local/lib/python2.7/test/test_inspect.pyRYst ClassExamplecBseZdZRS(cSsdS(N((R((s-/usr/local/lib/python2.7/test/test_inspect.pyRZs(R RRZ(((s-/usr/local/lib/python2.7/test/test_inspect.pyR\si( tabcRWRXRKR Rt isabstractRtint(RRYR\RN((RWRXs-/usr/local/lib/python2.7/test/test_inspect.pyttest_isabstract}s (R RR1RARDRLRVR`(((s-/usr/local/lib/python2.7/test/test_inspect.pyR%As    tTestInterpreterStackcBs>eZdZdZdZdZdZdZRS(cOs-tjj|||tjddddS(Niii (tunittesttTestCaset__init__tgittabuse(Rtargstkwargs((s-/usr/local/lib/python2.7/test/test_inspect.pyRdscCs*|jtjd|jtjddS(Ns git.ex[2]smod.fr(RRR R(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_abuse_donescCs|jttjdk|jtjddtdddgdf|jtjddtddd gdf|jtjd dtd d d gdf|jtjddtdddgdfdS(Niiiiteggss st = inspect.stack() i RCs eggs(b + d, c + f) ii+targues spam(a, b, c) ii'Rfs self.argue(a, b, c) (R R*R2tstR-tmodfile(R((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_stackscCs|jttjd|jtjddtdddgdf|jtjddtddd gdf|jtjd dtd d d gdfdS(Niiii+Rks spam(a, b, c) i RCs eggs(b + d, c + f) iiRjs q = y // 0 (R-R*RettrRm(R((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_tracescCstjtj\}}}}|j|ddg|j|d|j|d|j|idd6dd6dd6|jtj||||ddS(NR(tyi tpis (x=11, y=14)(Rt getargvaluesR2tfrR-RGtformatargvalues(RRgtvarargstvarkwtlocals((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_frames%cCstjtjj\}}}}|j|ddddddggg|j|d|j|d|jtj||||d dS( NRNRORtdtetftgths2(a=7, b=8, c=9, d=3, (e=4, (f=5,)), *g=(), **h={})(RRsR2Rttf_backR-Ru(RRgRvRwRx((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_previous_frames !((R RRdRiRnRpRyR(((s-/usr/local/lib/python2.7/test/test_inspect.pyRas    t GetSourceBasecBs)eZdZdZdZdZRS(cOsJtjj|||ttj|j}|j|_WdQXdS(N( RbRcRdtopenRt getsourcefilet fodderFiletreadtsource(RRgRhtfp((s-/usr/local/lib/python2.7/test/test_inspect.pyRdscCs.|jjd}dj||d|!dS(Ns i(Rtsplittjoin(Rttoptbottomtlines((s-/usr/local/lib/python2.7/test/test_inspect.pyt sourcerangescCs)|jtj||j||dS(N(R-Rt getsourceR(RRRR((s-/usr/local/lib/python2.7/test/test_inspect.pytassertSourceEqualsN(R RRGRRdRR(((s-/usr/local/lib/python2.7/test/test_inspect.pyRs  tTestRetrievingSourceCodecBseZeZdZdZejej j dkddZ dZ dZ dZdZd Zd Zd Zd ZRS( c Cstjttj}|j|dtjfdtjfdtjfdtjfdtjfgtj g|D]}|d^qn}|j|tjdftjtjtjffgtjdftjtjfftjtjtjffgggtj g|D]}|d^qt }|j|tjd ftjd ftjtjfftjtjtjffgggdS( Nt FesteringGobtMalodorousPerverttParrotDroppingst StupidGittTiti((((( RRRR2RR-RRRRt getclasstreetTrue(Rtclassestclsttree((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_getclassess.     &     )    cCsAtjttj}|j|dtjfdtjfgdS(NRjRC(RRRR2RR-RjRC(Rt functions((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_getfunctionssis)Docstrings are omitted with -O2 and abovecCsU|jtjtd|jtjtjd|jtjtjddS(NsA module docstring.sA longer, indented docstring.s$Another docstring containing tabs(R-RtgetdocR2RReRf(R((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_getdocs cCs|jtjdddS(NsAn indented docstring.sAn indented docstring.(R-Rtcleandoc(R((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_cleandocscCs9|jtjtd|jtjtjddS(Ns # line 1 s # line 20 (R-Rt getcommentsR2R(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_getcomments scCs|jtjtt|jtjtjt|jtjtjjt|jtjtjjt|jtjttjd|jtjdt tdS(Nt __builtin__( R-Rt getmoduleR2RRftstrtsystmodulesRGRm(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_getmodules  cCs0|jtjdd|jtjdddS(Nii'ii.(RReRfR2R(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_getsourcescCs|jtjtjt|jtjtjtd}td|d}|jtj|dddd|j ft j |j <|jtj||dS(Ns2_non_existing_filename_used_for_sourcefile_test.pyRGtexeci( R-RRR2RCRmReRftcompileRGt co_filenamet linecachetcache(Rtfntco((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_getsourcefile"scCs#|jtjtjtjdS(N(R-RtgetfileR2Rt__file__(R((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_getfile+scBsddlm}d}||}ej|tdummys def x(): passsa=10ttsingle(R8RRRRt __loader__t__dict__R-RRR(t func_codeRR(RRtnametm((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_getmodule_recursion.s    csvd\ejdfd}|e_z/i}ed|Uej|dWde_XdS(s4doctest monkeypatches linecache to enable inspectionssdef x(): pass cs*|krjtS||SdS(N(t splitlinesR(tfilenametmodule_globals(RtgetlinesR(s-/usr/local/lib/python2.7/test/test_inspect.pytmonkey=s  RR(N(ssdef x(): pass (RRRGRRR(RRtns((RRRs-/usr/local/lib/python2.7/test/test_inspect.pyttest_proceed_with_fake_filename9s   (R RR2RRRRbtskipIfRtflagstoptimizeRRRRRRRRR(((s-/usr/local/lib/python2.7/test/test_inspect.pyRs !       tTestDecoratorscBs eZeZdZdZRS(cCs|jtjdddS(Nii(Rtmod2twrapped(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_wrapped_decoratorMscCs|jtjdddS(Ni i (RRtgone(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_replacing_decoratorPs(R RRRRR(((s-/usr/local/lib/python2.7/test/test_inspect.pyRJs t TestOnelinerscBsVeZeZdZdZdZdZdZdZ dZ dZ RS(cCs|jtjdddS(Ni(RRtoll(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_oneline_lambdaUscCs|jtjdddS(Nii(RRttll(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_threeline_lambdaYscCs|jtjdddS(Ni!i"(RRttlli(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_twoline_indented_lambda^scCs|jtjdddS(Ni%(RRt onelinefunc(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_onelinefunccscCs|jtjdddS(Ni(i)(RRtmanyargs(R((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_manyargsgscCs|jtjdddS(Ni,i-(RRt twolinefunc(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_twolinefuncmscCs|jtjddddS(Nii1(RRRN(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_lambda_in_listsscCs|jtjdddS(Ni7(RRt anonymous(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_anonymousxs( R RRRRRRRRRRR(((s-/usr/local/lib/python2.7/test/test_inspect.pyRSs       tTestBuggyCasescBseZeZdZdZdZdZdZdZ dZ e j e ed pqejddkd d Zd ZdZRS(cCs|jtjdddS(Ni:i;(RRt with_comment(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_with_commentscCs|jtjddddS(Nii?i@(RRt multiline_sig(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_multiline_sigscCs |jtjjdddS(NiGiH(RRtfunc69tfunc71(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_nested_classscCs|jtjdddS(NiM(RRtfunc77(R((s-/usr/local/lib/python2.7/test/test_inspect.pyt#test_one_liner_followed_by_non_namescCs|jtjjdddS(NiS(RRtcls82tfunc83(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_one_liner_dedent_non_namescCs|jtjdddS(NiXiZ(RRtfunc88(R((s-/usr/local/lib/python2.7/test/test_inspect.pyt&test_with_comment_instead_of_docstringscCs|jtjdddS(Ni_ia(RRtmethod_in_dynamic_class(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_method_in_dynamic_classsRis.pycs.pyos,unicodedata is not an external binary modulecCs0|jttjt|jttjtdS(N(t assertRaisestIOErrorRRt unicodedatat findsource(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_findsource_binaryscCsdg}t|ddd}|jttj||jttj|dd||jftj |j<|j tj||df|j tj||ddS(Nsx=1it_dynamically_created_fileRi( RRRRRRRGRRRR-(RRR((s-/usr/local/lib/python2.7/test/test_inspect.pyt!test_findsource_code_in_linecaches cCsYxRddgD]D}td|d}|jttj||jttj|q WdS(NRssx=1R(RRRRRR(RtfnameR((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_findsource_without_filenames(s.pycs.pyo(R RRRRRRRRRRRbRR7RRRRR(((s-/usr/local/lib/python2.7/test/test_inspect.pyR}s        t_BrokenDataDescriptorcBs)eZdZdZdZdZRS(s2 A broken data descriptor. See bug #1785. cGstddS(Ns#should not __get__ data descriptors(tAssertionError(Rg((s-/usr/local/lib/python2.7/test/test_inspect.pyt__get__scGs tdS(N(t RuntimeError(Rg((s-/usr/local/lib/python2.7/test/test_inspect.pyt__set__scGstddS(Ns'should not __getattr__ data descriptors(R(Rg((s-/usr/local/lib/python2.7/test/test_inspect.pyRIs(R Rt__doc__RRRI(((s-/usr/local/lib/python2.7/test/test_inspect.pyRs  t_BrokenMethodDescriptorcBs eZdZdZdZRS(s4 A broken method descriptor. See bug #1785. cGstddS(Ns%should not __get__ method descriptors(R(Rg((s-/usr/local/lib/python2.7/test/test_inspect.pyRscGstddS(Ns)should not __getattr__ method descriptors(R(Rg((s-/usr/local/lib/python2.7/test/test_inspect.pyRIs(R RRRRI(((s-/usr/local/lib/python2.7/test/test_inspect.pyRs cCs$gtj|D]}|d ^qS(Ni(Rtclassify_class_attrs(Rtt((s-/usr/local/lib/python2.7/test/test_inspect.pyt attrs_wo_objsstTestClassesAndFunctionscBsweZdZdZd d d d dZdZdZdZdZ dZ dZ d Z d Z RS( cCsdd dY}d|fdY}d|fdY}d||fdY}||||f}tj|}|j||dS( NtAcBseZRS((R R(((s-/usr/local/lib/python2.7/test/test_inspect.pyRstBcBseZRS((R R(((s-/usr/local/lib/python2.7/test/test_inspect.pyRsRMcBseZRS((R R(((s-/usr/local/lib/python2.7/test/test_inspect.pyRMstDcBseZRS((R R(((s-/usr/local/lib/python2.7/test/test_inspect.pyRs((RtgetmroR-(RRRRMRR/tgot((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_classic_mroscCsdtfdY}d|fdY}d|fdY}d||fdY}||||tf}tj|}|j||dS( NRcBseZRS((R R(((s-/usr/local/lib/python2.7/test/test_inspect.pyRsRcBseZRS((R R(((s-/usr/local/lib/python2.7/test/test_inspect.pyRsRMcBseZRS((R R(((s-/usr/local/lib/python2.7/test/test_inspect.pyRMsRcBseZRS((R R(((s-/usr/local/lib/python2.7/test/test_inspect.pyRs(RKRR R-(RRRRMRR/R ((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_newstyle_mrosc Cstj|\}}} } |j|||j|||j| ||j| ||dk r|jtj||| | |ndS(N(Rt getargspecR-RGt formatargspec( Rtroutinetargs_et varargs_etvarkw_et defaults_et formattedRgRvRwtdefaults((s-/usr/local/lib/python2.7/test/test_inspect.pytassertArgSpecEqualss cCsf|jtjddgdd|jtjddddd d gggd d d ddffddS(NR(RqRs(x, y)RNRORRzR{R|R}R~iiis,(a, b, c, d=3, (e, (f,))=(4, (5,)), *g, **h)(i(RR2RjRC(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_getargspecs  cCs0dtfdY}|j|jdgdS(NRcBseZdZRS(cSsdS(N((R((s-/usr/local/lib/python2.7/test/test_inspect.pyRs(R RR(((s-/usr/local/lib/python2.7/test/test_inspect.pyRsR(RKRR(RR((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_getargspec_methodscBs_edefdef>ddU|jedggddU|jedgWdQXdS(Ns*tuple parameter unpacking has been removeds(parenthesized argument names are invalids"def sublistOfOne((foo,)): return 1RZs%def fakeSublistOfOne((foo)): return 1(Rt SyntaxWarningRt sublistOfOnetfakeSublistOfOne(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_getargspec_sublistofones cCsV|rt}ndd dY}d|fdY}t|}|jdd|f|d|jdd |f|d |jd d |f|d |jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|dd|fdY}t|}|jdd|f|d|jdd |f|d |jd d |f|d |jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|dd|fdY}t|}|jdd|f|d|jdd|f|d|jd d |f|d |jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|dd||fdY}t|}|jdd|f|d|r|jdd|f|dn|jdd |f|d |jd d |f|d |jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|ddS(!s~Helper for testing that classify_class_attrs finds a bunch of different kinds of attributes on a given class. tbasecBseZRS((R R(((s-/usr/local/lib/python2.7/test/test_inspect.pyRsRcBsqeZdZeeZdZeeZdZeeZdZ dZ dZ e Z eZRS(cSsdS(N((((s-/usr/local/lib/python2.7/test/test_inspect.pytsscSsdS(N((R((s-/usr/local/lib/python2.7/test/test_inspect.pyRscSsdS(N((R((s-/usr/local/lib/python2.7/test/test_inspect.pytgetpscSsdS(N((R((s-/usr/local/lib/python2.7/test/test_inspect.pyRscSsdS(N((R((s-/usr/local/lib/python2.7/test/test_inspect.pytm1st1(R RRt staticmethodRt classmethodRtpropertyRrRR tdatablobRtddRtmd(((s-/usr/local/lib/python2.7/test/test_inspect.pyRs         Rs static methodsmissing static methodRs class methodsmissing class methodRrR$smissing propertyRtmethodsmissing plain methodR R%tdatas missing dataR'smissing method descriptorR&smissing data descriptorRcBseZdZRS(cSsdS(N((R((s-/usr/local/lib/python2.7/test/test_inspect.pyR/s(R RR(((s-/usr/local/lib/python2.7/test/test_inspect.pyR.sRMcBseZdZdZRS(cSsdS(N((R((s-/usr/local/lib/python2.7/test/test_inspect.pyR=scSsdS(N((R((s-/usr/local/lib/python2.7/test/test_inspect.pyR>s(R RRR(((s-/usr/local/lib/python2.7/test/test_inspect.pyRM<s RcBseZdZRS(cSsdS(N((R((s-/usr/local/lib/python2.7/test/test_inspect.pyR Ks(R RR (((s-/usr/local/lib/python2.7/test/test_inspect.pyRJsN((RKRRS(RRERRtattrsRRMR((s-/usr/local/lib/python2.7/test/test_inspect.pyt_classify_testsZ     cCs|jtdS(sclassify_class_attrs finds static methods, class methods, properties, normal methods, and data attributes on an old-style class. N(R+tFalse(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_classify_oldstyle[scCs|jtdS(sEJust like test_classify_oldstyle, but for a new-style class. N(R+R(R((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_classify_newstylecscCsIxBttD]4}tt|}t|tr tj|q q WdS(N(R,Rtgetattrt isinstanceR:RR(RRtbuiltin((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_classify_builtin_typeshscCsgdddY}|jd|jftj||jd|jftj|tj|}|jd|jftj||jd|jftj|tjdtfdY}|jd|jftj||jd|jftj|tj|}|jd|jftj||jd|jftj|tjdS(NRcBseZdZRS(cSsdS(N((R((s-/usr/local/lib/python2.7/test/test_inspect.pyR|ss(R RR|(((s-/usr/local/lib/python2.7/test/test_inspect.pyRrsR|cBseZdZRS(cSsdS(N((R((s-/usr/local/lib/python2.7/test/test_inspect.pyR|s(R RR|(((s-/usr/local/lib/python2.7/test/test_inspect.pyRs((RSR|RRRRRK(RRRO((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_getmembers_methodps"( "("( "N(R RR R RGRRRRR+R-R.R2R3(((s-/usr/local/lib/python2.7/test/test_inspect.pyRs    T   tTestGetcallargsFunctionscBszeZejdjZd dZd dZdZ dZ dZ dZ dZ dZd Zd ZRS( s^\.\d+$cCsXt|p id|}td|d|}td|d|}|j||dS(Ntfuncsfunc(%s)sinspect.getcallargs(func, %s)(RQR RGR-(RR5tcall_params_stringtlocstr1tr2((s-/usr/local/lib/python2.7/test/test_inspect.pytassertEqualCallArgss   cCst|p id|}ytd|d|Wntk rE}nX|jdytd|d|Wntk r}nX|jd|jt|t||jt|t|dS(NR5sfunc(%s)sException not raisedsinspect.getcallargs(func, %s)( RQR RGt ExceptiontfailtassertIsR:R-R(RR5tcall_param_stringR7tex1tex2((s-/usr/local/lib/python2.7/test/test_inspect.pytassertEqualExceptions    c CsDtdtfdt&d}t||i|jd6SWdQXdS(s}Create a function that returns its locals(), excluding the autogenerated '.1', '.2', etc. tuple param names (if any).s*tuple parameter unpacking has been removedRsFlambda %s: dict(i for i in locals().items() if not is_tuplename(i[0]))t is_tuplenameN(RRRR RB(Rt signaturetcode((s-/usr/local/lib/python2.7/test/test_inspect.pyt makeCallables   cCss|jd}|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d |j|d |j|d |j|d |j|d |j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|ddS(Nsa, b=1t2s2, 3sa=2sb=3, a=2s2, b=3s*(2,)s*[2]s*(2, 3)s*[2, 3]s **{"a":2}sb=3, **{"a":2}s 2, **{"b":3}s**{"b":3, "a":2}s*UserList([2])s*UserList([2, 3])s**UserDict(a=2)s2, **UserDict(b=3)sb=2, **UserDict(a=3)s **{u"a":2}sb=3, **{u"a":2}s 2, **{u"b":3}s**{u"b":3, u"a":2}(RER:(RR|((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_plains.cCss|jd}|j|d|j|d|j|d|j|d|j|d|j|ddS(Ns a, b=1, *cRFs2, 3s2, 3, 4s*(2,3,4)s 2, *[3,4]s2, 3, *UserList([4])(RER:(RR|((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_varargsscCs|jd}|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d |j|d |j|d |j|d |j|d dS(Ns a, b=1, **csa=2s 2, b=3, c=4s b=3, a=2, c=4sc=4, **{"a":2, "b":3}s2, c=4, **{"b":3}sb=2, **{"a":3, "c":4}s**UserDict(a=2, b=3, c=4)s2, c=4, **UserDict(b=3)sb=2, **UserDict(a=3, c=4)sc=4, **{u"a":2, u"b":3}s2, c=4, **{u"b":3}sb=2, **{u"a":3, u"c":4}(RER:(RR|((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_varkwscCss|jd}|j|d|j|d|j|d|j|d|j|d|j|ddS(Ns**cRsa=1sa=1, b=2sc=3, **{"a": 1, "b": 2}s**UserDict(a=1, b=2)sc=3, **UserDict(a=1, b=2)(RER:(RR|((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_varkw_onlyscCss|jd}|j|d|j|d|j|d|j|d|j|d|j|ddS(Ns(b,c), (d,(e,f))=(0,[1,2])s(2,3)s[2,3]sUserList([2,3])s(2,3), (4,(5,6))s(2,3), (4,[5,6])s(2,3), [4,UserList([5,6])](RER:(RR|((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_tupleargsscCs|jd}|j|d|j|d|j|d|j|d|j|d|j|d|j|ddS( Ns$a, b=2, (c,(d,e))=(3,[4,5]), *f, **gs2, 3, (4,[5,6]), 7s2, 3, *[(4,[5,6]), 7], x=8s2, 3, x=8, *[(4,[5,6]), 7]s2, x=8, *[3, (4,[5,6]), 7], y=9sx=8, *[2, 3, (4,[5,6])], y=9s4x=8, *UserList([2, 3, (4,[5,6])]), **{"y":9, "z":10}s82, x=8, *UserList([3, (4,[5,6])]), **UserDict(y=9, z=10)(RER:(RR|((s-/usr/local/lib/python2.7/test/test_inspect.pyttest_multiple_featuresscCs|jd}|jd}|jd}|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|dx||fD]}|j|d |j|d |j|d |j|d |j|d |j|d|j|d|j|d|j|d|j|d|j|d|j|dqW|jd}|j|d|j|d|j|d|jd}|j|d|j|ddS(NRsa, bsa, b=1R!sx=1s1,x=1sa=2sb=3s2, 3, 4s 1, 2, 3, a=1s 2, 3, 4, c=5s2, 3, 4, a=1, c=5sc=2s2, c=3s 2, 3, c=4s 2, c=4, b=3s**{u"\u03c0\u03b9": 4}s1, a=2s 1, **{"a":2}s 1, 2, b=3s (a,b)=(0,1)s[1]s(1,2,3)s**cs1, 2s1, 2, a=1, b=2(RERA(Rtf0tf1tf2R|tf3((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_errorss@N(R RtreRtmatchRBRGR:RARERGRHRIRJRKRLRQ(((s-/usr/local/lib/python2.7/test/test_inspect.pyR4s     tTestGetcallargsMethodscBseZdZdZRS(cCs/dtfdY}||_||_dS(NtFoocBseZRS((R R(((s-/usr/local/lib/python2.7/test/test_inspect.pyRU6s(RKRtinst(RRU((s-/usr/local/lib/python2.7/test/test_inspect.pytsetUp5s cCs2tt|j}|d||j_|jjS(Nsself, (tsuperRTRERR(RV(RRCtmk((s-/usr/local/lib/python2.7/test/test_inspect.pyRE;s(R RRWRE(((s-/usr/local/lib/python2.7/test/test_inspect.pyRT3s tTestGetcallargsUnboundMethodscBs5eZdZddZddZddZRS(cCs tt|j||jjS(N(RXRZRERR((RRC((s-/usr/local/lib/python2.7/test/test_inspect.pyRECscCs%tt|j|j|||S(N(RXRZR:t_getAssertEqualParams(RR5R6R7((s-/usr/local/lib/python2.7/test/test_inspect.pyR:GscCs%tt|j|j|||S(N(RXRZRAR[(RR5R6R7((s-/usr/local/lib/python2.7/test/test_inspect.pyRAKscCs,t|p id|j}|d||fS(NRVsinst,(RQRV(RR5R6R7((s-/usr/local/lib/python2.7/test/test_inspect.pyR[OsN(R RRERGR:RAR[(((s-/usr/local/lib/python2.7/test/test_inspect.pyRZAs   c Cs)tttttttttt t dS(N( RRRRRRaRR%R4RTRZ(((s-/usr/local/lib/python2.7/test/test_inspect.pyt test_mainTs   t__main__(RR(0RRRR8RbRRR>RRttest.test_supportRRRRttestRR2RRRRRmtendswithRt exc_tracebackR3RReRcR R$R%RaRRRRRRKRRRRR4RTRZR\R (((s-/usr/local/lib/python2.7/test/test_inspect.pytsV                T/t *0