选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
ó ×Äabc@`s0dZddlmZmZmZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl m Z ddlmZe jddkr¼ddlmZneZeZeZdejjfd „ƒYZd$Zd%d&d'd(fZgeD]=\ZZee j kr edƒeeƒeeƒf^q Z!geD]Z"ee"ƒ^qSe!Z!ej#edƒedƒj$e!ƒƒZ%[[[!ej#dƒZ&d„Z'de(fd„ƒYZ)e j*d„ƒZ+e j*d„ƒZ,d„Z-d„Z.d „Z/d!„Z0d"e(fd#„ƒYZ1dS()s' report test results in JUnit-XML format, for use with Jenkins and build integration servers. Based on initial code from Ross Lawley. Output conforms to https://github.com/jenkinsci/xunit-plugin/blob/master/ src/main/resources/org/jenkinsci/plugins/xunit/types/model/xsd/junit-10.xsd i(tabsolute_importtdivisiontprint_functionN(tnodes(t filename_argi(topentJunitcB`seZRS((t__name__t __module__(((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pyR si i i i i~i€iÿ×iàiýÿiiÿÿs%s-%ss[^%s]ts\.py$cC`s1d„}tjjtj|tjj|ƒƒƒS(NcS`s>t|jƒƒ}|dkr,tdƒ|Stdƒ|SdS(Niÿs#x%02Xs#x%04X(tordtgrouptunicode(tmatchobjti((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytrepl;s (tpytxmltrawtillegal_xml_retsubtescape(targR((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytbin_xml_escape:s t _NodeReportercB`s›eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„ZRS(cC`sR||_||_|jj|_d|_g|_g|_d|_i|_dS(Ni( tidRt add_statstdurationt propertiesRtNonettestcasetattrs(tselftnodeidR((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pyt__init__Fs      cC`s-|jjt|ƒjƒ|jj|ƒdS(N(RRttypeRRtappend(R tnode((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pyR$QscC`s&|jjt|ƒt|ƒfƒdS(N(RR$tstrR(R tnametvalue((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pyt add_propertyUscC`st|ƒ|jt|ƒÃR (R@R t__dict__tclear(R ((RCs4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytfinalizeÀs N(RRR"R$R)R*R,R>R@RRDRMRORWRYRZR^RcRh(((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pyREs              cC`sg|jjddddƒt|jddƒ}|dk rV|j|jjƒ}|jSd„}|SdS(s¢Add extra xml properties to the tag for the calling test. The fixture is callable with ``(name, value)``, with value being automatically xml-encoded. tcodetC3RAs.record_xml_property is an experimental featuret_xmlcS`sdS(N((R'R(((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytadd_property_noopÕsN(R%twarnRHtconfigRt node_reporterR!R)(trequestRRoRl((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytrecord_xml_propertyÆs   cC`sg|jjddddƒt|jddƒ}|dk rV|j|jjƒ}|jSd„}|SdS(s¡Add extra xml attributes to the tag for the calling test. The fixture is callable with ``(name, value)``, with value being automatically xml-encoded RiRjRAs/record_xml_attribute is an experimental featureRkcS`sdS(N((R'R(((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pyt add_attr_noopêsN(R%RmRHRnRRoR!R*(RpRRoRr((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytrecord_xml_attributeÛs   cC`s”|jdƒ}|jdddddddd d tjtd dƒd dd dƒ|jddddddd dd dƒ|jddd dƒdS(Nsterminal reportings --junitxmls --junit-xmltactiontstoretdesttxmlpathtmetavartpathR#toptnametdefaultthelps1create junit-xml style report file at given path.s --junitprefixs--junit-prefixR&s0prepend prefix to classnames in junit-xml outputtjunit_suite_names Test suite name for JUnit reporttpytest(tgetgroupt addoptiont functoolstpartialRRtaddini(tparserR ((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytpytest_addoptionðs   cC`s`|jj}|r\t|dƒ r\t||jj|jdƒƒ|_|jj|jƒndS(Nt slaveinputR}( toptionRwR8tLogXMLt junitprefixtgetiniRkt pluginmanagertregister(RnRw((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytpytest_configures $cC`s5t|ddƒ}|r1|`|jj|ƒndS(NRk(RHRRkR‹t unregister(RnR((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytpytest_unconfigure scC`s›|jdƒ\}}}|jdƒ}y|jdƒWntk rKnX|djtjdƒ|d(R RIR¬((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pyt _opentestcaseRs c`sód}ˆjr@ˆjdkrB|jˆƒ}|jˆƒqBnˆjrˆjdkrÌtˆddƒ‰tˆddƒ‰t‡‡‡fd†|jDƒdƒ}|rÌ|j |ƒ|j d7_ qÌn|jˆƒ}ˆjdkr |j ˆƒ|jj ˆƒqB|j ˆƒn(ˆjrB|jˆƒ}|jˆƒn|jˆƒˆjdkrï|jˆƒ}|jˆƒ|j ˆƒtˆddƒ‰tˆddƒ‰t‡‡‡fd†|jDƒdƒ}|rï|jj|ƒqïndS( shandle a setup/call/teardown report, generating the appropriate xml tags as necessary. note: due to plugins like xdist, this hook may be called in interlaced order with reports from other nodes. for example: usual call order: -> setup node1 -> call node1 -> teardown node1 -> setup node2 -> call node2 -> teardown node2 possible call order in xdist: -> setup node1 -> call node1 -> setup node2 -> call node2 -> teardown node2 -> teardown node1 tcallR\t worker_idt item_indexc3`sW|]M}|jˆjkrt|ddƒˆkrt|ddƒˆkr|VqdS(R±R°N(R!RHR(t.0trep(RIt report_iit report_wid(s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pys ysic3`sW|]M}|jˆjkrt|ddƒˆkrt|ddƒˆkr|VqdS(R±R°N(R!RHR(R²R³(RIR´Rµ(s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pys –sN(RRNR[R®ROtfailedRHtnextR¨RhR©RWR$R^RRRctupdate_testcase_durationRMR“(R RIt close_reportR¬((RIR´Rµs4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytpytest_runtest_logreportWsF          cC`s.|j|ƒ}|jt|ddƒ7_dS(sŽaccumulates total duration for nodeid from given report and updates the Junit.testcase with the new total if already created. RgN(RoRRH(R RIR¬((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pyR¸ŸscC`sE|jsA|j|ƒ}|jr1|j|ƒqA|j|ƒndS(N(RNR®R¶RYRZ(R RIR¬((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytpytest_collectreport¦s   cC`sB|jdƒ}|jjddddƒ|jtjd|ƒdS(NtinternalR.R~R'sinternal error(RoRR9RDRRX(R texcreprR¬((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytpytest_internalerror®scC`stjƒ|_dS(N(R?tsuite_start_time(R ((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytpytest_sessionstart³scC`sKtjjtjj|jƒƒ}tjj|ƒsCtj|ƒnt|jdddƒ}tjƒ}||j }|j d|j d|j d|j d|j }|j dƒ|j t j|jƒg|jD]}|jƒ^qÕd |jd |j dd |j dd |j dd |dd|ƒjddƒƒ|jƒdS(Ntwtencodingsutf-8RNRURRRXs&R'terrorstfailurestskipsttestsR?s%.3fRdi(R›RytdirnameRŸR tisdirtmakedirsRR?R¿R¤R©twriteRt testsuitet_get_global_properties_nodeR¦R@R¡R tclose(R RÇR tsuite_stop_timetsuite_time_deltatnumteststx((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytpytest_sessionfinish¶s&!  +    "    cC`s|jdd|jƒdS(Nt-sgenerated xml file: %s(t write_sepR (R tterminalreporter((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytpytest_terminal_summaryÎs cC`s&|jjt|ƒt|ƒfƒdS(N(R§R$R&R(R R'R(((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pytadd_global_propertyÒscC`sH|jrDtjg|jD]$\}}tjd|d|ƒ^qƒSdS(sBReturn a Junit node containing custom properties, if any. R'R(R (R§RRR+(R R'R(((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pyRÌÕs  2(RRR"RhRoRR®RºR¸R»R¾RÀRÒRÖR×RÌ(((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pyRˆ!s      H       (i i i (i i~(i€iÿ×(iàiýÿ(iiÿÿ(2t__doc__t __future__RRRR�RR›tretsysR?R~t_pytestRt_pytest.configRt version_infotcodecsRtchrtunichrR&R tinttlongRt NamespaceRt _legal_charst _legal_rangestlowthight maxunicodet _legal_xml_reRÑtcompileR6RR—RtobjectRtfixtureRqRsR…R�R�R3Rˆ(((s4/usr/lib/python2.7/site-packages/_pytest/junitxml.pyt sF        G#( �