a  ze@sdZddlZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z Gdd d e je jejZd d Zed kre edS) z%Tests for distutils.command.build_py.N)build_py) Distribution)DistutilsFileError)support) run_unittestc@sXeZdZddZddZeejdddZ eejddd Z d d Z d d Z dS)BuildPyTestCasec Cs|}ttj|dd}z|dW|n |0ttj|dd}z|dW|n |0|}tdgd|id}tj|d|_t j d |d |j d <dg|_ ddgi|_ d|i|_t|}d |_|||j |j ||t|d tj|d}t|}tj|d}|d||d|tjrn|tj|nt|} |dtjj| dS)N __init__.pywz# Pretend this is a package.z README.txtzInfo about this packagepkg)packages package_dirsetup.pyr)force build_libbuild __pycache__z__init__.%s.pyc)mkdtempopenospathjoinwritecloser script_namerZ DummyCommandZ command_objr package_datar rcompileZensure_finalized assertEqualrunlenZ get_outputslistdirassertInsysdont_write_bytecodeZ assertFalseexistsimplementation cache_tag) selfsourcesfZ destinationdistcmdZpkgdestfilesZ pycache_dirZ pyc_filesr.Q/opt/bitninja-python-dojo/embedded/lib/python3.9/distutils/tests/test_build_py.pytest_package_datasL         z!BuildPyTestCase.test_package_datacCs|}ttj|ddtj|d}t|ttj|ddt|tdgddiddgid}tj|d |_ d g|_ | z | Wnt y|d Yn0dS) Nrr doctestfiler doc/*)r r rr rz/failed package_data test when package_dir is '')rrrrrrmkdirchdirrr script_argsparse_command_line run_commandsrfail)r(r)Ztestdirr+r.r.r/test_empty_package_dirDs"    z&BuildPyTestCase.test_empty_package_dirzbyte-compile disabledcCs|jdgd\}}t||ddt|}d|_d|_||t |j}| t |ddgt tj |jd}| |dtjjgdS) N boiledeggsZ py_modules boiledeggs.pyimport antigravityrhererzboiledeggs.%s.pyc) create_distrr6 write_filerrrfinalize_optionsrr!rsortedrrr#r&r')r( project_dirr+r,foundr.r.r/test_byte_compile[s    z!BuildPyTestCase.test_byte_compilecCs|jdgd\}}t||ddt|}d|_d|_d|_|| t |j}| t |ddgt tj |jd}d tjj}| t ||gdS) Nr<r=r>r?rrr@rzboiledeggs.{}.opt-1.pyc)rArr6rBrroptimizerrCrr!rrDrrformatr#r&r')r(rEr+r,rFexpectr.r.r/test_byte_compile_optimizedls   z+BuildPyTestCase.test_byte_compile_optimizedcCs|}tj|d}t|ttj|ddtj|d}t|ttj|ddttj|dt|tdgddgid}tj|d |_ d g|_ | z | Wnt y|d Yn0d S) zR A directory in package_data should not be added to the filelist. r rr r1r2Zotherdirr4)r rr rz0failed package_data when data dir includes a dirN)rrrrr5rrr6rrr7r8r9rr:)r(r)Zpkg_dirZdocdirr+r.r.r/test_dir_in_package_data~s&     z(BuildPyTestCase.test_dir_in_package_datacCsr|d}t|}d|_d|_tj}dt_z|gW|t_n|t_0|d|jdd|jdddS)NrTzbyte-compiling is disabledr) rArrrHr#r$Z byte_compiler"Zlogs)r(r+r,Zold_dont_write_bytecoder.r.r/test_dont_write_bytecodes  z(BuildPyTestCase.test_dont_write_bytecodeN) __name__ __module__ __qualname__r0r;unittestZskipIfr#r$rGrKrLrNr.r.r.r/rs1    rcCs ttS)N)rRZ makeSuiterr.r.r.r/ test_suitesrS__main__)__doc__rr#rRZdistutils.command.build_pyrZdistutils.corerZdistutils.errorsrZdistutils.testsrZ test.supportrZTempdirManagerZLoggingSilencerZTestCaserrSrOr.r.r.r/s      !