# 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.
__a    :	Tuple         =    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		(       lowercase				):







				"""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		(       lowercase				):







				"""simple docstring"""



				from transformers.testing_utils import pytest_addoption_shared

				pytest_addoption_shared(lowercase				)





def 							UpperCAmelCase		(       lowercase				):







				"""simple docstring"""



				from transformers.testing_utils import pytest_terminal_summary_main

				__lowercase					     =				terminalreporter.config.getoption('''--make-reports'''				)
				if make_reports:
								pytest_terminal_summary_main(lowercase				,     id=lowercase				)





def 							UpperCAmelCase		(       lowercase				,     lowercase				):







				"""simple docstring"""



				if exitstatus == 5:
								__lowercase					     =				0


# Doctest custom flag to ignore output.
__a    :	str         =    doctest.register_optionflag("""IGNORE_RESULT""")

__a    :	str         =    doctest.OutputChecker




class   _UpperCamelCase (		_UpperCAmelCase					):


			"""simple docstring"""






			def 			_SCREAMING_SNAKE_CASE     (  self ,  lowerCAmelCase__ ,  lowerCAmelCase__ ,  lowerCAmelCase__		)	->   List[Any]:

							'''simple docstring'''


							if IGNORE_RESULT & optionflags:
											return True
							return OutputChecker.check_output(self ,  lowerCAmelCase__ ,  lowerCAmelCase__ ,  lowerCAmelCase__		)


__a    :	List[str]         =    CustomOutputChecker
__a    :	Optional[Any]         =    HfDoctestModule




__a    :	Dict         =    HfDocTestParser
def 							UpperCAmelCase		(       lowercase				):







				"""simple docstring"""



				if not isinstance(lowercase				,     lowercase				):
								raise ValueError('''Input must be an integer'''				)
				if input_num <= 0:
								raise ValueError('''Input must be positive'''				)
				return sum(
				    divisor for divisor in range(1				,     input_num // 2 + 1				) if input_num % divisor == 0				)


if __name__ == "__main__":
		import doctest

		doctest.testmod()