a
    5ñ»j=  ã                   @   s  d dl Z d dlZd dlZzd dlmZ W n eyB   d dlZY n0 d dlZd dlm	Z	m
Z
mZmZmZmZmZmZ e	je
jejejejejejejgZeje ƒ Zdd„ Zejdd�dd„ ƒZejdd�d	d
„ ƒZdd„ Zejdd�dd„ ƒZdd„ Zejdd�dd„ ƒZdS )é    N)ÚappveyorÚ	bitbucketÚcircleciÚ	codebuildÚ	gitlab_ciÚjenkinsÚtaskclusterÚ	travis_cic                 C   s   ddl m} |  |¡ d S )Nr   )Úhooks)Úpytest_metadatar
   Zadd_hookspecs)Úpluginmanagerr
   © r   ú<E:\soccer\ml_env\Lib\site-packages\pytest_metadata/plugin.pyÚpytest_addhooks'   s    r   Úsession)Úscopec                 C   s
   | j t S )úProvide test session metadata)ÚstashÚmetadata_key)Úpytestconfigr   r   r   Úmetadata-   s    r   c                 C   s*   |j t }| ¡ D ]\}}|||ƒ qdS )r   N)r   r   Úitems)r   r   Zrecord_testsuite_propertyZ	metadata_ÚnameÚvaluer   r   r   Úinclude_metadata_in_junit_xml3   s    
r   c              	   C   sL   |   d¡}|jddg ddddd� |jd	d
dddd� |jdtddd� d S )Nzpytest-metadataz
--metadataÚappendr   )Úkeyr   é   zadditional metadata.)ÚactionÚdefaultÚdestÚmetavarÚnargsÚhelpz--metadata-from-jsonÚstorez{}Úmetadata_from_jsonz'additional metadata from a json string.)r   r   r    r#   z--metadata-from-json-fileÚmetadata_from_json_filez%additional metadata from a json file.)Útyper    r#   )ZgetgroupZ	addoptionÚstr)ÚparserÚgroupr   r   r   Úpytest_addoption;   s.    
ù	ûür+   T)Ztryfirstc           	      C   s|  t  ¡ t   ¡ tjtjdœdœ| jt< | jt  dd„ |  d¡D ƒ¡ | jt  t	 
|  d¡¡¡ |  d¡r°t|  d¡dƒ�&}| jt  t	 |¡¡ W d   ƒ n1 s¦0    Y  tƒ }| j ¡ D ]4\}}|j|j }}| d	¡rì|d
d … }|||< qÀ|| jt d< tD ]<}|D ]0}tj |¡�r| jt  |tj |¡i¡ �q�qt| dƒ�rb| jt | jd< | jj| jt | d� d S )N)ÚpytestÚpluggy)ÚPythonÚPlatformZPackagesc                 S   s   i | ]\}}||“qS r   r   )Ú.0ÚkÚvr   r   r   Ú
<dictcomp>_   ó    z$pytest_configure.<locals>.<dictcomp>r   r%   r&   Úrzpytest-é   ZPluginsÚworkeroutput)r   Úconfig)ÚplatformÚpython_versionr,   Ú__version__r-   r   r   ÚupdateÚ	getoptionÚjsonÚloadsÚopenÚloadÚdictr   Zlist_plugin_distinfoÚproject_nameÚversionÚ
startswithÚCONTINUOUS_INTEGRATIONÚosÚenvironÚgetÚhasattrr7   Úhookr   )	r8   Z	json_fileÚpluginsÚpluginÚdistr   rD   ÚproviderÚvarr   r   r   Úpytest_configureU   s6    þý 
ÿ
4

$rQ   c                 C   s"   |   d¡dkrd | jt ¡S d S )NÚverboser   zmetadata: {0})r=   Úformatr   r   )r8   r   r   r   Úpytest_report_headery   s    rT   )Zoptionalhookc                 C   s&   t | dƒr"| jjt  | jd ¡ d S )Nr7   r   )rJ   r8   r   r   r<   r7   )Únoder   r   r   Úpytest_testnodedown~   s    
rV   )r>   rG   r9   Z_pytest._pluggyZ_pluggyr-   ÚImportErrorr,   Zpytest_metadata.cir   r   r   r   r   r   r   r	   ZENVIRONMENT_VARIABLESrF   ZStashKeyrB   r   r   Zfixturer   r   r+   ZhookimplrQ   rT   rV   r   r   r   r   Ú<module>   s:   (ø





#
