ó
Š]c           @   sÌ   d  Z  d d l Z d d l Z d d l m Z m Z d d l m Z d d l m	 Z	 d d l
 m Z d d l m Z d e f d	 „  ƒ  YZ d
 e j f d „  ƒ  YZ d „  Z e d k rÈ e e ƒ  ƒ n  d S(   s   Tests for distutils.cmd.iÿÿÿÿN(   t   captured_stdoutt   run_unittest(   t   Command(   t   Distribution(   t   DistutilsOptionError(   t   debugt   MyCmdc           B   s   e  Z d  „  Z RS(   c         C   s   d  S(   N(    (   t   self(    (    s)   lib/python2.7/distutils/tests/test_cmd.pyt   initialize_options   s    (   t   __name__t
   __module__R   (    (    (    s)   lib/python2.7/distutils/tests/test_cmd.pyR      s   t   CommandTestCasec           B   sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C   s   t  ƒ  } t | ƒ |  _ d  S(   N(   R   R   t   cmd(   R   t   dist(    (    s)   lib/python2.7/distutils/tests/test_cmd.pyt   setUp   s    	c         C   sü   |  j  } d d d g | _ d d d g | _ t ƒ  | _ d | _ | j d ƒ | j d ƒ |  j t | j d ƒ |  j t | j d	 ƒ d
 | _	 | j d ƒ |  j
 | j	 d d g ƒ d d g | _ | j d ƒ d d g | _ |  j t | j d ƒ d  S(   Nt   onei   t   threet   twot   okt   yes_string_listt   yes_string_list2t   not_string_listt   not_string_list2s   ok,dokt   option1t   dokt   xxxt   wwwt   option2t   option3(   R   R   R   t   objectR   R   t   ensure_string_listt   assertRaisesR   R   t   assertEqualR   R   (   R   R   (    (    s)   lib/python2.7/distutils/tests/test_cmd.pyt   test_ensure_string_list   s&    					c            s{   ˆ  j  } ˆ  j t | j d d d d d d d d
 ƒ‡  f d †  } t | _ | | _ | j d d d d	 d d d d ƒ d  S(   Nt   infilesi   t   outfilet    t   funct   argsc            s   ˆ  j  | d ƒ d  S(   Ns   generating out from in(   R    (   R%   R&   t   exec_msgt   level(   R   (    s)   lib/python2.7/distutils/tests/test_cmd.pyt   _execute:   s    t   int   out(    (    (   R   R   t	   TypeErrort	   make_filet   Truet   forcet   execute(   R   R   R)   (    (   R   s)   lib/python2.7/distutils/tests/test_cmd.pyt   test_make_file1   s    			c            su   g  ‰  ‡  f d †  } |  j  } | | _ d | _ d | _ d	 d
 g | _ | j ƒ  d d d g } |  j ˆ  | ƒ d  S(   Nc            s   ˆ  j  |  ƒ d  S(   N(   t   append(   t   msgR(   (   t   msgs(    s)   lib/python2.7/distutils/tests/test_cmd.pyt	   _announceC   s    i   R   R$   R   s   command options for 'MyCmd':s     option1 = 1s     option2 = 1(   R   R$   R$   (   R   R$   R$   (   R   t   announceR   R   t   user_optionst   dump_optionsR    (   R   R5   R   t   wanted(    (   R4   s)   lib/python2.7/distutils/tests/test_cmd.pyt   test_dump_options@   s    				
	c         C   sq   |  j  } d | _ | j d ƒ d  | _ | j d d ƒ |  j t | d ƒ ƒ d | _ |  j t	 | j d ƒ d  S(   NR   R   R   R   i   R   (
   R   R   t   ensure_stringt   NoneR   t
   assertTruet   hasattrR   R   R   (   R   R   (    (    s)   lib/python2.7/distutils/tests/test_cmd.pyt   test_ensure_stringP   s    				c         C   sB   |  j  } t | _ | j d ƒ d | _ |  j t | j d ƒ d  S(   NR   R   R   (   R   t   __file__R   t   ensure_filenameR   R   R   (   R   R   (    (    s)   lib/python2.7/distutils/tests/test_cmd.pyt   test_ensure_filename\   s
    			c         C   sW   |  j  } t j j t ƒ p! t j | _ | j d ƒ d | _ |  j	 t
 | j d ƒ d  S(   NR   R   R   (   R   t   ost   patht   dirnameR@   t   curdirR   t   ensure_dirnameR   R   R   (   R   R   (    (    s)   lib/python2.7/distutils/tests/test_cmd.pyt   test_ensure_dirnamec   s
    		c         C   s«   |  j  } t ƒ   } | j d ƒ Wd  QX| j d ƒ |  j | j ƒ  d ƒ t t _ zF t ƒ   } | j d ƒ Wd  QX| j d ƒ |  j | j ƒ  d ƒ Wd  t	 t _ Xd  S(   NR   i    R$   s   xxx
(
   R   R    t   debug_printt   seekR    t   readR.   R   t   DEBUGt   False(   R   R   t   stdout(    (    s)   lib/python2.7/distutils/tests/test_cmd.pyt   test_debug_printj   s    		(
   R	   R
   R   R!   R1   R:   R?   RB   RH   RO   (    (    (    s)   lib/python2.7/distutils/tests/test_cmd.pyR      s   							c           C   s   t  j t ƒ S(   N(   t   unittestt	   makeSuiteR   (    (    (    s)   lib/python2.7/distutils/tests/test_cmd.pyt
   test_suitez   s    t   __main__(   t   __doc__RP   RC   t   test.test_supportR    R   t   distutils.cmdR   t   distutils.distR   t   distutils.errorsR   t	   distutilsR   R   t   TestCaseR   RR   R	   (    (    (    s)   lib/python2.7/distutils/tests/test_cmd.pyt   <module>   s   k	