ó
a#nSc           @   s„  d  d l  m Z d  d l Z d  d l Z d  d l Z e j d d k sZ e j d d k ri d  d l Z n d Z d  Z d Z	 d „  Z
 d „  Z d	 „  Z e d
 k r€d  d l Z e j e j d d ƒ \ Z Z d Z d Z x> e D]6 \ Z Z e d k rd Z qà e d k rà d Z qà qà We j ƒ  Z d Z d Z g  Z d Z x„e D]|Z y e e d ƒ Wn% e k
 rƒe j j  d e ƒ qEXe j! j" e ƒ Z# e j! j$ e ƒ Z% e# r¾e j& e# ƒ n  y4 e j ƒ  Z' e e% e e ƒ \ Z( Z) e j ƒ  Z* Wn; e+ k
 r/d  d l, Z, e, j- ƒ  e j j  d e ƒ n1 Xe* e' Z. e e e( e) e. e e j ƒ e e. 7Z e# rve j& e ƒ n  e/ e ƒ d k rEe e/ e( ƒ 7Z e e) 7Z e/ e( ƒ rÁe j0 e ƒ qÁqEqEWe d k rpe j j  d ƒ e j j  d e ƒ e rMe j j  d e e f ƒ e j j  d ƒ xE e D] Z1 e j j  d e1 ƒ q,Wqpe j j  d e e/ e ƒ f ƒ n  e j2 e ƒ n  d S(   iÿÿÿÿ(   t   RDConfigNi    i   i   i   c         C   s÷   |  d k r t  j }  n  | j d ƒ } t j ƒ  } | j d ƒ rV t j | d ƒ n  | j d d ƒ } t sz t	 d ‚ nF y  t j
 |  g t | ƒ ƒ } Wn# t k
 r¿ t j d |  IJt SX| j d ƒ rß t j | ƒ n  | | k rï t St Sd  S(   Nt   pythont    t   dirt   returnsi    s;   cannot run tests if the subprocess module is not available.s   Could not find executable: %s.(   R    t	   pythonExet   splitt   ost   getcwdt   has_keyt   chdirt   gett
   subprocesst   NotImplementedErrort   callt   listt   OSErrort   syst   stderrt   TEST_FAILEDt   TEST_PASSED(   t   exeNamet   argst   extrast   startDirt   expectedReturnt   retVal(    (    sR   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/rdkit/TestRunner.pyt   RunTest   s&     c         C   sô  t  j d d k r# d t j d <n  t t  j ƒ d k rb t  j d d k rb t j t  j d ƒ n  t  j d	 d
 k r‹ d
 g t  j t  _ n  |  j d ƒ d	 }  t |  ƒ } y | j	 } Wn t
 k
 rÑ g  d	 f SXg  } | ry | j } Wqt
 k
 rþ qXn  g  } xt | ƒ D]ú \ } } y | \ }	 }
 } Wn' t k
 r]d G| GHt  j d ƒ n Xy t |	 |
 | ƒ } Wn# d d  l } | j ƒ  t } n X| t k r| j |	 |
 | f ƒ t j j d d ƒ d k rt  j j d t |	 g t |
 ƒ ƒ ƒ | | d f SqqWx´ t | ƒ D]¦ \ } \ }	 }
 } t |	 |
 | ƒ } | t k r | j |	 |
 | f ƒ t j j d d ƒ d k rÆt  j j d t |	 g t |
 ƒ ƒ ƒ | t | ƒ | d f Sq q Wt | ƒ t | ƒ } t  j |  =| | f S(   Niÿÿÿÿs   -ft   1t   PYTHON_TEST_FAILFASTi   i   s	   --testDiri   i    t   .s   .pys
   bad entry:t    s   Exiting from %s
s   Exitng from %s
(   R   t   argvR   t   environt   lenR
   t   pathR   t
   __import__t   testst   AttributeErrort	   longTestst	   enumeratet
   ValueErrort   exitR   t	   tracebackt	   print_excR   R   t   appendR   R   t   writet   strR   t   modules(   t   scriptt   doLongTestst   verboset   modR%   R'   t   failedt   it   entryR   R   R   t   resR+   t   nTests(    (    sR   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/rdkit/TestRunner.pyt	   RunScript-   s\    (	

'"'
c   
      C   sò   | s' | j  d ƒ | j  d |  ƒ nÇ t | ƒ s] | j  d ƒ | j  d |  | | f ƒ n‘ | j  d ƒ | j  d |  t | ƒ | | f ƒ | rî xX | D]M \ } } } | j d d ƒ }	 t j j |	 ƒ }	 | j  d |	 | | f ƒ qš Wn  d  S(	   Ns   !-!-!-!-!-!-!-!-!-!-!
s   	Script: %s.  No tests run!
s   -----------------
s.   	Script: %s.  Passed %d tests in %.2f seconds
s6   	Script: %s.  Failed %d (of %d) tests in %.2f seconds
R   R   s   		(%s): %s %s
(   R.   R"   R   R   R#   t   abspath(
   R1   t   failedTestsR9   t   runTimeR3   t   destR   R   R   t   dirName(    (    sR   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/rdkit/TestRunner.pyt   ReportResultsl   s    #t   __main__t   lvs   -ls   -vg        t   rs+   ERROR: Test script %s could not be opened.
s'   ERROR: Could not import test script %s
s3   

-*-*-*-*-*-*- Test Results Summary -*-*-*-*-*-*-
s   		Total run time: %.2f seconds
s,   !!!!!---  %d Failures in %d tests  ---!!!!!
s   	Modules with failures:
s   		%s
s&     All %d tests (in %d modules) passed
(3   t   rdkitR    R   R   t   timet   version_infoR   t   NoneR   R   R   R:   R@   t   __name__t   getoptR    R   R   R2   R3   t   argt   valR   t   pwdt   totNumFailedt	   totNumRunt   failurest	   timeAccumR1   t   opent   IOErrorR   R.   R#   t   dirnameR?   t   basenamet
   scriptBaseR
   t   t1R5   R9   t   t2t   ImportErrorR+   R,   R=   R"   R-   t   failureR*   (    (    (    sR   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/rdkit/TestRunner.pyt   <module>   sz   $&		?		



#