ɺh?dZddlZddlZddlZddlZGddejZGddeZe edr dZ ej Z dSd Z d Z dS) a[A subclass of unittest.TestCase which checks for reference leaks. To use: - Use testing_refleak.BaseTestCase instead of unittest.TestCase - Configure and compile Python with --with-pydebug If sys.gettotalrefcount() is not available (because Python was built without the Py_DEBUG option), then this module is a no-op and tests will run normally. Nc*eZdZdZdZdZdZdZdS)LocalTestResultzHA TestResult which forwards events to a parent object, except for Skips.cRtj|||_dSN)unittest TestResult__init__ parent_result)selfr s /builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib64/python3.11/site-packages/google/protobuf/internal/testing_refleaks.pyr zLocalTestResult.__init__2s'   &&&&Dc<|j||dSr)r addErrorr testerrors r rzLocalTestResult.addError6s!e,,,,,r c<|j||dSr)r addFailurers r rzLocalTestResult.addFailure9s!!!$.....r cdSr)r rreasons r addSkipzLocalTestResult.addSkip<sDr N)__name__ __module__ __qualname____doc__r rrrrr r rr/sVPP'''---///     r rc.eZdZdZdZdfd ZdZxZS)ReferenceLeakCheckerMixinz:A mixin class for TestCase, which checks reference counts.Nct||j}t|dd}t|dd}|s|rdStj|_t t||t t||d}t|}d}g}t||j kr| }t t||| } | |kr |dkr|dz }{d}| | |z t||j kt|| ||dg|j zdS#t $r+||t%jYdSwxYw)N__unittest_expecting_failure__F)resultr)getattr_testMethodNamecopyregdispatch_tablecopy_saved_pickle_registrysuperrrunrlenNB_RUNS _getRefcountsappendprint assertEqual Exceptionrsysexc_info) r r" testMethodexpecting_failure_methodexpecting_failure_class oldrefcount local_result num_flakesrefcount_deltas newrefcount __class__s r r,zReferenceLeakCheckerMixin.runEst344J&z3SUZ[[%d,LeTT ":  f #*"8"="="?"?D #T**..f.=== #T**..f.===K"6**LJO o   - -&&((k %t,,00 0EEE&&((k { " "zA~~ a j[;6777 o   - - /4   , dl(:;;;;; ,,, oodCLNN++++++,sF((1GGctjtj|jt jt jt jtjSr) r'r(clearupdater*gccollectr4gettotalrefcount)r s r r/z'ReferenceLeakCheckerMixin._getRefcountspsc   """ !!$"=>>>JLLLJLLLJLLL   ! !!r r)rrrrr.r,r/ __classcell__)r>s@r rr@sXBB '),),),),),),V"""""""r rrDctf|jz}t||j|t |j}|Sr)r __bases__typerdict__dict__) test_class new_bases new_classs r TestCaserN}sH*,z/CCI Z  YZ-@(A(ACCI r c|Srr)rKs r rNrNs r c~d}|S)Nc|Srr)funcs r Samez&SkipReferenceLeakChecker..Sames kr r)rrSs r SkipReferenceLeakCheckerrTs Kr ) rr'rBr4rrrobjectrhasattrrNskiprTrr r rXs>      h)   "8"8"8"8"8"8"8"8"v 73"## &] r