a  ze.@sdZddlZddlZddlZddlZddlmZddlmZm Z ddl m Z m Z m Z mZmZddlmZddlmZddlmZGd d d ejejZd d Zed kreedS)zTests for distutils.dir_util.N)patch)dir_utilerrors)mkpath remove_tree create_tree copy_treeensure_relative)log)support) run_unittestcs|eZdZddZfddZfddZddZee j d d d d Z d dZ ddZddZddZddZZS)DirUtilTestCasecGs.t|dkr|j||n |j|dS)Nr)len_logsappend)selfmsgargsrQ/opt/bitninja-python-dojo/embedded/lib/python3.9/distutils/tests/test_dir_util.py_logs zDirUtilTestCase._logcsbtt|g|_|}tj|d|_tj|jd|_ tj|d|_ t j |_ |jt _ dS)NZdeephereZdeep2)superr setUprmkdtempospathjoin root_targettargettarget2r infoold_logr)rZtmp_dir __class__rrrszDirUtilTestCase.setUpcs|jt_tt|dSN)r"r r!rr tearDownrr#rrr&#szDirUtilTestCase.tearDowncCst|jddg}||j|t|jddt|jddd|jd|jg}||j|g|_t|jddd|jg}||j|dS)Nrverbose creating %sz'removing '%s' (and everything under it))rr assertEqualrrrrwantedrrr!test_mkpath_remove_tree_verbosity's z1DirUtilTestCase.test_mkpath_remove_tree_verbositywinz5This test is only appropriate for POSIX-like systems.cCsttd}t|t|jd|tt|jjd|@t|jd|tt|jjd|@dS)Niim) rumaskrrr,statS_IMODEst_moder )rr2rrrtest_mkpath_with_custom_mode8s    z,DirUtilTestCase.test_mkpath_with_custom_modecCspt|jgddd||jgt|jddd|jg}t|jgddd||j|t|jdddS)N)ZoneZtwoZthreerr(r+r*)rrr,rrr-rrrtest_create_tree_verbosityEs z*DirUtilTestCase.test_create_tree_verbositycCst|jddt|j|jdd||jgt|jddt|jddtj |jd}t |d}| dWdn1s0Yd||jfg}t|j|jdd||j|t|jddt|jdddS)Nrr(ok.txtw some contentzcopying %s -> %sr*) rrrr r,rrrrrropenwrite)ra_filefr.rrrtest_copy_tree_verbosityQs (z(DirUtilTestCase.test_copy_tree_verbosityc Cst|jddtj|jd}tj|jd}||fD]8}t|d}|dWdq61sd0Yq6t|j|j| t |jdgt |j ddt |jdddS)Nrr(r8z .nfs123abcr9r:) rrrrrr;r<rr r,listdirrr)rr=Znfs_filer>Zfhrrr#test_copy_tree_skips_nfs_temp_filesfs  *z3DirUtilTestCase.test_copy_tree_skips_nfs_temp_filescCsPtjdkr,|tdd|tddn |tdd|tdddS)N/z /home/foozhome/fooz some/pathz c:\home\fooz c:home\foozhome\foo)rsepr,r r'rrrtest_ensure_relativeus  z$DirUtilTestCase.test_ensure_relativec CsttdtdR|tj&|jd}t|dWdn1sH0YWdn1sf0YdS)zK An exception in listdir should raise a DistutilsFileError z os.listdir)Z side_effectN)rOSErrorZ assertRaisesrZDistutilsFileErrorZtempdirsrr)rsrcrrr#test_copy_tree_exception_in_listdir}s   z3DirUtilTestCase.test_copy_tree_exception_in_listdir)__name__ __module__ __qualname__rrr&r/unittestZskipIfsysplatform startswithr6r7r?rArDrH __classcell__rrr#rr s   r cCs ttSr%)rLZ makeSuiter rrrr test_suitesrQ__main__)__doc__rLrr3rMZ unittest.mockrZ distutilsrrZdistutils.dir_utilrrrrr r Zdistutils.testsr Z test.supportr ZTempdirManagerZTestCaser rQrIrrrrs    v