�
㦧b� � �� � d Z ddlmZ ddlZddlZddlZddlZddlZ ej e � � Z
G d� dej � � Z G d� dej � � Z
ddlmZ d ZeZdS # e$ r d
Ze
ZY dS w xY w)a� setuptools/distutils command to run testr via setup.py
PBR will hook in the Testr class to provide "setup.py test" when
.testr.conf is present in the repository (see pbr/hooks/commands.py).
If we are activated but testrepository is not installed, we provide a
sensible error.
You can pass --coverage which will also export PYTHON='coverage run
--source <your package>' and automatically combine the coverage from
each testr backend test runner after the run completes.
� )�cmdNc �F � e Zd ZdZg d�Zg d�Zd� Zd� Zd� Zd� Z d� Z
d � Zd
S )� TestrRealz&DEPRECATED: Run unit tests using testr))�coverageNzGReplace PYTHON with coverage and merge coverage from each testr worker.)ztestr-args=�tzRun 'testr' with these args)zomit=�oz(Files to omit from coverage calculations)zcoverage-package-name=NzLUse this name to select packages for coverage (one or more, comma-separated))�slowestNz-Show slowest test times after tests complete.)zno-parallelNzRun testr serially)z
log-level=�lzLog level (default: info))r r �no_parallelc �� � t � d|� � t j t j d gt
|� � z t j t j t j � � S )Nz _run_testr called with args = %rr )
�logger�debug�commands�run_argv�sys�argv�list�stdin�stdout�stderr)�self�argss �3/usr/lib/python3/dist-packages/pbr/testr_command.py�
_run_testrzTestrReal._run_testrH sQ � ����7��>�>�>�� �#�(�1�+���d���!;�!$��C�J��
�D� D� D� c �h � d | _ d | _ d| _ d | _ d | _ d | _ d| _ d S )N� �info)�
testr_argsr �omitr �coverage_package_namer � log_level�r s r �initialize_optionszTestrReal.initialize_optionsM s9 � ������
��� ����%)��"��������r c � � t t | j � � � t j � � | _ t j | j �� � t � d� � | j �g | _ n| j � � � | _ | j
rd| j
z | _
t � d| j � � d S )N)�levelzfinalize_options calledz --omit=%sz$finalize_options: self.__dict__ = %r)�getattr�loggingr" |