
    BhG                     n    d dl Z d dlZd dlmZ d dlmZ d dlmZ i Zd Z	 G d de      Z
 G d d	e      Zy)
    N)DjangoTestSuiteRunner)	force_str)	TestSuitec                       fd}|S )Nc                      t        j                          } | i | t        j                          }||z
  t        t              <   y N)timeTIMINGSr   )argskwargsstartendfuncs       F/home/dcms/DCMS/lib/python3.12/site-packages/cms/test_utils/runners.py_innerztime_it.<locals>._inner   s8    		dfiik#&;	$      )r   r   s   ` r   time_itr      s    / Mr   c                        e Zd Z fdZ xZS )TimingSuitec                 :    t        |      }t        | 	  |       y r   )r   superaddTest)selftest	__class__s     r   r   zTimingSuite.addTest   s    t}r   )__name__
__module____qualname__r   __classcell__r   s   @r   r   r      s     r   r   c                   *     e Zd Zd fd	Z fdZ xZS )TimedTestRunnerc                 <    t        |   ||fi |}t        |      S r   )r   build_suiter   )r   test_labelsextra_testsr   suiter   s        r   r%   zTimedTestRunner.build_suite   s$    #KGG5!!r   c                     t        |   di | t        t        j	                         t        j                  d      d      d d }t        d       |D ]  \  }}t        |dd|         y )	N   T)keyreverse
   zTen slowest tests:z.2fzs r   )r   teardown_test_environmentsortedr
   itemsoperator
itemgetterprint)r   r   by_time	func_nametimingr   s        r   r.   z)TimedTestRunner.teardown_test_environment    sw    )3F3MMO##A&
 2	
 	"#!( 	0IvVCL9+./	0r   r   )r   r   r   r%   r.   r    r!   s   @r   r#   r#      s    "	0 	0r   r#   )r1   r	   django.test.simpler   django.utils.encodingr   django.utils.unittestr   r
   r   r   r#   r   r   r   <module>r:      s7      4 + +
) 0+ 0r   