B
    fP                 @   s,   d Z ddlZddlmZ G dd deZdS )aG  Use the AllModules plugin by passing ``--all-modules`` or setting the
NOSE_ALL_MODULES environment variable to enable collection and execution of
tests in all python modules. Normal nose behavior is to look for tests only in
modules that match testMatch.

More information: :doc:`../doc_tests/test_allmodules/test_allmodules`

.. warning ::

   This plugin can have surprising interactions with plugins that load tests
   from what nose normally considers non-test modules, such as
   the :doc:`doctest plugin <doctests>`. This is because any given
   object in a module can't be loaded both by a plugin and the normal nose
   :class:`test loader <nose.loader.TestLoader>`. Also, if you have functions
   or classes in non-test modules that look like tests but aren't, you will
   likely see errors as nose attempts to run them as tests.

    N)Pluginc               @   s(   e Zd ZdZdd Zdd Zdd ZdS )	
AllModulesz+Collect tests from all python modules.
    c          	   C   s6   d}|j dd| j||d| jj|  |f d dS )z&Register commandline options.
        ZNOSE_ALL_MODULESz--all-modules
store_truezEnable plugin %s: %s [%s])actiondestdefaulthelpN)Z
add_optionZ	enableOptget	__class____name__r   )selfparserenvZenv_opt r   6lib/python3.7/site-packages/nose/plugins/allmodules.pyoptions   s    zAllModules.optionsc             C   s   | drdS dS )z5Override to return True for all files ending with .pyz.pyTN)endswith)r   filer   r   r   wantFile%   s    
zAllModules.wantFilec             C   s   dS )z$Override return True for all modulesTr   )r   moduler   r   r   
wantModule+   s    zAllModules.wantModuleN)r   
__module____qualname____doc__r   r   r   r   r   r   r   r      s   r   )r   osZnose.plugins.baser   r   r   r   r   r   <module>   s   