






"""simple docstring"""





# 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.
__lowerCamelCase							=  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   a    (     __UpperCAmelCase      :    int  )    ->							Optional[int]:
						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   a    (     __UpperCAmelCase      :    Tuple  )    ->							Any:
						from transformers.testing_utils import pytest_addoption_shared

						pytest_addoption_shared(__UpperCAmelCase  )



def   a    (     __UpperCAmelCase      :    str  )    ->							Optional[Any]:
						from transformers.testing_utils import pytest_terminal_summary_main

						__magic_name__:	Optional[int]							=       terminalreporter.config.getoption("""--make-reports"""  )
						if make_reports:
												pytest_terminal_summary_main(__UpperCAmelCase      ,   id=__UpperCAmelCase  )



def   a    (     __UpperCAmelCase      :    Union[str, Any]      ,   __UpperCAmelCase      :    List[str]  )    ->							Optional[int]:
						# If no tests are collected, pytest exists with code 5, which makes the CI fail.
						if exitstatus == 5:
												__magic_name__:	Union[str, Any]							=       0


# Doctest custom flag to ignore output.
__lowerCamelCase							=  doctest.register_optionflag('IGNORE_RESULT')

__lowerCamelCase							=  doctest.OutputChecker



class       __A		(   SCREAMING_SNAKE_CASE_			):

					def   lowerCamelCase__   (			self  :      Optional[Any]     ,		__snake_case  :      Tuple     ,		__snake_case  :      List[Any]     ,		__snake_case  :      Tuple					)			->							str:
											if IGNORE_RESULT & optionflags:
																	return True
											return OutputChecker.check_output(self     ,		__snake_case     ,		__snake_case     ,		__snake_case					)


__lowerCamelCase							=  CustomOutputChecker
__lowerCamelCase							=  HfDoctestModule

__lowerCamelCase							=  HfDocTestParser









'''simple docstring'''


def 						lowerCamelCase__   (				a							):
						if number < 0:
												raise ValueError('number must not be negative'							)
						return number & (number - 1) == 0


if __name__ == "__main__":
	import doctest

	doctest.testmod()

