ó
Š]c           @   sâ   d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z m Z m	 Z	 m
 Z
 m Z d d l m Z d d l m Z d d l m Z d e j e j f d „  ƒ  YZ d	 „  Z e d
 k rÞ e e ƒ  ƒ n  d S(   s   Tests for distutils.dir_util.iÿÿÿÿN(   t   mkpatht   remove_treet   create_treet	   copy_treet   ensure_relative(   t   log(   t   support(   t   run_unittestt   DirUtilTestCasec           B   sw   e  Z d  „  Z d „  Z d „  Z d „  Z e j e j	 j
 d ƒ d ƒ d „  ƒ Z d „  Z d „  Z d	 „  Z d
 „  Z RS(   c         G   s=   t  | ƒ d k r) |  j j | | ƒ n |  j j | ƒ d  S(   Ni    (   t   lent   _logst   append(   t   selft   msgt   args(    (    s.   lib/python2.7/distutils/tests/test_dir_util.pyt   _log   s    c         C   s   t  t |  ƒ j ƒ  g  |  _ |  j ƒ  } t j j | d ƒ |  _ t j j |  j d ƒ |  _	 t j j | d ƒ |  _
 t j |  _ |  j t _ d  S(   Nt   deept   heret   deep2(   t   superR   t   setUpR
   t   mkdtempt   ost   patht   joint   root_targett   targett   target2R   t   infot   old_logR   (   R   t   tmp_dir(    (    s.   lib/python2.7/distutils/tests/test_dir_util.pyR      s    	c         C   s#   |  j  t _ t t |  ƒ j ƒ  d  S(   N(   R   R   R   R   R   t   tearDown(   R   (    (    s.   lib/python2.7/distutils/tests/test_dir_util.pyR   !   s    c         C   sÂ   t  |  j d d ƒg  } |  j |  j | ƒ t |  j d d ƒt  |  j d d ƒd |  j d |  j g } |  j |  j | ƒ g  |  _ t |  j d d ƒd |  j g } |  j |  j | ƒ d  S(   Nt   verbosei    i   s   creating %ss'   removing '%s' (and everything under it)(   R    R   t   assertEqualR
   R   R   (   R   t   wanted(    (    s.   lib/python2.7/distutils/tests/test_dir_util.pyt!   test_mkpath_remove_tree_verbosity%   s    
	t   wins5   This test is only appropriate for POSIX-like systems.c         C   sš   t  j d ƒ } t  j | ƒ t |  j d ƒ |  j t j t  j |  j ƒ j ƒ d | @ƒ t |  j d ƒ |  j t j t  j |  j ƒ j ƒ d | @ƒ d  S(   Ni   iÀ  im  (	   R   t   umaskR    R   R!   t   statt   S_IMODEt   st_modeR   (   R   R%   (    (    s.   lib/python2.7/distutils/tests/test_dir_util.pyt   test_mkpath_with_custom_mode6   s    'c         C   sž   t  |  j d d d g d d ƒ|  j |  j g  ƒ t |  j d d ƒd |  j g } t  |  j d d d g d d ƒ|  j |  j | ƒ t |  j d d ƒd  S(   Nt   onet   twot   threeR    i    s   creating %si   (   R   R   R!   R
   R   (   R   R"   (    (    s.   lib/python2.7/distutils/tests/test_dir_util.pyt   test_create_tree_verbosityC   s    c         C   s  t  |  j d d ƒt |  j |  j d d ƒ|  j |  j g  ƒ t |  j d d ƒt  |  j d d ƒt j	 j
 |  j d ƒ } t | d ƒ } z | j d ƒ Wd  | j ƒ  Xd | |  j f g } t |  j |  j d d ƒ|  j |  j | ƒ t |  j d d ƒt |  j d d ƒd  S(   NR    i    s   ok.txtt   ws   some contents   copying %s -> %si   (   R    R   R   R   R!   R
   R   R   R   R   R   t   opent   writet   close(   R   t   a_filet   fR"   (    (    s.   lib/python2.7/distutils/tests/test_dir_util.pyt   test_copy_tree_verbosityP   s    c         C   sä   t  |  j d d ƒt j j |  j d ƒ } t j j |  j d ƒ } xB | | f D]4 } t | d ƒ } z | j d ƒ Wd  | j ƒ  XqP Wt |  j |  j	 ƒ |  j
 t j |  j	 ƒ d g ƒ t |  j d d ƒt |  j	 d d ƒd  S(   NR    i    s   ok.txts
   .nfs123abcR.   s   some content(   R    R   R   R   R   R/   R0   R1   R   R   R!   t   listdirR   R   (   R   R2   t   nfs_fileR3   t   fh(    (    s.   lib/python2.7/distutils/tests/test_dir_util.pyt#   test_copy_tree_skips_nfs_temp_filesh   s    c         C   sn   t  j d k r> |  j t d ƒ d ƒ |  j t d ƒ d ƒ n, |  j t d ƒ d ƒ |  j t d ƒ d ƒ d  S(   Nt   /s	   /home/foos   home/foos	   some/paths   c:\home\foos
   c:home\foos   home\foo(   R   t   sepR!   R   (   R   (    (    s.   lib/python2.7/distutils/tests/test_dir_util.pyt   test_ensure_relativez   s
    (   t   __name__t
   __module__R   R   R   R#   t   unittestt   skipIft   syst   platformt
   startswithR)   R-   R4   R8   R;   (    (    (    s.   lib/python2.7/distutils/tests/test_dir_util.pyR      s   		
					c           C   s   t  j t ƒ S(   N(   R>   t	   makeSuiteR   (    (    (    s.   lib/python2.7/distutils/tests/test_dir_util.pyt
   test_suite‚   s    t   __main__(   t   __doc__R>   R   R&   t   shutilR@   t   distutils.dir_utilR    R   R   R   R   t	   distutilsR   t   distutils.testsR   t   test.test_supportR   t   TempdirManagert   TestCaseR   RD   R<   (    (    (    s.   lib/python2.7/distutils/tests/test_dir_util.pyt   <module>   s   (s	