a  ze=@sdZddlZddlZddlZddlmZddlmZmZddl m Z ddl m Z ddl mZddlmZmZGd d d e jejZd d Zed kreedS)zTests for distutils.file_util.N)patch) move_file copy_file)log)support)DistutilsFileError) run_unittestunlinkcsXeZdZddZfddZfddZddZd d Zd d Zd dZ ddZ Z S)FileUtilTestCasecGs.t|dkr|j||n |j|dS)Nr)len_logsappend)selfmsgargsrR/opt/bitninja-python-dojo/embedded/lib/python3.9/distutils/tests/test_file_util.py_logs zFileUtilTestCase._logcs`tt|g|_tj|_|jt_|}t j |d|_ t j |d|_ t j |d|_dS)Nf1f2Zd1)superr setUpr rinfoold_logrmkdtempospathjoinsourcetarget target_dir)rZtmp_dir __class__rrrszFileUtilTestCase.setUpcs|jt_tt|dSN)rrrrr tearDown)rr!rrr$szFileUtilTestCase.tearDowncCst|jd}z|dW|n |0t|j|jddg}||j|t|j|jddt|j|jddd|j|jfg}||j|t|j|jddg|_t |j t|j|j ddd|j|j fg}||j|dS)Nw some contentrverbosezmoving %s -> %s) openrwritecloserr assertEqualr rmkdirr )rfZwantedrrrtest_move_file_verbosity#s"   z)FileUtilTestCase.test_move_file_verbosityc Cstdtddd|tXt|jd}|dWdn1sL0Yt|j|jddWdn1s|0YWdn1s0YdS) N os.renamewrongr)Z side_effectr% spam eggsrr') rOSError assertRaisesrr*rr+rrrZfobjrrr)test_move_file_exception_unpacking_rename?s (z:FileUtilTestCase.test_move_file_exception_unpacking_renamec Cstdttjddtdtddd|tXt|jd}|dWdn1sb0Yt |j|j dd Wdn1s0YWdn1s0YWdn1s0YdS) Nr1r2r3z os.unlinkr)r%r4rr') rr5errnoZEXDEVr6rr*rr+rrr7rrr)test_move_file_exception_unpacking_unlinkGs(z:FileUtilTestCase.test_move_file_exception_unpacking_unlinkc Cs4t|jd}|dWdn1s,0Yzt|j|jWn2ty|}z|d|WYd}~nd}~00t|jt |j}t |j|jddt |j}t |j}| tj ||||f| tj ||||ft|jd }||dWdn1s&0YdS)Nr%r&z os.link: %shardlinkr)r*rr+rr=rr5ZskipTestr statr assertTruersamestatr-read)rr/estst2st3rrrtest_copy_file_hard_linkPs($    z)FileUtilTestCase.test_copy_file_hard_linkc Cs$t|jd}|dWdn1s,0Yt|j}tdtddd"t|j|jddWdn1s|0Yt|j}t|j}| tj ||||f| tj ||||f|j|jfD]@}t|d  }| |dWdq1s0YqdS) Nr%r&zos.linkrzlinking unsupportedr3r;r<r>)r*rr+rr?rr5rrr@rrAZ assertFalser-rB)rr/rDrErFfnrrr test_copy_file_hard_link_failureds( 0   z1FileUtilTestCase.test_copy_file_hard_link_failure) __name__ __module__ __qualname__rrr$r0r8r:rGrI __classcell__rrr!rr s  r cCs ttSr#)unittestZ makeSuiter rrrr test_suitevsrO__main__)__doc__rNrr9Z unittest.mockrZdistutils.file_utilrrZ distutilsrZdistutils.testsrZdistutils.errorsrZ test.supportrr ZTempdirManagerZTestCaser rOrJrrrrs    i