mς 'αΈEc@sψdkZdkZdkZedjoeiiddƒndklZdkZdk Z dk Z dk l Z dk l Z lZdklZlZdklZlZd klZd klZd klZd klZlZlZlZd k l Z dk!l"Z"l#Z#l$Z$l%Z%dkZdk&Z&dk'Z'dk(l)Z)dk*l+Z+dk,l-Z-dk.l/Z/dk0l1Z1dkZdkZdk2Z2ei3dƒdk4l5Z5dkZ6dk7Z6e5e6i8i8_e5e6i8i_dZ9dZ:dZ;dZ<hZ=d„Z>d„Z?d„Z@de iAfd„ƒYZBd„ZCd e"fd!„ƒYZDd"„ZEd#e&iFfd$„ƒYZGd%eGfd&„ƒYZHd'eGfd(„ƒYZId)eGfd*„ƒYZJd+„ZKedjo)e$d,d-d.d-ƒZLeLiMeKƒƒndS(/Nt__main__is../../..(s makerequest(saq_base(sBrowserIdManagersgetNewBrowserId(sSessionDataManagersSessionDataManagerErr(sTransientObjectContainersTransientObject(sMountedTemporaryFolder(sLowConflictConnection(s Connection(sInvalidObjectReferences ConflictErrorsReadConflictErrorsBTreesConflictError(sDateTime(sTestCases TestSuitesTextTestRunners makeSuite(sUnpickleableError(s DemoStorage(sTemporaryStorage(s Application(sFolderiΘ(sfauxtimet temp_foldertbrowser_id_managerttemp_transient_containertsession_data_managercCsdtiƒd S(s@Return a simple time string without spaces suitable for logging.s#%4.4d-%2.2d-%2.2dT%2.2d:%2.2d:%2.2diN(ttimet localtime(((tR/data/zmath/zope/lib/python/Products/Sessions/stresstests/stresstestMultiThread.pytlog_time<scCs‰tidƒ}|potƒ}ti|ƒ}|iƒ}|i ƒ}t ƒ}||dR;R RNRFRDR<R@R?((RR6{sV          (RRR7R9R6(((RR2rs  cCs6d}x)|D]!}|iƒp|d7}q q W|S(Nii(RDtthreadsRFt isFinished(RPRDRF((RRO‘s  tBaseReaderWritercBs&tZdd„Zd„Zd„ZRS(NcCsA||_t|_d|_||_||_tii|ƒdS(Ni( titersR5R.tfinishedR R4RLtThreadt__init__(R5R RSR4((RRV©s      cCsvd}z6x/|iiƒ|_|iiƒd|_ti|iƒ|_|idjo t ƒ}n|i}||ii _ y|i ƒdSWnhtj o dGnStj o dGn=tj o dGn'tiƒtƒGHtiƒ‚nX|d}tiƒ|iiƒtitidƒdƒq WWdtiƒ|iiƒ|`d|_d |iGHXdS( NiiR tRtBtWi f0.10000000000000001s %s finished(RDR5R RRRRt makerequestR4R8R3tREQUESTt browser_id_trun1tReadConflictErrortBTreesConflictErrort ConflictErrorRRRt tracebackt print_excRRRKtrandomt randrangeRTt __class__(R5RDR4((Rtrun±sF        #   cCs|iS(N(R5RT(R5((RRQΩs(RRR8RVRfRQ(((RRR¨s  (REcBstZd„ZRS(NcCs—t|i|iƒ}|iddƒ}tiƒ}d||