o
    2h                     @   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}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_WORKSPACE/    r      Nz8Cannot locate executable path for {}, MANIFEST file: {}..)osnamepathjoinFLAGStest_srcdirenvironopenstripsplitlenRuntimeErrorformat__file__range__name__countdirname)
py_binary_namemanifest_fileworkspace_namemanifest_entrymanifest_fdlinetokensr   _root_directory r&   Y/var/www/html/chatgem/venv/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
   