ó
 m[c           @` sn   d  d l  m Z m Z m Z m Z d  d l Z d  d l m Z m Z d d l	 m
 Z
 d e f d „  ƒ  YZ d S(   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsN(   t
   ErrorClasst   ErrorClassPlugini   (   t   KnownFailureTestt   KnownFailurec           B` sM   e  Z d  Z e Z e e d d d e ƒZ e	 j
 d „ Z d „  Z d „  Z RS(   ux  Plugin that installs a KNOWNFAIL error class for the
    KnownFailureClass exception.  When KnownFailureTest is raised,
    the exception will be logged in the knownfail attribute of the
    result, 'K' or 'KNOWNFAIL' (verbose) will be output, and the
    exception will not be counted as an error or failure.

    This is based on numpy.testing.noseclasses.KnownFailure.
    t   labelu	   KNOWNFAILt	   isfailurec      
   C` s;   d } | j  d d d d d d | j | t ƒ d d	 ƒd  S(
   Nu   NOSE_WITHOUT_KNOWNFAILu   --no-knownfailt   actionu
   store_truet   destu   noKnownFailt   defaultt   helpu7   Disable special handling of KnownFailureTest exceptions(   t
   add_optiont   gett   False(   t   selft   parsert   envt   env_opt(    (    sL   lib/python2.7/site-packages/matplotlib/testing/_nose/plugins/knownfailure.pyt   options   s    c         C` s>   |  j  s d  S| |  _ t | d t ƒ } | r: t |  _ n  d  S(   Nu   noKnownFail(   t   can_configuret   conft   getattrR   t   enabled(   R   R   R   t   disable(    (    sL   lib/python2.7/site-packages/matplotlib/testing/_nose/plugins/knownfailure.pyt	   configure   s    		c         G` s   d  S(   N(    (   R   t   testt   errt   zero_nine_capt_args(    (    sL   lib/python2.7/site-packages/matplotlib/testing/_nose/plugins/knownfailure.pyt   addError&   s    (   t   __name__t
   __module__t   __doc__t   TrueR   R   R   R   t	   knownfailt   ost   environR   R   R   (    (    (    sL   lib/python2.7/site-packages/matplotlib/testing/_nose/plugins/knownfailure.pyR   	   s   			(   t
   __future__R    R   R   R   R%   t   nose.plugins.errorclassR   R   t
   exceptionsR   R   (    (    (    sL   lib/python2.7/site-packages/matplotlib/testing/_nose/plugins/knownfailure.pyt   <module>   s   "