
    EgQ                    \   d dl mZ d dlZd dlZd dlZddlmZmZmZm	Z	 ddl
mZ ej        d4d
            Zd5dZd6dZd6dZd6dZd7dZd7dZd6dZ edde          d8d            Zd6dZ G d d          Zd6dZ edddd           d8d!            Zd6d"Zd9d$Z ed%ed&d'          Zd6d(Z G d) d*          Zd6d+Z ed,dd-          d7d.            Z  ed,dd-          d7d/            Z! ed,dd          d7d0            Z" ed,dd          d7d1            Z#d7d2Z$d6d3Z%dS ):    )annotationsN   )TrioDeprecationWarning
deprecateddeprecated_aliaswarn_deprecated   )module_with_deprecationsrecwarnpytest.WarningsRecorderreturnc                b    t          j        d           t          j        dt                     | S )Nalwaysignore)warningssimplefilterResourceWarning)r   s    O/var/www/sysmax/venv/lib/python3.11/site-packages/trio/_tests/test_deprecate.pyrecwarn_alwaysr      s-    (### (O444N    tuple[str, int]c                     t          j                    } | J | j        J t          j        | j                  }|j        |j        fS N)inspectcurrentframef_backgetframeinfofilenamelineno)frameinfos     r   _herer"      sK     ""E<###--DM4;''r   r   Nonec                   d
d} |             t                      \  }}t          |           dk    sJ |                     t                    }t	          |j        t                    sJ d|j        j        d         v sJ d|j        j        d         v sJ d|j        j        d         v sJ d	|j        j        d         v sJ |j        |k    sJ |j	        |dz
  k    sJ d S )Nr   r#   c                 ,    t          dddd           d S )Nice1.2r	   waterissueinsteadr    r   r   deprecated_thingz.test_warn_deprecated.<locals>.deprecated_thing#   s    uAw??????r   r	   zice is deprecatedr   zTrio 1.2zwater instead	/issues/1r   r#   )
r"   lenpopr   
isinstancemessageWarningargsr   r   )r   r.   r   r   gots        r   test_warn_deprecatedr8   "   s   @ @ @ @ wwHf~!####


3
4
4Cck7+++++#+"21"55555)!,,,,,ck.q11111#+*1-----<8####:!######r   c                F   t          ddd d            t          |           dk    sJ |                     t                    }t	          |j        t                    sJ d|j        j        d         v sJ d|j        j        d         v sJ d|j        j        d         v sJ d S )	Nr(   1.3r)   r	   zwater is deprecatedr   zno replacementzTrio 1.3)r   r1   r2   r   r3   r4   r5   r6   r   r7   s     r   (test_warn_deprecated_no_instead_or_issuer<   3   s     GU$====~!####


3
4
4Cck7+++++ CK$4Q$77777s{/22222)!,,,,,,,r   c                    dfd}ddt                      \  }} |             |                     t                    }|j        |k    sJ |j        |dz   k    sJ d S )Nr   r#   c                                    d S r   r-   )nested2s   r   nested1z0test_warn_deprecated_stacklevel.<locals>.nested1A   s    					r   c                 .    t          ddddd           d S )Nxr:      y   )r*   r+   
stacklevelr,   r-   r   r   r?   z0test_warn_deprecated_stacklevel.<locals>.nested2D   s!    U!SQGGGGGGr   r	   r0   )r"   r2   r   r   r   )r   r@   r   r   r7   r?   s        @r   test_warn_deprecated_stacklevelrG   @   s         H H H H wwHfGIII


3
4
4C<8####:!######r   c                     d S r   r-   r-   r   r   oldrI   N       Dr   c                     d S r   r-   r-   r   r   newrL   R   rJ   r   c                   t          t          ddt                     |                     t                    }t          |j        t                    sJ d|j        j        d         v sJ d|j        j        d         v sJ d S )N1.0r	   r)   z test_deprecate.old is deprecatedr   ztest_deprecate.new instead)	r   rI   rL   r2   r   r3   r4   r5   r6   r;   s     r   test_warn_deprecated_formattingrO   V   s    Ca5555


3
4
4Cck7+++++-1A!1DDDDD'3;+;A+>>>>>>>r   1.5{   r)   intc                     dS )NrE   r-   r-   r   r   deprecated_oldrT   ^   s    1r   c                J   t                      dk    sJ |                     t                    }t          |j        t
                    sJ d|j        j        d         v sJ d|j        j        d         v sJ d|j        j        d         v sJ d|j        j        d         v sJ d S )NrE   z+test_deprecate.deprecated_old is deprecatedr   rP   ztest_deprecate.newz
issues/123)rT   r2   r   r3   r4   r5   r6   r;   s     r   test_deprecated_decoratorrV   c   s    q    


3
4
4Cck7+++++8CK<LQ<OOOOOCK$Q'''''3;#3A#666663;+A.......r   c                  >    e Zd Z eddd          d	d            ZdS )
FoorN   rQ   cryingr)   r   rR   c                    dS )NrC   r-   selfs    r   methodz
Foo.methodn   s    qr   Nr   rR   )__name__
__module____qualname__r   r]   r-   r   r   rX   rX   m   sD        ZS(333   43  r   rX   c                    t                      }|                                dk    sJ |                     t                    }t	          |j        t                    sJ d|j        j        d         v sJ d S )NrC   z'test_deprecate.Foo.method is deprecatedr   )rX   r]   r2   r   r3   r4   r5   r6   )r   fr7   s      r    test_deprecated_decorator_methodrd   s   sm    A88::????


3
4
4Cck7+++++48H8KKKKKKKr   r'   z	the thing)thingr*   r+   c                     dS )NH   r-   r-   r   r   deprecated_with_thingrh   {   s    2r   c                    t                      dk    sJ |                     t                    }t          |j        t
                    sJ d|j        j        d         v sJ d S )Nrg   zthe thing is deprecatedr   )rh   r2   r   r3   r4   r5   r6   r;   s     r   -test_deprecated_decorator_with_explicit_thingrj      sh     !""b((((


3
4
4Cck7+++++$(8(;;;;;;;r   strc                     dS )Nnew hotnessr-   r-   r   r   new_hotnessrn      s    =r   old_hotness1.23r*   c                   t                      dk    sJ |                     t                    }t          |j        t
                    sJ d|j        j        d         v sJ d|j        j        d         v sJ d|j        j        d         v sJ d|j        j        d         v sJ t          t           j        t                    sJ dt           j        v sJ dt           j        v sJ dt           j        v sJ d S )	Nrm   z(test_deprecate.old_hotness is deprecatedr   rp   z"test_deprecate.new_hotness insteadzissues/1z.. deprecated:: 1.23zissues/1>`__)	ro   r2   r   r3   r4   r5   r6   __doc__rk   r;   s     r   test_deprecated_aliasrt      s
   ==M))))


3
4
4Cck7+++++59I!9LLLLLS[%a(((((/3;3CA3FFFFF)!,,,,,k)3/////![%88888/;3FFFFF[0000000r   c                  4    e Zd Zd	dZ ededd          ZdS )
Aliasr   rk   c                    dS )Nnew hotness methodr-   r[   s    r   new_hotness_methodzAlias.new_hotness_method   s    ##r   zAlias.old_hotness_methodz3.21r	   rq   Nr   rk   )r_   r`   ra   ry   r   old_hotness_methodr-   r   r   rv   rv      sH        $ $ $ $ *)"$6a  r   rv   c                    t                      }|                                dk    sJ |                     t                    }t	          |j        t                    sJ |j        j        d         }d|v sJ d|v sJ d S )Nrx   r   z5test_deprecate.Alias.old_hotness_method is deprecatedz/test_deprecate.Alias.new_hotness_method instead)rv   r{   r2   r   r3   r4   r5   r6   )r   objr7   msgs       r   test_deprecated_alias_methodr      s    
''C!!##';;;;;


3
4
4Cck7+++++
+
1
CBcIIII<CCCCCCr   z2.1hic                     dS zHello!Nr-   r-   r   r   docstring_test1r            r   c                     dS r   r-   r-   r   r   docstring_test2r      r   r   c                     dS r   r-   r-   r   r   docstring_test3r      r   r   c                     dS r   r-   r-   r   r   docstring_test4r      r   r   c                     t           j        dk    sJ t          j        dk    sJ t          j        dk    sJ t          j        dk    sJ d S )NzHello!

.. deprecated:: 2.1
   Use hi instead.
   For details, see `issue #1 <https://github.com/python-trio/trio/issues/1>`__.

z0Hello!

.. deprecated:: 2.1
   Use hi instead.

znHello!

.. deprecated:: 2.1
   For details, see `issue #1 <https://github.com/python-trio/trio/issues/1>`__.

zHello!

.. deprecated:: 2.1

)r   rs   r   r   r   r-   r   r   !test_deprecated_docstring_mungingr      s    	 	 	 	 		 	 	 	 		 	 	 	 		 	 	 	 	 	r   c                (   t           j        dk    sJ t          |           dk    sJ t                      \  }}t           j        dk    sJ |                     t                    }t          |j        t                    sJ |j
        |k    sJ |j        |dz   k    sJ d|j        j        d         v sJ d|j        j        d         v sJ d|j        j        d         v sJ d|j        j        d         v sJ t           j        d	k    sJ |                     t                    }t          |j        t                    sJ d
|j        j        d         v sJ t          j        t                     5  t           j         d d d            d S # 1 swxY w Y   d S )Nr   r   value1r	   zmodule_with_deprecations.dep1zTrio 1.1r/   zvalue1 insteadvalue2zinstead-string instead)r
   regularr1   r"   dep1r2   r   r3   r4   r5   r   r   r6   dep2pytestraisesAttributeErrorasdf)r   r   r   r7   s       r   test_module_with_deprecationsr      s   #+t3333~!####wwHf#(H4444


3
4
4Cck7+++++<8####:!####*ck.>q.AAAAA)!,,,,,#+*1-----s{/22222#(H4444


3
4
4Cck7+++++#s{'7':::::	~	&	& & & %%& & & & & & & & & & & & & & & & & &s   -FFF)r   r   r   r   )r   r   )r   r   r   r#   r0   r^   rz   )&
__future__r   r   r   r   
_deprecater   r   r   r    r
   fixturer   r"   r8   r<   rG   rI   rL   rO   rT   rV   rX   rd   rh   rj   rn   ro   rt   rv   r   r   r   r   r   r   r   r-   r   r   <module>r      s}   " " " " " "               ' & & & & &    ( ( ( ($ $ $ $"
- 
- 
- 
-$ $ $ $	 	 	 		 	 	 	? ? ? ? Ec***   +*/ / / /       L L L L ED$???   @?< < < <    }k6KKK1 1 1 1       D D D D ED)))   *) Et,,,   -, ED)))   *) Et,,,   -,' ' ' 'T& & & & & &r   