+
     h  c                  s   R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtHt ^ RIHt ^ RIt]
'       d   ^ R	IHtHtHt ^ RIt^ R
IHt ^ RIt]P@                  ! R4      t!R t"] ! R R4      4       t#] ! R R4      4       t$] ! R R4      4       t%]! RR7       ! R R4      4       t&R t'R# )z=
Python representations of the JSON Schema Test Suite tests.
)annotations)suppress)partial)Path)TYPE_CHECKINGAnyN)fieldfrozen)Registry)IterableMappingSequence)_VALIDATORSz[\W\- ]+c                 s   \         P                  P                  R 4      p V e   \        V 4      # \        \        P
                  4      P                  P                  R,          p V P                  4       '       g   \        R4      hV # )ZJSON_SCHEMA_TEST_SUITEjsonzCan't find the JSON-Schema-Test-Suite directory. Set the 'JSON_SCHEMA_TEST_SUITE' environment variable or run the tests from alongside a checkout of the suite.)	osenvirongetr   
jsonschemaZ__file__ZparentZis_dirZ
ValueError)Zroots    </usr/lib/python3.14/site-packages/jsonschema/tests/_suite.py_find_suiter       sj    ::>>23DDz
##$++22V;D;;== 
 	
 K    c                  sn    ] tR t^2t$ ]! ]R7      tR]R&   ]! RR7      tR]R&   R t	R	 R
 lt
R R ltRtR# )Suite)Zfactoryr   _rootF)Zinit%referencing.jsonschema.SchemaRegistry_remotesc           	     	s   V P                   P                  R R4      p\        P                  \	        V4      R.p\
        P                  ! V4      P                  R4      p\        P                  ! V4      pRpRp\        4       P                  V\        P                  P                  P                  VP!                  V4      R7      3V\        P                  P"                  P                  VP!                  V4      R7      3.4      P%                  VP'                  4       \        P                  P(                  R7      p\*        P-                  V RV4       R	# )
Zbinjsonschema_suiteremotesutf-8z?http://localhost:1234/locationIndependentIdentifierPre2019.jsonz>http://localhost:1234/locationIndependentIdentifierDraft4.json)Zcontents)Zdefault_specificationr   N)r   ZjoinpathsysZ
executablestr
subprocessZcheck_outputZdecoder   loadsr   Zwith_resourcesreferencingr   ZDRAFT7Zcreate_resourcepopZDRAFT4Zwith_contentsitemsZDRAFT202012ZobjectZ__setattr__)selfr   Zargvr   Z	resourcesZliZli4registrys   &       r   __attrs_post_init__ZSuite.__attrs_post_init__8   s'   ::..u6HI$4 5yA))$/66w?JJw'	NN:,, **11AA!*r!2 B  **11AA!*s!3 B 
 -OO"-"8"8"D"D  
 	& 	4X6r   c                   V ^8  d   QhRR/#    runnerzpyperf.Runner Zformat   "r   __annotate__Suite.__annotate__W          r   c                	s    \         P                  ! 4        F(  w  r#V P                  VR 7      P                  VVR7       K*  	  R# ))name)r)   	ValidatorN)r   r"   version	benchmark)r#   r)   r0   r1      &&  r   r3   ZSuite.benchmarkW   s;    *002ODLLdL#--# .   3r   c               r&   )r(   returnVersionr*   r+   r,   r   r-   r.   ^   s     
 
w 
r   c                	sb    \        VV P                  R ,          V,          V P                  R7      # )tests)r0   pathr   )r6   r   r   r#   r0      &&r   r2   ZSuite.version^   s*    g%,MM
 	
r   r*   N)__name__
__module____qualname____firstlineno__r   r   r   __annotations__r   r%   r3   r2   __static_attributes__r*   r   r   r   r   2   s7     ,E4,6;6GH3G7>
 
r   r   c                  sr    ] tR t^ft$ R]R&   R]R&   R]R&   R tR R	 ltR
 R ltR R ltR t	R R lt
RtR# )r6   r   _pathr   r   r   r0   c                	sX    V P                  4        F  pVP                  ! R/ VB  K  	  R # Nr*   )casesr3   )r#   kwargscases   &, r   r3   ZVersion.benchmarkn   s!    JJLDNN$V$ !r   c               r&   r(   r5   Iterable[_Case]r*   r+   r,   r   r-   Version.__annotate__r   s     ? ? ?r   c                	X    V P                  V P                  P                  R 4      R7      # )z*.jsonpaths	_cases_inrA   Zglobr#      &r   rC   ZVersion.casesr   s     ~~DJJOOH$=~>>r   c               r&   rF   r*   r+   r,   r   r-   rH   u   s     O Oo Or   c                	rI   )zoptional/format/*.jsonrJ   rL   rN   rO   r   format_casesZVersion.format_casesu   s!    ~~DJJOO4L$M~NNr   c                    V ^8  d   QhRRRR/# )r(   r0   r   r5   rG   r*   r+   r,   r   r-   rH   x   s     P Pc Po Pr   c                	s^    V P                  V P                  R ,          V R2,          .R7      # )Zoptionalz.jsonrJ   )rM   rA   r9   r:   r   optional_cases_ofZVersion.optional_cases_ofx   s*    ~~TZZ*%<$u~%M$N~OOr   c                	s  a SP                  R RV P                  P                  4       P                  RR4      ,           4      pV3R lV 4        Uu/ uF  pVP                  VbK  	  pp\        V\        P                  3V4      p\        \        4      ;_uu_ 4        \        4       Vn        RRR4       V# u upi   + '       g   i     T# ; i)r0   ZTestZ-Z c              3  s   <"   T F3  pV F*  pVP                    F  pVP                  ! R/ SB x  K  	  K,  	  K5  	  R # 5irB   )r7   to_unittest_method)Z.0ZgrouprE   testrD   s   &   r   Z	<genexpr>Z/Version.to_unittest_testcase.<locals>.<genexpr>   sF      #E!D JJD ''1&1 ' 2! 2#s   ;>N)r!   r0   ZtitleZreplacer;   ZtypeunittestZTestCaser   Z	Exception)_someone_save_us_the_module_of_the_callerr<   )r#   ZgroupsrD   r0   ZmethodZmethodsclss   &*l    r   to_unittest_testcaseZVersion.to_unittest_testcase{   s    zz&&499??+<+D+DS"+M"MN#
 OOV# 	 
 4(++-w7
 i  FHCN ! 
#
 !  
s   B6B;;C	c               rQ   )r(   rK   zIterable[Path]r5   rG   r*   r+   r,   r   r-   rH      s      ~ / r   c           	   #  	s   "   V F_  p\         P                  ! VP                  R R7      4       F2  p\        P	                  VV VP
                  V P                  R7      x  K4  	  Ka  	  R# 5i)r   )Zencoding)r2   subjectr   N)r   r   Z	read_text_Case	from_dictZstemr   )r#   rK   r8   rE   r4   r   rM   ZVersion._cases_in   sX     D

4>>7>#CDoo  II MM	 &   E s   A(A*r*   N)r;   r<   r=   r>   r?   r3   rC   rP   rR   rX   rM   r@   r*   r   r   r6   r6   f   s9     K33
I%?OP* r   r6   c                  s    ] tR t^t$ R]R&   R]R&   R]R&   R]R&   R]R	&   R
tR]R&   RtR]R&   ]R 4       tR R lt	Rt
R
# )rZ   r6   r2   r   rY   descriptionMapping[str, Any] | boolschemazlist[_Test]r7   N
str | NonecommentzSequence[dict[str, str]]specificationc                	s    VP                  V4       VP                  R 4       Uu. uF4  p\        RRVR,          RVR,          RVR,          RVR,          RV/VB NK6  	  ppV ! RR V/VB # u upi )r7   r2   rY   case_descriptionr\   r^   r   r*   )Zupdater!   _Test)rW   datar   rD   rT   r7   s   &&&,  r   r[   Z_Case.from_dict   s    F ((7+	
 ,$  YY "&m!4 H~	
    , 	 	
 ''$''	
s   :A+c               r&   r'   r*   r+   r,   r   r-   Z_Case.__annotate__   r/   r   c           	     	s    V P                    F3  pVP                  VP                  \        VP                  3/ VB 4       K5  	  R # N)r7   Z
bench_funcfully_qualified_namer   validate_ignoring_errors)r#   r)   rD   rT      &&, r   r3   Z_Case.benchmark   s:    JJD))55@@ r   r*   )r;   r<   r=   r>   r?   r`   ra   Zclassmethodr[   r3   r@   r*   r   r   rZ   rZ      sR     L$$GZ.0M+0( ( r   rZ   F)Zreprc                  s    ] tR t^t$ R]R&   R]R&   R]R&   R]R&   R]R&   R	]R
&   R]R&   R]R&   RtR]R&   R t]R 4       tR 3R lt	R t
R tRtR# )rc   r6   r2   r   rY   rb   r\   r   rd   r]   r^   Zboolvalidr   r   Nr_   r`   c                	s"    R V P                    R2# )z<Test Z>)rf   rN   rO   r   __repr__Z_Test.__repr__   s    112!44r   c                	s    R P                  V P                  P                  V P                  V P                  V P
                  .4      # )z > )joinr2   r0   rY   rb   r\   rN   rO   r   rf   Z_Test.fully_qualified_name   s>    zz!!%%  	
 	
r   c                	s    R # re   r*   )rT   rO   r   Z<lambda>Z_Test.<lambda>   s    4r   c           	     	sD  a a S P                   '       d	   VV 3R  lpMVV 3R lpRP                  R\        P                  RS P                  4      \        P                  RS P
                  4      \        P                  RS P                  4      .4      Vn        V! S 4      pVe&   \        P                  P                  RR4      R8w  d   V# \        P                  P                  RR4      R8w  d   \        P                  ! V4      # \        P                  ! V4      ! V4      # )c                s,   < SP                   ! R/ SB  R # rB   )validateZthisrD   r#      &r   fn$_Test.to_unittest_method.<locals>.fn   s    ''r   c                s   < V P                  \        P                  4      ;_uu_ 4        SP                  ! R/ SB  R R R 4       R #   + '       g   i     R # ; irB   )ZassertRaisesr   ValidationErrorrl   rm   rn   r   ro   rp      s9    &&z'A'ABBMM+F+ CBBBs   AA	Z_rT   JSON_SCHEMA_DEBUG0ZJSON_SCHEMA_EXPECTED_FAILURES)ri   rk   _DELIMITERSZsubrY   rb   r\   r;   r   r   r   rU   ZexpectedFailureskip)r#   ru   rD   ro   Zreasons   f&l  r   rS   Z_Test.to_unittest_method   s    :::(, hhT\\2T%:%:;T%5%56	
 d>RZZ^^,?ELIZZ^^;SASH++B//==(,,r   c                	s   VP                  V P                  4       V! RR V P                  RV P                  /VB p\        P                  P                  RR4      R8w  d   \        4        VP                  V P                  R7       R# )r^   r$   rr   rs   )ZinstanceNr*   )	Zcheck_schemar^   r   r   r   r   Z
breakpointrl   rd   )r#   r1   rD   Z	validatorrh   r   rl   Z_Test.validate   st    t{{+ 
;;
]]
 
	
 ::>>-s3s:LDII.r   c                	s    \        \        P                  4      ;_uu_ 4        V P                  VR 7       RRR4       R#   + '       g   i     R# ; i))r1   N)r   r   rq   rl   )r#   r1   r:   r   rg   Z_Test.validate_ignoring_errors  s0    j0011MMIM. 2111s	   ?A	r*   )r;   r<   r=   r>   r?   r`   rj   Zpropertyrf   rS   rl   rg   r@   r*   r   r   rc   rc      sh     L
I$$K33GZ5 
 
 '8 -2	//r   rc   c                 sP    \         P                  ! ^4      P                  R,          # )ak  
The FQON of the module 2nd stack frames up from here.

This is intended to allow us to dynamically return test case classes that
are indistinguishable from being defined in the module that wants them.

Otherwise, trial will mis-print the FQON, and copy pasting it won't re-run
the class that really is running.

Save us all, this is all so so so so so terrible.
r;   )r   Z	_getframeZ	f_globalsr*   r   r   rV   rV     s     ==%%j11r   )(Z__doc__Z
__future__r    Z
contextlibr   Z	functoolsr   Zpathlibr   Ztypingr   r   r   r   Zrer   r   rU   Zattrsr   r   r    r   Zreferencing.jsonschemaZcollections.abcr	   r
   r   ZpyperfZjsonschema.validatorsr   r   Zcompilert   r   r   r6   rZ   rc   rV   r*   r   r   <module>rv      s    #    %  	 	  
     ;; - jj%$ 0
 0
 0
f 1 1 1h   D UE/ E/ E/P2r   