
    rh                    Z   S r SSKJr  SSKJr  SSKrSSKrSSKr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  \R                   " S
5      r\R$                  " 5       r     S   SS jjrS r\S:X  a4  \" \R0                  5      S:  a  \" \R0                  SS 5      rg\" 5       rgg)zo
Controller to run all module tests in the music21 folders.

Runs great, but slowly on multiprocessor systems.
    )annotations)SequenceN)common)environment)
commonTest)coverageM21)
testRunnerztest.testSingleCoreAll   c           	        U  H  nUS;  d  M  [        SU 35      e   [        R                  " 5         [        R                  " [        5      n[        R
                  " 5       nUR                  U5      n[        R                  S5        Sn	[        R                  R                  U5      n
U
 GH  n/ nUb  X:  a    GOU	S-  n	[        US5      (       d  [        R                  U S35        O!S	U ;   a  UR                  UR                  5        [        US
5      (       d  O9SU ;   a3  U(       d  SUR                  l        UR                  UR                  5        U H3  n["        R$                  R'                  U5      nUR)                  U5        M5     U S:X  a  M   [        R                  " U5      nUR)                  U5        [+        U5       Vs/ s H  n[-        UU5      PM     nn[/        S5      R0                  R3                  5       n[4        R6                  [4        R8                  -  n[:        R<                  " UUUR>                  UUS9  GM     [:        R@                  " U5        [        R                  S5        [B        RD                  " 5          [B        RF                  " S[H        5        [B        RF                  " S[J        5        ["        RL                  " US9nURO                  U5      nSSS5        [P        RR                  " [T        5        WRV                  (       d"  URX                  (       d  URZ                  (       a  SnU$ SnU$ ! [          a    [        R                  U S35         GM  f = fs  snf ! , (       d  f       N= f)zW
Run all tests. Group can be 'test' and/or 'external'.
External will not run doctests.
)testexternalz1Valid test groups are 'test' and 'external'; got zlooking for Test classes...
r   N   Testz has no Test classr   TestExternalr   Fr   z cannot load Doctestsmusic21)outerFilenameglobsoptionflagszrunning Tests...
onceignore)	verbosity).
ValueErrorr   testImportsdefaultDoctestSuite__name__ModuleGatherloadenvironLocal
printDebugr   miscsortModuleshasattrappendr   r   showunittestdefaultTestLoaderloadTestsFromTestCaseaddTestsdirgetattr
__import____dict__copydoctestELLIPSISNORMALIZE_WHITESPACEr	   addDocAttrTestsToSuite__file__fixDoctestswarningscatch_warningssimplefilterRuntimeWarningFutureWarningTextTestRunnerrunr   stopCoveragecoverrorsfailuresunexpectedSuccesses)	testGrouprestoreEnvironmentDefaultslimitr   r%   groups1	modGathermodulestotalModulessortModsmoduleObjectunitTestCasestestCases2s3x	allLocalsr   docTestOptionsrunnerfinalTestResults
returnCodes                          X/home/james-whalen/.local/lib/python3.13/site-packages/music21/test/testSingleCoreAll.pymainrV   (   s    ,,PQVPWXYY  		'	'	1B'')Inn78G;<L{{&&w/H !#|V,,##|n4F$GH"$$\%6%67|^44 Y&5:L--2$$\%>%>? &H++AA(KBKKO & %	//=BKKO
 8;<7HI7H!W\1-7H	I9%..335!**W-I-II))"*38D8M8M056D		,O !^ 201		 	 	"fn5h6((9=!::b>	 
# S!((33
  
G  	##|n4I$JK	 J  
#	"s%   'M	M3AM8	"M0/M08
Nc                     [        SSS9n [        R                  " [        5        [        SSSS9n[        R
                  " X-   5        g )Nr   r   )rA   r   r   F)rA   r   r%   )rV   r   startCoverager=   sysexit)returnCodeTestreturnCodeExternals     rU   ciMainr^      s<    
 I;Nc"OHH^01    __main__r   )rX   FNr
   T)rA   zSequence[str]rC   zbool | Noner%   bool)__doc__
__future__r   collections.abcr   r/   rZ   r&   r5   r   r   r   music21.testr   r   r	   Environmentr   getCoverager=   rV   r^   r   lenargvunused_returnCode r_   rU   <module>rl      s   
 # $  
     # $ #&&'?@
  %.$) 	[[ 	[|	2 z 388} !". F r_   