\bg vddlZddlZddlZddlZddlZddlZddlZddlmZej dfdZ ej dZ ej dZ ej dZ ej dZej d Zd Zej d Zej d Zej d ZdS)N)FileLockcdSN)dirs j/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/setuptools/tests/contexts.pyr s4c+Ktjdi|}tj} |||V||t j|dS#||t j|wxYw)Nr)tempfilemkdtemposgetcwdshutilrmtree)cdkwargstemp_dirorig_dirs rtempdirr s))&))Hy{{H  8  8  h 8  hs A!A9c+hKtd|D}d|D}t|D]7}tj|d||8tj| |V|D]"}tj|d#tj|dS#|D]"}tj|d#tj|wxYw)zj In a context, patch the environment with replacements. Pass None values to clear the values. c3ZK|]&}|tjv|tj|fV'dSr)renviron).0keys r zenvironment..s9UUC3"*CTCT#rz#'CTCTCTCTUUr c3$K|] \}}||V dSrr)rrvalues rrzenvironment..!s& L LlsEemcmmmm L Lr N)dictitemslistrrpopupdate) replacementssavedremovers r environmentr's7 UU<UUU U UEM Ll&8&8&:&: L L LFF|| sD!!!Jl###!  & &C JNN3 % % % % %       & &C JNN3 % % % % %    s !C++AD1c#Ktj}tj}tjx}t_tjx}t_ ||fV|d|d|t_|t_dS#|d|d|t_|t_wxYw)zk Redirect stdout/stderr to StringIO objects to prevent console output from distutils commands. rN)sysstdoutstderrioStringIOseek) old_stdout old_stderr new_stdout new_stderrs rquietr30sJJ kmm+J kmm+J *$$$$     s B$$AC(c#fKtj} |V|t_dS#|t_wxYwr)siteENABLE_USER_SITE)r%s rsave_user_site_settingr7Ds>  !E& %%%%%s"0c#Kddl}|}tjdd} ||fV|tjdd<||dS#|tjdd<||wxYw)Nr) pkg_resources __getstate__r)path __setstate__)r9pr_statesys_paths rsave_pkg_resources_stater?Ms))++Hx{H-     ""8,,,,, ""8,,,,s A(Bc',K dVdS#|$rYdSwxYwrr)excss rsuppress_exceptionsrB[s:        s  c^ |d}n#t$rYdSwxYw|dkS)zO Return True if running under xdist and multiple workers are used. worker_idFmaster)getfixturevalue Exception)requestrDs r multiprocrIcsI ++K88 uu   s  &&c#K|}t|r|jn|}||z }t|d5|dd|VddddS#1swxYwYdS)zCUses a file lock to guarantee only one worker can access a temp dirz.lockT)exist_okparentsN) getbasetemprIparentr with_suffixmkdir)rHtmp_path_factorynamebase shared_dir locked_dirs rsession_locked_tmp_dirrVos  ' ' ) )D )' 2 2<Jd"J *((11 2 2$555sA??BBc#$Ktjddtjddtjddf} dV|\t_t_t_dS#|\t_t_t_wxYw)zNMake sure ``sys.path``, ``sys.meta_path`` and ``sys.path_hooks`` are preservedN)r)r; meta_path path_hooks)prevs r save_pathsr[}sv 8AAA; aaa(#.*; ;D7 26/#-$/#-6666s A))&Bc#Ktj} tjt_dV|t_dS#|t_wxYw)z.Make sure initial ``sys.modules`` is preservedN)r)modulescopy) prev_moduless rsave_sys_modulesr`sP;L#k&&((  " l """"s ,A A) contextlibr,rrr5r)r filelockrcontextmanagerrr'r3r7r?rBrIrVr[r`rr rrds       !!!.    & &&&  - - -     ! ! !     777 #####r