bg< dZddlZddlZddlZddlmZddlmZej drGddeZ Gdd eZ ej ed Gd d eZ d ZedD]8ZdeezZee eedeezZee ee9edkrejdSdSdS)z>Shall provide tests to check performance overhead of pyfakefs.N)TestCase)IS_PYPYTEST_PERFORMANCEcFeZdZeddZeddZddZdS)SetupPerformanceTestreturnNc6tj|_dSNtime start_timeclss p/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pyfakefs/tests/performance_test.py setUpClasszSetupPerformanceTest.setUpClass!Y[[CNNNctj|jz |_td|jdzdS)Nz1Elapsed time per test for cached setup: {:.3f} ms r r elapsed_timeprintformatrs r tearDownClassz"SetupPerformanceTest.tearDownClasssQ#y{{S^;C  CJJ$r)     rc.|dSr  setUpPyfakefsselfs rsetUpzSetupPerformanceTest.setUp$s    rrN__name__ __module__ __qualname__ classmethodrrr rrrrsf  ) ) )  )       ! ! ! ! ! !rrcFeZdZeddZeddZddZdS)SetupNoCachePerformanceTestrNc6tj|_dSr r rs rrz&SetupNoCachePerformanceTest.setUpClass(rrctj|jz |_td|jdzdS)Nz3Elapsed time per test for uncached setup: {:.3f} msrrrs rrz)SetupNoCachePerformanceTest.tearDownClass,sQ#y{{S^;C  ELL$r)     rc2|ddS)NF) use_cacherrs rr z!SetupNoCachePerformanceTest.setUp5s     / / / / /rr!r"r'rrr)r)'sf  ) ) )  )       0 0 0 0 0 0rr)zPyPy times are not comparableceZdZdZdZdZdS)TimePerformanceTestzMake sure performance degradation in setup is noticed. The numbers are related to the CI builds and may fail in local builds. cF|tjddS)Ng?) assertLessrrrs rtest_cached_timez$TimePerformanceTest.test_cached_time>s OO0=s C C C C CrcF|tjddS)N)r1r)rrs rtest_uncached_timez&TimePerformanceTest.test_uncached_timeAs OO7Da H H H H HrN)r#r$r%__doc__r2r5r'rrr/r/8sD   D D D I I I I Irr/cdSr r'rs r test_setupr8Ds rdtest_ test_nocache__main__)r6osr unittest!pyfakefs.fake_filesystem_unittestrpyfakefs.helpersrenvirongetrr)skipIfr/r8rangenstr test_namesetattrr#mainr'rrrJsED 666666$$$$$$:>>$%%:!!!!!x!!!"00000h000"X_W=>> I I I I Ih I I?> I   U3ZZDDcc!ff$ $i<<<"SSVV+ +Y CCCC: u::rr