ó
úR‹_c           @   sµ   d  d l  Z  d  d l Z d  d l Z d  d l m Z d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d	 e j f d
 „  ƒ  YZ	 e
 d k r± e j ƒ  n  d S(   iÿÿÿÿN(   t   _configt   TestResolverc           B   s_   e  Z d	 Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z RS(
   c         C   s0   d t  j k r, t  j d |  _ t  j d =n  d  S(   Nt   GEVENT_RESOLVER(   t   ost   environt   old_resolver(   t   self(    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   setUp   s    c         C   s    |  j  r |  j  t j d <n  d  S(   NR   (   R   R   R   (   R   (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   tearDown   s    	c         C   s   |  j  t j j d ƒ d  S(   NR   (   t   assertEqualR    t   Resolvert   environment_key(   R   (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_key   s    c         C   s6   d d l  m } t j ƒ  } |  j | j ƒ  | ƒ d  S(   Niÿÿÿÿ(   R
   (   t   gevent.resolver.threadR
   R    R	   t   get(   R   R
   t   conf(    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_default   s    c         C   s˜   d d l  m } d t j d <t j ƒ  } |  j | j ƒ  | ƒ d t j d <|  j | j ƒ  | ƒ t j ƒ  } d d l m } |  j | j ƒ  | ƒ d  S(   Niÿÿÿÿ(   R
   s   foo,bar,block,dnspythonR   t	   dnspython(   t   gevent.resolver.blockingR
   R   R   R    R	   R   t   gevent.resolver.dnspython(   R   R
   R   t	   DResolver(    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_env   s    c         C   sC   d d l  m } t j ƒ  } | j d ƒ |  j | j ƒ  | ƒ d  S(   Niÿÿÿÿ(   R
   s!   gevent.resolver.blocking.Resolver(   R   R
   R    t   setR	   R   (   R   R
   R   (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_set_str_long1   s    c         C   sC   d d l  m } t j ƒ  } | j d ƒ |  j | j ƒ  | ƒ d  S(   Niÿÿÿÿ(   R
   t   block(   R   R
   R    R   R	   R   (   R   R
   R   (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_set_str_short8   s    c         C   sC   d d l  m } t j ƒ  } | j | ƒ |  j | j ƒ  | ƒ d  S(   Niÿÿÿÿ(   R
   (   R   R
   R    R   R	   R   (   R   R
   R   (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_set_class?   s    c         C   s_   d d l  m } d d l m } t j ƒ  } |  j | j | ƒ d | _ |  j | j | ƒ d  S(   Niÿÿÿÿ(   R
   R   (   R   R
   R   R    t   ConfigR	   t   resolver(   R   t   DefaultR
   R   (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_set_through_configG   s    	N(   t   __name__t
   __module__t   NoneR   R   R   R   R   R   R   R   R   R   (    (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyR   	   s   								t   TestFunctionsc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s•   |  j  t j d ƒ ƒ |  j  t j d ƒ ƒ |  j t j d ƒ ƒ |  j t j d ƒ ƒ |  j t j d ƒ ƒ |  j t ƒ  t j d ƒ Wd  QXd  S(   Nt   ont   1t   offt   0t    s    hmm (   t
   assertTrueR    t   validate_boolt   assertFalset   assertRaisest
   ValueError(   R   (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_validate_boolS   s    c         C   s'   |  j  t ƒ  t j |  ƒ Wd  QXd  S(   N(   R+   R,   R    t   validate_invalid(   R   (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_validate_invalid]   s    (   R   R    R-   R/   (    (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyR"   Q   s   	
t
   TestConfigc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s/   |  j  t t j j ƒ t t t j ƒ ƒ ƒ d  S(   N(   R	   t   sortedR    t   configt   settingst   dir(   R   (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test__dir__c   s    c         C   s   |  j  t j j d ƒ ƒ d  S(   NR   (   t   assertIsNotNoneR    R2   t   __getattr__(   R   (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_getattrg   s    c         C   s*   |  j  t ƒ  t t j d ƒ Wd  QXd  S(   Nt   no_such_setting(   R+   t   AttributeErrort   getattrR    R2   (   R   (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test__getattr__invalidk   s    c         C   s-   |  j  t ƒ  t j j d t ƒ Wd  QXd  S(   Ns   no such setting(   R+   R:   R    R2   R   t   True(   R   (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_set_invalido   s    (   R   R    R5   R8   R<   R>   (    (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyR0   a   s   			t   TestImportableSettingc           B   sG   e  Z e e j d  e j j ƒ Z d „  Z d „  Z d „  Z	 d „  Z
 RS(   t   assertRaisesRegexc         C   s6   t  j ƒ  } |  j t d ƒ  | j g  ƒ Wd  QXd  S(   Ns   Cannot import from empty list(   R    t   ImportableSettingR@   t   ImportErrort   _import_one_of(   R   t   i(    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_empty_listw   s    	
c      
   C   s¢   d d  l  } t j ƒ  } t t j ƒ } | j d t ƒ : } | j d ƒ |  j	 t
 d ƒ  | j d ƒ Wd  QXWd  QX|  j | t j ƒ |  j t | ƒ d ƒ d  S(   Niÿÿÿÿt   recordt   alwayss-   Cannot import 'foo/bar/gevent.no_such_module's   foo/bar/gevent.no_such_modulei    (   t   warningsR    RA   t   listt   syst   patht   catch_warningsR=   t   simplefilterR@   RB   t   _import_oneR	   t   len(   R   RH   RD   RK   t   w(    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_path_not_supported}   s    	
c         C   s)   t  j ƒ  } |  j | j |  ƒ |  ƒ d  S(   N(   R    RA   t   assertIsRN   (   R   RD   (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_non_string   s    c         C   sR   t  j ƒ  } |  j i  | j ƒ  ƒ i d d 6| _ | j ƒ  } |  j d | ƒ d  S(   Ns   bad/patht   foo(   R    RA   R	   t   get_optionst   shortname_mapt   assertIn(   R   RD   t   options(    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   test_get_options‘   s
    (   R   R    R;   t   unittestt   TestCaset   assertRaisesRegexpR@   RE   RQ   RS   RY   (    (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyR?   s   s   			t   __main__(   R   RZ   RJ   t   geventR    R[   R   R"   R0   R?   R   t   main(    (    (    sS   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test___config.pyt   <module>   s   H&