&&-Ż d Z ddlZddlZddlZddlmZ ddlmZ ej d r G d de Z G d d e Z ej ed G d de Z d Z ed D ]8Zd ee z Z ee ee d ee z Z eeee 9edk r ej dS dS dS )z>Shall provide tests to check performance overhead of pyfakefs. N)TestCase)IS_PYPYTEST_PERFORMANCEc F e Zd Zedd Zedd ZddZdS )SetupPerformanceTestreturnNc 6 t j | _ d S Ntime start_timeclss q/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/pyfakefs/tests/performance_test.py setUpClasszSetupPerformanceTest.setUpClass !Y[[CNNN c t j | j z | _ t d | j dz d S )Nz1Elapsed time per test for cached setup: {:.3f} ms r r elapsed_timeprintformatr s r tearDownClassz"SetupPerformanceTest.tearDownClass sQ #y{{S^;CCJJ$r) r c . | d S r setUpPyfakefsselfs r setUpzSetupPerformanceTest.setUp% s r r N__name__ __module____qualname__classmethodr r r r r r r sf ) ) ) ) ! ! ! ! ! !r r c F e Zd Zedd Zedd ZddZdS )SetupNoCachePerformanceTestr Nc 6 t j | _ d S r r r s r r z&SetupNoCachePerformanceTest.setUpClass) r r c t j | j z | _ t d | j dz d S )Nz3Elapsed time per test for uncached setup: {:.3f} msr r r s r r z)SetupNoCachePerformanceTest.tearDownClass- sQ #y{{S^;CELL$r) r c 2 | d d S )NF) use_cacher r s r r z!SetupNoCachePerformanceTest.setUp6 s /////r r! r" r' r r r) r) ( sf ) ) ) ) 0 0 0 0 0 0r r) zPyPy times are not comparablec e Zd ZdZd Zd ZdS )TimePerformanceTestzMake sure performance degradation in setup is noticed. The numbers are related to the CI builds and may fail in local builds. c F | t j d d S )Ng ףp= ?) assertLessr r r s r test_cached_timez$TimePerformanceTest.test_cached_time? s OO0=tDDDDDr c F | t j d d S )N )r1 r) r r s r test_uncached_timez&TimePerformanceTest.test_uncached_timeB