'''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.
_lowercase		:				Union[str, 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 							lowerCamelCase			(   UpperCAmelCase__ :      str				)    ->   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 							lowerCamelCase			(   UpperCAmelCase__ :      Union[str, Any]				)    ->   Any:
       from transformers.testing_utils import pytest_addoption_shared

       pytest_addoption_shared(UpperCAmelCase__				)




def 							lowerCamelCase			(   UpperCAmelCase__ :      Tuple				)    ->   Union[str, Any]:
       from transformers.testing_utils import pytest_terminal_summary_main

       lowercase_      :    Any       		= terminalreporter.config.getoption("""--make-reports"""				)
       if make_reports:
              pytest_terminal_summary_main(UpperCAmelCase__   ,   id=UpperCAmelCase__				)




def 							lowerCamelCase			(   UpperCAmelCase__ :      Optional[Any]   ,   UpperCAmelCase__ :      int				)    ->   Union[str, Any]:






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


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

_lowercase		:				List[Any]	       =		doctest.OutputChecker





class 					__magic_name__		(					_a):







   def 			SCREAMING_SNAKE_CASE_  (			self       :						Any       ,    lowercase_       :						Optional[Any]       ,    lowercase_       :						str       ,    lowercase_       :						Union[str, Any]					):
          if IGNORE_RESULT & optionflags:
                 return True
          return OutputChecker.check_output(self       ,    _A       ,    _A       ,    _A					)




_lowercase		:				Any	       =		CustomOutputChecker
_lowercase		:				str	       =		HfDoctestModule

_lowercase		:				List[Any]	       =		HfDocTestParser






'''simple docstring'''




from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


_lowercase		:				Dict	       =		{
    "configuration_bloom": ["BLOOM_PRETRAINED_CONFIG_ARCHIVE_MAP", "BloomConfig", "BloomOnnxConfig"],
}
try:
						if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						_lowercase		:				Dict	       =		["BloomTokenizerFast"]

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						_lowercase		:				Dict	       =		[
						    "BLOOM_PRETRAINED_MODEL_ARCHIVE_LIST",
						    "BloomForCausalLM",
						    "BloomModel",
						    "BloomPreTrainedModel",
						    "BloomForSequenceClassification",
						    "BloomForTokenClassification",
						    "BloomForQuestionAnswering",
						]

if TYPE_CHECKING:
						from .configuration_bloom import BLOOM_PRETRAINED_CONFIG_ARCHIVE_MAP, BloomConfig, BloomOnnxConfig

						try:
												if not is_tokenizers_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .tokenization_bloom_fast import BloomTokenizerFast

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_bloom import (
												    BLOOM_PRETRAINED_MODEL_ARCHIVE_LIST,
												    BloomForCausalLM,
												    BloomForQuestionAnswering,
												    BloomForSequenceClassification,
												    BloomForTokenClassification,
												    BloomModel,
												    BloomPreTrainedModel,
												)

else:
						import sys

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





