o
    e                     @   s*   d Z ddlZddlmZ ejZdd ZdS )z3Internal helper for running tests on Windows Bazel.    N)flagsc           
      C   s   t jdkr_| d7 } t jtjd}t jd }d|| }t|d.}|D ]#}|	 
d}t|dkr4q$||d	 krG|d
   W  d   S q$W d   n1 sRw   Y  td| |t}ttdd
 D ]}t j|}qj|}	t j|	| S )a  Returns the executable path of a py_binary.

  This returns the executable path of a py_binary that is in another Bazel
  target's data dependencies.

  On Linux/macOS, the path and __file__ has the same root directory.
  On Windows, bazel builds an .exe file and we need to use the MANIFEST file
  the location the actual binary.

  Args:
    py_binary_name: string, the name of a py_binary that is in another Bazel
        target's data dependencies.

  Raises:
    RuntimeError: Raised when it cannot locate the executable path.
  ntz.exeZMANIFESTZTEST_WORKSPACEz{}/{}r    r      Nz8Cannot locate executable path for {}, MANIFEST file: {}..)osnamepathjoinFLAGSZtest_srcdirenvironformatopenstripsplitlenRuntimeError__file__range__name__countdirname)
Zpy_binary_nameZmanifest_fileZworkspace_nameZmanifest_entryZmanifest_fdlinetokensr   _Zroot_directory r   ND:\Projects\ConvertPro\env\Lib\site-packages\absl/testing/_bazelize_command.pyget_executable_path   s4   


r   )__doc__r	   Zabslr   r   r   r   r   r   r   <module>   s
   