§
    ´³Ùgý  ã                   óx   — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddlm
Z
  G d„ d	e
j        ¦  «        ZdS )
zTests for stevedore.extension
é    N)Údriver)Ú	exception)Ú	extension)Útest_extension)Úutilsc                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	ÚTestCallbackc                 ó    — t          j        dd¦  «        }t          |                     ¦   «         ¦  «        }|                      |dg¦  «         d S )Nústevedore.test.extensionÚt1)r   ÚDriverManagerÚsortedÚnamesÚassertEqual)ÚselfÚemr   s      úQ/granary/edev/quantum/lib/python3.11/site-packages/stevedore/tests/test_driver.pyÚtest_detect_pluginsz TestCallback.test_detect_plugins   sH   € ÝÔ!Ð"<¸dÑCÔCˆÝ�r—x’x‘z”zÑ"Ô"ˆØ×Ò˜  Ñ'Ô'Ð'Ð'Ð'ó    c                 óˆ   — d„ }t          j        dd¦  «        } ||dd¬¦  «        }|                      |ddddif¦  «         d S )	Nc                 ó   — | j         ||fS )N)Úname)ÚextÚargsÚkwdss      r   Úinvokez&TestCallback.test_call.<locals>.invoke    s   € Ø”H˜d DÐ)Ð)r   r   r   ÚaÚC)Úb)r   r   )r   r   r   )r   r   r   Úresults       r   Ú	test_callzTestCallback.test_call   sa   € ð	*ð 	*ð 	*åÔ!Ð"<¸dÑCÔCˆØ��F˜C 3Ð'Ñ'Ô'ˆØ×Ò˜ $¨°°c°
Ð!;Ñ<Ô<Ð<Ð<Ð<r   c                 ó‚   — t          j        ddd¬¦  «        }|j         }|                      |t          j        ¦  «         d S )Nr   r   F©Úinvoke_on_load)r   r   ÚassertIsr   ÚFauxExtension©r   r   Úds      r   Ú(test_driver_property_not_invoked_on_loadz5TestCallback.test_driver_property_not_invoked_on_load&   sE   € ÝÔ!Ð"<¸dØ16ð8ñ 8ô 8ˆàŒIˆØ�Š�a�Ô5Ñ6Ô6Ð6Ð6Ð6r   c                 ó‚   — t          j        ddd¬¦  «        }|j         }|                      |t          j        ¦  «         d S )Nr   r   Tr#   )r   r   ÚassertIsInstancer   r&   r'   s      r   Ú$test_driver_property_invoked_on_loadz1TestCallback.test_driver_property_invoked_on_load,   sG   € ÝÔ!Ð"<¸dØ15ð7ñ 7ô 7ˆàŒIˆØ×Ò˜a¥Ô!=Ñ>Ô>Ð>Ð>Ð>r   c                 ó²   — 	 t          j        dd¦  «         d S # t          j        $ r.}|                      dt          |¦  «        ¦  «         Y d }~d S d }~ww xY w)Nzstevedore.test.extension.noner   z/No 'stevedore.test.extension.none' driver found)r   r   r   Ú	NoMatchesÚassertInÚstr)r   Úerrs     r   Útest_no_driverszTestCallback.test_no_drivers2   sƒ   € ð	$ÝÔ Ð!@À$ÑGÔGÐGÐGÐGøÝÔ"ð 	$ð 	$ð 	$Ø�MŠMÐKÝ˜c™(œ(ñ$ô $ð $ð $ð $ð $ð $ð $ð $øøøøð	$øøøs   ‚ ™A¨#AÁAc                 ó€   — 	 t          j        dd¦  «         |                      dd¦  «         d S # t          $ r Y d S w xY w)Nr   Úe2FzNo error raised)r   r   r   ÚImportError)r   s    r   Útest_bad_driverzTestCallback.test_bad_driver9   s^   € ð	7ÝÔ Ð!;¸TÑBÔBÐBð ×Ò˜UÐ$5Ñ6Ô6Ð6Ð6Ð6øõ ð 	ð 	ð 	ØˆDˆDð	øøøs   ‚/ ¯
=¼=c           	      óÒ  — t          j        dt          j        ddd¦  «        dd ¦  «        t          j        dt          j        ddd¦  «        dd ¦  «        g}	 t          j                             |d         ¦  «        }|                     |¦  «         |                      d¦  «         d S # t          j
        $ r.}|                      dt          |¦  «        ¦  «         Y d }~d S d }~ww xY w)NÚbackendzpkg1:driverzpkg backendzpkg2:driverr   zShould have had an errorÚMultiple)r   Ú	ExtensionÚimportlib_metadataÚ
EntryPointr   r   Úmake_test_instanceÚ_init_pluginsÚfailr   ÚMultipleMatchesr/   r0   )r   Ú
extensionsÚdmr1   s       r   Útest_multiple_driversz"TestCallback.test_multiple_driversA   s  € õ ÔØÝ"Ô-Ø˜}¨iñ9ô 9àØñô õ ÔØÝ"Ô-Ø˜}¨iñ9ô 9àØñô ð
ˆ
ð 	2ÝÔ%×8Ò8¸ÀA¼ÑGÔGˆBà×Ò˜ZÑ(Ô(Ð(ð �IŠIÐ0Ñ1Ô1Ð1Ð1Ð1øõ Ô(ð 	0ð 	0ð 	0Ø�MŠM˜*¥c¨#¡h¤hÑ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/øøøøð	0øøøs   Á:B) Â)C&Â8#C!Ã!C&N)
Ú__name__Ú
__module__Ú__qualname__r   r!   r)   r,   r2   r6   rC   © r   r   r	   r	      s}   € € € € € ð(ð (ð (ð
=ð =ð =ð7ð 7ð 7ð?ð ?ð ?ð$ð $ð $ð7ð 7ð 7ð2ð 2ð 2ð 2ð 2r   r	   )Ú__doc__Úimportlib.metadataÚmetadatar;   Ú	stevedorer   r   r   Ústevedore.testsr   r   ÚTestCaser	   rG   r   r   ú<module>rN      s½   ððð ð 0Ð /Ð /Ð /Ð /Ð /à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ø !Ð !Ð !Ð !Ð !Ð !ðB2ð B2ð B2ð B2ð B2�5”>ñ B2ô B2ð B2ð B2ð B2r   