a
    3j                     @   sj   d dl Z d dlmZ d dlZd dlZG dd deZG dd deZG dd de jZ	e
d	krfe   dS )
    N)supportc                   @   s   e Zd ZdS )NoAllN__name__
__module____qualname__ r   r   M/www/server/python_manager/versions/3.9.10/lib/python3.9/test/test___all__.pyr      s   r   c                   @   s   e Zd ZdS )FailedImportNr   r   r   r   r	   r
   
   s   r
   c                   @   s$   e Zd Zdd Zdd Zdd ZdS )AllTestc                 C   s  i }t jdtfdtfdtfdd8 ztd| | W n   t|Y n0 W d    n1 s`0    Y  ttj	| dst
|i }| j|d t jdtfdtfdd ztd| | W n< ty } z$| d	||jj| W Y d }~n
d }~0 0 d
|v r|d
= d|v r |d= d|v r0|d= t|}tj	| j}t|}| ||d| | ||d| W d    n1 s0    Y  W d    n1 s0    Y  d S )Nz.* (module|package) T)quietz	import %s__all__)modulezfrom %s import *z__all__ failure in {}: {}: {}__builtins____annotations__Z__warningregistry__zin module {})r   Zcheck_warningsDeprecationWarningPendingDeprecationWarningResourceWarningexecr
   hasattrsysmodulesr   ZsubTest	ExceptionZfailformat	__class__r   setr   ZassertCountEqualZassertEqual)selfmodnamenamesekeysZall_listZall_setr   r   r	   	check_all   sJ    ,



zAllTest.check_allc                 c   s   t t|D ]}tj||}tj|r~tj|d}tj|r||| fV  | ||| d D ]\}}||fV  qhq|dr|dkrq|||d d  fV  qd S )Nz__init__.py.z.py)	sortedoslistdirpathjoinisdirexistswalk_modulesendswith)r   Zbasedirmodpathfnr(   Zpkg_initpmr   r   r	   r,   8   s    zAllTest.walk_modulesc              	   C   s4  t dg}tjdsdd l}g }g }tjtjt}| 	|dD ]\}}|}d}	|rx||v rhd}	qx|
dd }qV|	r~qFtjrt| zLt|d.}
d	|
 vrt|| | W d    n1 s0    Y  W qF ty   || Y qF ty   || Y qF0 qFtjr0td
| td| d S )NZ
__future__javar   r   FTr#   rbs   __all__z8Following modules have no __all__ and have been ignored:z(Following modules failed to be imported:)r   r   platform
startswith_socketr&   r(   dirname__file__r,   
rpartitionr   verboseprintopenreadr   r"   appendr
   )r   Z	blacklistr6   ZignoredZfailed_importsZlib_dirr(   r   r1   Zblacklistedfr   r   r	   test_allF   sD    ,zAllTest.test_allN)r   r   r   r"   r,   r@   r   r   r   r	   r      s   (r   __main__)Zunittesttestr   r&   r   RuntimeErrorr   r
   ZTestCaser   r   mainr   r   r   r	   <module>   s   e