ó
    ç“,jf  ã                   óø  • S SK r S SKrS SKJr  S SKJrJr  S SKJrJ	r	J
r
  S SKJrJr  \ R                  R                  S/ SQ5      S 5       rS	 r\ R                  R                  S
SSS0SS0/0SS0/S/ 0S.SS0/SS/0S./5      S 5       r\ R                  R                  SSS/ 00S4SSS0/0S4SSSS./0S4SSS0/0S4SSS/S./0S4/5      S 5       r\ R                  R                  SS\ R&                  " S\ R                  R(                  S9/5      S  5       r\ R                  R                  S!S"S#S$\ R&                  " S%\ R                  R(                  S9/5      S& 5       rS'\ R.                  4S( jrg))é    N)ÚConfigValidationError)ÚProjectConfigSchemaÚvalidate)Úis_subpath_ofÚload_project_configÚmake_tempdir)Úsubstitute_project_variablesÚvalidate_project_commandszparent,child,expected))ú/tmpr   T)r   Ú/F)r   z/tmp/subdirT)r   z/tmpdirF)r   z/tmp/subdir/..T)r   z/tmp/..Fc                 ó&   • [        X5      U:X  d   eg ©N)r   )ÚparentÚchildÚexpecteds      ÚªC:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\weasel/tests/test_validation.pyÚtest_is_subpath_ofr   
   s   € ô ˜Ó'¨8Ó3Ð3Ñ3ó    c            	      ó¦   • SS0/ SQSSSSS.S	S
SS	S.S.SSSSS./SSS/SS/S/S.SSS/SS./SS/S/S.S.n [        [        U 5      nU(       a   eg )NÚsome_varé   )ÚassetsÚconfigsÚcorpusÚscriptsÚtrainingÚxTzhttps://example.comÚ 63373dd656daa1fd3043ce166a59474c)ÚdestÚextraÚurlÚchecksumÚyzhttps://github.com/example/repoÚdevelop)ÚrepoÚbranchÚpath)r   ÚgitÚzFÚtrainzTrain a modelz,python -m spacy train config.cfg -o trainingz
config.cfgzcorpus/training.spcyztraining/model-best)ÚnameÚhelpÚscriptÚdepsÚoutputsÚtestÚpytestz	custom.py)r+   r-   Úno_skip)Úallr*   )ÚvarsÚdirectoriesr   ÚcommandsÚ	workflows)r   r   )ÚconfigÚerrorss     r   Ú#test_project_config_validation_fullr:      s»   € à˜RÐ ÚMð ØØ,Ø>ñ	ð à=Ø'Øññð ØØ,Ø>ñ	ð
ð0  Ø'ØIÐJØ%Ð'=Ð>Ø1Ð2ñð ¨°+Ð'>È4ÑPð	
ð & vÐ.¸'¸ÑCñG$€FôJ Ô)¨6Ó2€FÞÐˆ:ˆvr   r8   r6   r+   Úa)r6   r7   ÚbÚcc                 ó‚   • [         R                  " [        5         [        U 5        S S S 5        g ! , (       d  f       g = fr   )r1   ÚraisesÚ
SystemExitr
   )r8   s    r   Útest_project_config_validation1rA   C   s$   € ô 
�Š”zÕ	"Ü! &Ô)÷ 
#×	"Ö	"ús   ›0°
>zconfig,n_errorsé   r,   z...)r+   r    r    é   é{   )r+   r.   c                 óF   • [        [        U 5      n[        U5      U:X  d   eg r   )r   r   Úlen)r8   Ún_errorsr9   s      r   Útest_project_config_validation2rH   P   s#   € ô Ô)¨6Ó2€FÜˆv‹;˜(Ó"Ð"Ñ"r   Ú	int_valueé
   Ú10)Úmarksc                 ó  • U SSS.S.nSS/S.SS	/S./nX!S
.n[        5        n[        R                  " US-  U5        [        U5      nS S S 5        [	        W5      [
        :X  d   e[	        US   5      [        :X  d   eUS   S   S   S   S:X  d   eUS   S   S   S   S:X  d   eSS/S./nX!S
.n[        R                  " [        5         [        U5        S S S 5        g ! , (       d  f       N�= f! , (       d  f       g = f)NÚfooT)r=   Úd)r;   r<   r   zhello ${vars.a} ${vars.b.c}©r+   r-   r#   z${vars.b.c} ${vars.b.d}©r6   r4   úproject.ymlr6   r   r-   zhello 10 foorB   zfoo truezhello ${vars.a} ${vars.b.e})r   ÚsrslyÚ
write_yamlr   ÚtypeÚdictÚlistr1   r?   r   r	   )rI   Ú	variablesr6   ÚprojectrO   Úcfgs         r   Ú!test_project_config_interpolationr[   _   s  € ð
  ¨E¸Ñ&=Ñ>€IàÐ!>Ð ?Ñ@ØÐ!:Ð ;Ñ<ð€Hð $Ñ7€GÜ	Œ˜1Ü×Ò˜˜]Ñ*¨GÔ4Ü! !Ó$ˆ÷ 
ô �‹9œÓÐÐÜ��J‘Ó ¤DÓ(Ð(Ð(Øˆz‰?˜1Ñ˜hÑ'¨Ñ*¨nÓ<Ð<Ð<Øˆz‰?˜1Ñ˜hÑ'¨Ñ*¨jÓ8Ð8Ð8ØÐ)FÐ(GÑHÐI€HØ#Ñ7€GÜ	�ŠÔ,Õ	-Ü$ WÔ-÷ 
.Ð	-÷ 
�ú÷ 
.Õ	-ús   £&C ÃC1Ã 
C.Ã1
C?ÚgreetingiV  Úeveryoneztout le mondeÚ42c                 ó@  • SS0nSS/S./nSU 0nX!S.n[        5        n[        R                  " US-  U5        [        XSS	9nS S S 5        [	        W5      [
        :X  d   e[	        US
   5      [        :X  d   eUS
   S   S   S   SU  3:X  d   eg ! , (       d  f       NS= f)Nr;   Úworldr   zhello ${vars.a}rP   zvars.arQ   rR   )Ú	overridesr6   r   r-   zhello )r   rS   rT   r   rU   rV   rW   )r\   rX   r6   ra   rY   rO   rZ   s          r   Ú*test_project_config_interpolation_overriderb   w   sº   € ð
 �g�€IàÐ!2Ð 3Ñ4ð€Hð ˜8Ð$€IØ#Ñ7€GÜ	Œ˜1Ü×Ò˜˜]Ñ*¨GÔ4Ü! !Ñ9ˆ÷ 
ô �‹9œÓÐÐÜ��J‘Ó ¤DÓ(Ð(Ð(Øˆz‰?˜1Ñ˜hÑ'¨Ñ*°°x°jÐ.AÓAÐAÑA÷ 
�ús   ž$BÂ
BÚmonkeypatchc                 óÈ  • SS0nSnSU0nSS/S./nXAUS.n[        5        n[        R                  " US	-  U5        [        U5      nS S S 5        WS
   S   S   S   S:X  d   eU R	                  US5        [        5        n[        R                  " US	-  U5        [        U5      nS S S 5        US
   S   S   S   S:X  d   eg ! , (       d  f       N�= f! , (       d  f       N4= f)Nr;   rJ   ÚSPACY_TEST_FOOrN   r   zhello ${vars.a} ${env.foo}rP   )r6   r4   ÚenvrR   r6   r   r-   z	hello 10 Ú123zhello 10 123)r   rS   rT   r   Úsetenv)rc   rX   Úenv_varÚenv_varsr6   rY   rO   rZ   s           r   Ú%test_project_config_interpolation_envrk   Š   sñ   € Ø�b�	€IØ€Gà�wÐ€HØÐ)EÐ(FÑGÐH€HØ#¸xÑH€Gä	Œ˜1Ü×Ò˜˜]Ñ*¨GÔ4Ü! !Ó$ˆ÷ 
ð ˆz‰?˜1Ñ˜hÑ'¨Ñ*¨kÓ9Ð9Ð9à×Ñ�w Ô&ä	Œ˜1Ü×Ò˜˜]Ñ*¨GÔ4Ü! !Ó$ˆ÷ 
ð ˆz‰?˜1Ñ˜hÑ'¨Ñ*¨nÓ<Ð<Ñ<÷ 
�ú÷ 
�ús   ¡&CÁ?&CÃ
CÃ
C!)r1   rS   Ú
confectionr   Úweasel.schemasr   r   Úweasel.utilr   r   r   r	   r
   ÚmarkÚparametrizer   r:   rA   rH   ÚparamÚxfailr[   rb   ÚMonkeyPatchrk   © r   r   Ú<module>ru      sß  ðÛ Û Ý ,ç 8ß HÑ Hß Oð ‡�×ÑØòó
ñ4ó
ð4ò'ðT ‡�×ÑØà	�v˜s�m f¨c ]Ð3Ð4Ø˜s�m�_°C¸°9Ñ=Ø˜s�m�_°C¸#¸°<Ñ@ðóñ*óð*ð
 ‡�×ÑØà
�s˜B�iÐ	  !Ð$Ø
˜ �Ð'Ð	(¨!Ð,Ø
 ¨cÑ2Ð3Ð	4°aÐ8Ø
˜ �~Ð&Ð	'¨Ð+Ø
 ¨c¨UÑ3Ð4Ð	5°qÐ9ðó	ñ#ó	ð#ð
 ‡�×ÑØØˆ�Š�d &§+¡+×"3Ñ"3Ñ	4Ð5óñ.ó	ð.ð( ‡�×ÑØØˆ*�o v§|¢|°DÀÇÁ×@QÑ@QÑ'RÐSóñBó	ðBð=°v×7IÑ7Iõ =r   