a
    ze2	                     @   s<   d dl Z d dlZd dlmZ dZdd Zedkr8e   dS )    N)import_fresh_moduleztest.datetimetesterc                 C   sX  z@t tddgdgd}t tg dd}W dD ]}tj|d  q,ndD ]}tj|d  qF0 ||g}ddg}t||D ]\}}	g }
|j D ]R\}}t|t	sqt
|tjr|
| qt
|tjr| }|
d	d
 |D  qtt|
dd d}
|
D ]X}| j|	7  _| j|	7  _t|fdd}tdd }||_||_|| | qqv|S )Ndatetime	_strptime	_datetime)freshZblocked)r   r   r   )r   Z_PureZ_Fastc                 s   s   | ]}t |V  qd S N)type).0test r   (/usr/lib/python3.9/test/test_datetime.py	<genexpr>#       zload_tests.<locals>.<genexpr>c                 S   s   | j S r   )__qualname__)clsr   r   r   <lambda>$   r   zload_tests.<locals>.<lambda>)keyc                 S   s2   t j | _|t jt< |jt jd< |jt jd< d S )Nr   r   )sysmodulescopy_save_sys_modulesTESTSZdatetime_moduler   )cls_moduler   r   r   
setUpClass(   s    
zload_tests.<locals>.setUpClassc                 S   s   t j  t j| j d S r   )r   r   clearupdater   )r   r   r   r   tearDownClass.   s    
z!load_tests.<locals>.tearDownClass)r   r   r   r   popzip__dict__items
isinstancer   
issubclassunittestZTestCaseappendZ	TestSuiteextendsortedset__name__r   classmethodr   r   ZaddTestsZloadTestsFromTestCase)loaderZtestspatternZ
pure_testsZ
fast_testsmodnameZtest_modulesZtest_suffixesr   suffixZtest_classesnamer   Zsuitr   r   r   r   r   
load_tests	   sB    


r0   __main__)r$   r   Ztest.supportr   r   r0   r)   mainr   r   r   r   <module>   s   /