a  zeN@sddlZddlZddlZddlZddlZddlZddlmZddlZ ddl m Z ddl m Z mZmZmZmZddlmZGdddeZGdd d eZGd d d ZGd d d eZddZddZddZdS)N)deepcopy)log)DEBUGINFOWARNERRORFATAL) Distributioncs@eZdZfddZfddZddZddZd d ZZS) LoggingSilencercs6tttj|_tjj|_|jtj_g|_ dSN) supersetUpr set_thresholdr thresholdLog_log_old_loglogsself __class__K/opt/bitninja-python-dojo/embedded/lib/python3.9/distutils/tests/support.pyr s    zLoggingSilencer.setUpcs$t|j|jtj_tdSr )rrrrrrr tearDownrrrrrs  zLoggingSilencer.tearDowncCsT|tttttfvr"tdt|t|ts>tdt |j |j |||fdS)Nz%s wrong log levelzmsg should be str, not '%.200s') rrrrr ValueErrorstr isinstance TypeErrortype__name__rappend)rlevelmsgargsrrrr!s zLoggingSilencer._logcsfdd|jDS)Ncs"g|]\}}}|vr||qSrr).0r"r#r$levelsrr *sz,LoggingSilencer.get_logs..r)rr'rr&rget_logs)s zLoggingSilencer.get_logscCs g|_dSr r)rrrr clear_logs-szLoggingSilencer.clear_logs) r __module__ __qualname__r rrr*r+ __classcell__rrrrr s  r csDeZdZfddZfddZddZd dd Zdd d ZZS)TempdirManagercstt|_g|_dSr )r r osgetcwdold_cwdtempdirsrrrrr 7s  zTempdirManager.setUpcs8t|jt|jr4|j}tj |qdSr ) r0chdirr2r rr3poptestsupportrmtree)rZtmpdirrrrr<s    zTempdirManager.tearDowncCst}|j||Sr )tempfilemkdtempr3r!)rdrrrr:Es zTempdirManager.mkdtempxxxcCsJt|ttfrtjj|}t|d}z||W|n |0dS)Nw) rlisttupler0pathjoinopenwriteclose)rr@Zcontentfrrr write_fileNs    zTempdirManager.write_filefoocKs2|}tj||}t|t|d}||fS)N)attrs)r:r0r@rAmkdirr )rZpkg_namekwZtmp_dirZpkg_dirdistrrr create_dist\s   zTempdirManager.create_dist)r<)rG) r r,r-r rr:rFrLr.rrrrr/1s    r/c@seZdZddZddZdS) DummyCommandcKs"|D]\}}t|||qdSr )itemssetattr)rkwargsrJvalrrr__init__qszDummyCommand.__init__cCsdSr rrrrrensure_finalizeduszDummyCommand.ensure_finalizedN)r r,r-rRrSrrrrrMnsrMcs(eZdZfddZfddZZS) EnvironGuardcstt|ttj|_dSr )r rTr rr0environ old_environrrrrr {szEnvironGuard.setUpcsf|jD]"\}}tj||kr |tj|<q ttjD]}||jvrcannot find xxmodule.c (test must run in the python build dir))_get_xxmodule_pathunittestZSkipTestshutilcopy)Z directoryfilenamerrrcopy_xxmodule_cs  r`c Csftd}tjtjtdtj|ddtj|dddddg}|D]}tj|rH|SqHdS)Nsrcdirz xxmodule.cZModulesz..) sysconfigget_config_varr0r@rAdirname__file__exists)raZ candidatesr@rrrr[s   r[cCs~tjdkrtjd|_n`tdrztd}|dur@dg|_n:tj dkrRg|_n(| d\}}}dd | tj D|_dS) Nntz_d.exeZPy_ENABLE_SHAREDZ RUNSHARED.darwin=cSsg|] }|r|qSrr)r%r;rrrr(z#fixup_build_ext..) r0namesys executableendswithdebugrbrcZ library_dirsplatform partitionsplitpathsep)cmdZ runsharedrlZequalsrZrrrfixup_build_exts     rv)r0rmr]r9r\rbr^rZ test.supportr6Z distutilsrZ distutils.logrrrrrZdistutils.corer objectr r/rMrTr`r[rvrrrrs"   !=