
    LȂi?	                     f    S SK r S SKJr  S SKJr  S SKJr  S SKJr  S SK	J
r
JrJr   " S S\5      rg)	    N)settings)BaseCommand)get_command_line_option)get_max_test_processes)NullTimeKeeper
TimeKeeper
get_runnerc                   @   ^  \ rS rSrSr/ rSrU 4S jrS rS r	Sr
U =r$ )Command
   zIDiscover and run tests in the specified modules or the current directory.Nc                 F   > [        US5      U l        [        TU ]  U5        g)z
Pre-parse the command line to extract the value of the --testrunner
option. This allows a test runner to define additional command line
arguments.
--testrunnerN)r   test_runnersuperrun_from_argv)selfargv	__class__s     UD:\sksbv-state-backend\venv\Lib\site-packages\django/core/management/commands/test.pyr   Command.run_from_argv   s!     34Hd#    c                     UR                  SSSSS9  UR                  SSSS	S
S9  UR                  SSS9  [        [        U R                  5      n[	        US5      (       a  UR                  U5        g g )Nargs
test_label*z_Module paths to test; can be modulename, modulename.TestCase or modulename.TestCase.test_method)metavarnargshelpz	--noinputz
--no-inputstore_falseinteractivez:Tells Django to NOT prompt the user for input of any kind.)actiondestr   r   zhTells Django to use specified test runner class instead of the one specified by the TEST_RUNNER setting.)r   add_arguments)add_argumentr	   r   r   hasattrr#   )r   parsertest_runner_classs      r   r#   Command.add_arguments   s     2 	 	
 	 M 	 	
 	< 	 	
 'x1A1AB$o66++F3 7r   c                    [        [        US   5      nUR                  SS5      (       a
  [        5       O	[	        5       nUR                  S5      nUS:X  a  [        5       US'   U" S0 UD6nUR                  S5         UR                  U5      nS S S 5        UR                  5         W(       a  [        R                  " S5        g g ! , (       d  f       N== f)	N
testrunnertimingFparallelautoz	Total run    )r	   r   getr   r   r   timed	run_testsprint_resultssysexit)r   test_labelsoptions
TestRunnertime_keeperr,   r   failuress           r   handleCommand.handle6   s    ',*?@
&-kk(E&B&BjlHX;;z*v"8":GJ +7+{+",,[9H ,!!#HHQK  ,+s   <C
C)r   )__name__
__module____qualname____firstlineno__r   requires_system_checksr   r   r#   r;   __static_attributes____classcell__)r   s   @r   r   r   
   s)    VD  K$48 r   r   )r4   django.confr   django.core.management.baser   django.core.management.utilsr   django.test.runnerr   django.test.utilsr   r   r	   r   r/   r   r   <module>rI      s&    
   3 @ 5 D D8k 8r   