


# 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       		= 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			(      snake_case__):
						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			(      snake_case__):
						from transformers.testing_utils import pytest_addoption_shared

						pytest_addoption_shared(snake_case__)

def   UpperCamelCase			(      snake_case__):
						from transformers.testing_utils import pytest_terminal_summary_main

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

def   UpperCamelCase			(      snake_case__						,  snake_case__):


						if exitstatus == 5:
												lowerCAmelCase_	:     int          = 0


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

_lowercase       		= doctest.OutputChecker

class __snake_case		( __lowerCamelCase ):





		"""simple docstring"""







		def  UpperCAmelCase_							(							self    :   List[str]						,lowerCAmelCase__    :   Tuple						,lowerCAmelCase__    :   Any						,lowerCAmelCase__    :   List[Any]      )      ->							Optional[int]:




								'''simple docstring'''

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






_lowercase       		= CustomOutputChecker
_lowercase       		= HfDoctestModule


_lowercase       		= HfDocTestParser




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


__lowerCAmelCase					   =       {
    'configuration_deberta': ['DEBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP', 'DebertaConfig', 'DebertaOnnxConfig'],
    'tokenization_deberta': ['DebertaTokenizer'],
}

try:
							if not is_tokenizers_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							__lowerCAmelCase					   =       ['DebertaTokenizerFast']

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							__lowerCAmelCase					   =       [
							    'DEBERTA_PRETRAINED_MODEL_ARCHIVE_LIST',
							    'DebertaForMaskedLM',
							    'DebertaForQuestionAnswering',
							    'DebertaForSequenceClassification',
							    'DebertaForTokenClassification',
							    'DebertaModel',
							    'DebertaPreTrainedModel',
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							__lowerCAmelCase					   =       [
							    'TF_DEBERTA_PRETRAINED_MODEL_ARCHIVE_LIST',
							    'TFDebertaForMaskedLM',
							    'TFDebertaForQuestionAnswering',
							    'TFDebertaForSequenceClassification',
							    'TFDebertaForTokenClassification',
							    'TFDebertaModel',
							    'TFDebertaPreTrainedModel',
							]


if TYPE_CHECKING:
							from .configuration_deberta import DEBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP, DebertaConfig, DebertaOnnxConfig
							from .tokenization_deberta import DebertaTokenizer

							try:
														if not is_tokenizers_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .tokenization_deberta_fast import DebertaTokenizerFast

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_deberta import (
														    DEBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
														    DebertaForMaskedLM,
														    DebertaForQuestionAnswering,
														    DebertaForSequenceClassification,
														    DebertaForTokenClassification,
														    DebertaModel,
														    DebertaPreTrainedModel,
														)

							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_deberta import (
														    TF_DEBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
														    TFDebertaForMaskedLM,
														    TFDebertaForQuestionAnswering,
														    TFDebertaForSequenceClassification,
														    TFDebertaForTokenClassification,
														    TFDebertaModel,
														    TFDebertaPreTrainedModel,
														)


else:
							import sys

							__lowerCAmelCase					   =       _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)