î
yÐR\™  ã               @   sÑ   d  d l  m Z m Z m Z y e WnK e k
 rq y d d l m Z Wn" e k
 rl d d l m Z Yn XYn Xd d l	 m
 Z
 d d l m Z Gd d „  d e ƒ Z d d	 „  Z e d
 k rÍ e j ƒ  n  d S)é   )ÚunittestÚConnectingTestCaseÚslowé    )Úreload)ÚThread)Ú
errorcodesc               @   s"   e  Z d  Z e d d „  ƒ Z d S)ÚErrocodeTestsc                sË   d } g  ‰  d ‡  f d d † } x£ t  | ƒ D]• } t t ƒ t d | ƒ t d | ƒ } } | j ƒ  | j ƒ  f | j ƒ  | j ƒ  f ˆ  r. |  j d t ˆ  ƒ | ˆ  d j j	 ˆ  d f ƒ q. q. Wd  S)NiÐ  Z40001c                sJ   y t  j |  ƒ Wn2 t k
 rE } z ˆ  j | ƒ WYd  d  } ~ Xn Xd  S)N)r   ÚlookupÚ	ExceptionÚappend)Zpg_codeÚe)Úerrs© úQ/var/www/dbchiro/venv/lib/python3.4/site-packages/psycopg2/tests/test_errcodes.pyÚf0   s    z/ErrocodeTests.test_lookup_threadsafe.<locals>.fÚtargetz.raised %s errors in %s cycles (first is %s %s)r   )
Úranger   r   r   ÚstartÚjoinZfailÚlenÚ	__class__Ú__name__)ÚselfZ
MAX_CYCLESr   Ú__Út1Zt2r   )r   r   Útest_lookup_threadsafe(   s    
z$ErrocodeTests.test_lookup_threadsafeN)r   Ú
__module__Ú__qualname__r   r   r   r   r   r   r	   '   s   r	   c               C   s   t  j ƒ  j t ƒ S)N)r   Z
TestLoaderZloadTestsFromNamer   r   r   r   r   Ú
test_suiteC   s    r   Ú__main__N)Z	testutilsr   r   r   r   Ú	NameErrorÚ	importlibÚImportErrorÚimpÚ	threadingr   Úpsycopg2r   r	   r   r   Úmainr   r   r   r   Ú<module>   s   