






# 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__	:			List[str]			   = 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			(						lowerCamelCase_				):






				'''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   a			(						lowerCamelCase_				):






				'''simple docstring'''
				from transformers.testing_utils import pytest_addoption_shared

				pytest_addoption_shared(lowerCamelCase_				)






def   a			(						lowerCamelCase_				):






				'''simple docstring'''
				from transformers.testing_utils import pytest_terminal_summary_main

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






def   a			(						lowerCamelCase_		,   lowerCamelCase_				):






				'''simple docstring'''
				# If no tests are collected, pytest exists with code 5, which makes the CI fail.
				if exitstatus == 5:
								lowercase__    =			0


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

A__	:			int			   = doctest.OutputChecker
class       _UpperCAmelCase					(       A__	):

				"""simple docstring"""




				def 				lowercase__   (     self						:    Union[str, Any],  lowerCamelCase						:    Tuple,  lowerCamelCase						:    Tuple,  lowerCamelCase						:    Optional[int]  ):

								'''simple docstring'''
								if IGNORE_RESULT & optionflags:
												return True
								return OutputChecker.check_output(self,  lowerCamelCase,  lowerCamelCase,  lowerCamelCase  )



A__	:			Dict			   = CustomOutputChecker
A__	:			List[str]			   = HfDoctestModule




A__	:			Any			   = HfDocTestParser












from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_sentencepiece_available


A__	:			Optional[int]			   = {}

try:
							if not is_sentencepiece_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							A__	:			Optional[int]			   = ['GPTSw3Tokenizer']


if TYPE_CHECKING:
							try:
														if not is_sentencepiece_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .tokenization_gpt_swa import GPTSwaTokenizer

else:
							import sys

							A__	:			Optional[int]			   = _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)




