





# tests directory-specific settings - this file is run automatically
# by pytest before any tests are run

import doctest
import sys
import warnings
from os.path import abspath, dirname, join

import _pytest

from transformers.testing_utils import HfDoctestModule, HfDocTestParser


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
__lowercase       :List[Any]       =  abspath(join(dirname(__file__), "src"))
sys.path.insert(1, git_repo_path)

# silence FutureWarning warnings in tests since often we can't act on them until
# they become normal warnings - i.e. the tests still need to test the current functionality
warnings.simplefilter(action="ignore", category=FutureWarning)







def       UpperCAmelCase							(     _lowerCamelCase      :  int     ):





      '''simple docstring'''


      config.addinivalue_line(
          "markers"			,   "is_pt_tf_cross_test: mark test to run only when PT and TF interactions are tested"     )
      config.addinivalue_line(
          "markers"			,   "is_pt_flax_cross_test: mark test to run only when PT and FLAX interactions are tested"     )
      config.addinivalue_line("markers"			,   "is_pipeline_test: mark test to run only when pipelines are tested"     )
      config.addinivalue_line("markers"			,   "is_staging_test: mark test to run only in the staging environment"     )
      config.addinivalue_line("markers"			,   "accelerate_tests: mark test that require accelerate"     )
      config.addinivalue_line("markers"			,   "tool_tests: mark the tool tests that are run on their specific schedule"     )







def       UpperCAmelCase							(     _lowerCamelCase      :  str     ):





      '''simple docstring'''


      from transformers.testing_utils import pytest_addoption_shared

      pytest_addoption_shared(_lowerCamelCase     )







def       UpperCAmelCase							(     _lowerCamelCase      :  Tuple     ):





      '''simple docstring'''


      from transformers.testing_utils import pytest_terminal_summary_main

      SCREAMING_SNAKE_CASE__     :				List[str]   =					terminalreporter.config.getoption("--make-reports"     )
      if make_reports:
            pytest_terminal_summary_main(_lowerCamelCase			,   id=_lowerCamelCase     )







def       UpperCAmelCase							(     _lowerCamelCase      :  List[Any]			,   _lowerCamelCase      :  Dict     ):





      '''simple docstring'''


      if exitstatus == 5:
            SCREAMING_SNAKE_CASE__     :				List[str]   =					0


# Doctest custom flag to ignore output.
__lowercase       :Optional[Any]       =  doctest.register_optionflag("IGNORE_RESULT")

__lowercase       :Dict       =  doctest.OutputChecker



class    _a     (				lowercase__							):






       """simple docstring"""

       def      A_  (      self				:     Dict							,	a				:     List[str]							,	a				:     Dict							,	a				:     int    )	->Optional[Any]:
             if IGNORE_RESULT & optionflags:
                   return True
             return OutputChecker.check_output(self							,	a							,	a							,	a    )







__lowercase       :Any       =  CustomOutputChecker
__lowercase       :Any       =  HfDoctestModule



__lowercase       :int       =  HfDocTestParser






from __future__ import annotations







def       UpperCAmelCase							(     _lowerCamelCase      :  list[int | float]			,   _lowerCamelCase      :  int			,   _lowerCamelCase      :  int     ):





						'''simple docstring'''


						if len(_lowerCamelCase     ) == 0:
												raise ValueError("find_max() arg is an empty sequence"     )
						if (
						    left >= len(_lowerCamelCase     )
						    or left < -len(_lowerCamelCase     )
						    or right >= len(_lowerCamelCase     )
						    or right < -len(_lowerCamelCase     )
						):
												raise IndexError("list index out of range"     )
						if left == right:
												return nums[left]
						SCREAMING_SNAKE_CASE__     :				Optional[int]   =					(left + right) >> 1  # the middle
						SCREAMING_SNAKE_CASE__     :				List[Any]   =					find_max(_lowerCamelCase			,   _lowerCamelCase			,   _lowerCamelCase     )  # find max in range[left, mid]
						SCREAMING_SNAKE_CASE__     :				Optional[int]   =					find_max(_lowerCamelCase			,   mid + 1			,   _lowerCamelCase     )  # find max in range[mid + 1, right]

						return left_max if left_max >= right_max else right_max


if __name__ == "__main__":
				import doctest

				doctest.testmod(verbose=True)