o
    b
                     @   s  d Z ddlZddlZddlmZmZmZ ddlZddlZddl	m
Z
 ddlmZ eeeedZejde zejZW n eyH   dZY nw ejddd	d
 Zejdddd Zejdd Zdd Zejddedfdedfdedfddd feededfeededfeededfeeddedfeeddd fg	d d! Zejd"eed#eed$eed%gd&d' Zejd(d)d* eeD d+d, Zejd-d. Zej d.d/d0 Z!d1d2 Z"dS )3znon regression tests for pylint, which requires a too specific configuration
to be incorporated in the automatic functional test framework
    N)abspathdirnamejoin)epylintZregrtest_data   module)scopec                 C   s   t jS N)	testutilsZTestReporter)reporter r   T/var/www/secure340b-portal/env/lib/python3.10/site-packages/pylint/test/test_regr.pyr   %      r   c                 C   s   dgS )NIr   )disabler   r   r   r   *   r   r   c                 c   s    | V  | j   dS )zVcall reporter.finalize() to cleanup
    pending messages if a test finished badly
    N)r   finalize)Zlinterr   r   r   finalize_linter/   s   r   c                    s    fddS )Nc                    s   |  kS r	   r   )gotexpectedr   r   <lambda>9       zEquals.<locals>.<lambda>r   r   r   r   r   Equals8   s   r   zfile_name, checkpackage.__init__ Zprecedence_testZ import_package_subpackage_modulezpylint.checkers.__init__c                 C   s   d| vS )N__path__r   xr   r   r   r   B   r   r   zclassdoc_usage.pyzmodule_global.pyzdecimal_inference.pyZabsimpz	string.pyZbad_packagec                 C   s   d| v S )NzUnused import missingr   r   r   r   r   r   G   r   c                 C   s(   |  | | j  }||sJ d S r	   )checkr   r   strip)r   	file_namer   r   r   r   r   test_package<   s   
r!   r    zimport_assign.pyz"special_attr_scope_lookup_crash.pyZtry_finally_disable_msg_crashc                 C   s   |  | d S r	   )r   )r   r    r   r   r   
test_crashP   s   	r"   fnamec                 C   s   g | ]	}| d r|qS )z	_crash.py)endswith).0r   r   r   r   
<listcomp>]   s    r&   c                 C   s"   | tt|  |j   d S r	   )r   r   	REGR_DATAr   r   r   )r#   r   r   r   r   test_descriptor_crash\   s   r(   c                  c   s8    t  } tjdd d V  tjd t |  d S )Nr   r   )osgetcwdsyspathinsertpopchdir)cwdr   r   r   modify_pathd   s   r1   c                 C   sl   d}|  | t| jd  }||gksJ tttd |  d t| jd  }|dgks4J d S )Nr   Z	by_modulepackage__init__)r   liststatskeysr)   r/   r   r'   )r   filenamecheckedr   r   r   test_check_package___init__m   s   

r9   c                  C   s   t jd} | d }g d}dd | D |ksJ tt |ds'J tt |d}t|dks9J |d 	 j
d	ksDJ |d j
d
ksMJ d S )Nzpylint.lintZPyLinter)ZOptionsManagerMixInobjectZMessagesHandlerMixInZReportsHandlerMixInZBaseTokenCheckerZBaseCheckerZOptionsProviderMixInc                 S   s   g | ]}|j qS r   )name)r%   cr   r   r   r&      s    z+test_pylint_config_attr.<locals>.<listcomp>configr   r   optparseValues)astroidZMANAGERZast_from_module_nameZ	ancestorsr4   InstancegetattrZigetattrlenrootr;   )modZpylinterexpectinferredr   r   r   test_pylint_config_attrz   s   	rH   )#__doc__r+   r)   os.pathr   r   r   Zpytestr@   Zpylint.testutilsr
   Zpylintr   __file__r'   r,   r-   pypy_version_infoZPYPY_VERSION_INFOAttributeErrorZfixturer   r   r   r   markZparametrizer!   r"   listdirr(   r1   Zusefixturesr9   rH   r   r   r   r   <module>   sj   















