o
    HXh@	                     @   s@   d dl Z d dlZd dlmZ dZdd Zedkre   dS 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  q#w ||g}ddg}t||D ]n\}}	g }
|j D ])\}}t|t	sPqFt
|tjr\|
| qFt
|tjro| }|
d	d
 |D  qFtt|
dd d}
|
D ],}| j|	7  _| j|	7  _t|fdd}tdd }||_||_|| | q|q;|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   </opt/python-3.10.19/usr/lib/python3.10/test/test_datetime.py	<genexpr>#   s    zload_tests.<locals>.<genexpr>c                 S   s   | j S r   )__qualname__)clsr   r   r   <lambda>$   s    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	   sH   



r/   __main__)r#   r   Ztest.support.import_helperr   r   r/   r(   mainr   r   r   r   <module>   s    /