o
    i 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.exeMANIFESTTEST_WORKSPACEz{}/{}r    r      Nz8Cannot locate executable path for {}, MANIFEST file: {}..)osnamepathjoinFLAGStest_srcdirenvironformatopenstripsplitlenRuntimeError__file__range__name__countdirname)
py_binary_namemanifest_fileworkspace_namemanifest_entrymanifest_fdlinetokensr   _root_directory r&   M/var/www/myenv/lib/python3.10/site-packages/absl/testing/_bazelize_command.pyget_executable_path   s4   


r(   )__doc__r   abslr   r   r(   r&   r&   r&   r'   <module>   s
   