

# 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   __SCREAMING_SNAKE_CASE					(SCREAMING_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   __SCREAMING_SNAKE_CASE					(SCREAMING_SNAKE_CASE__       ):
						from transformers.testing_utils import pytest_addoption_shared

						pytest_addoption_shared(SCREAMING_SNAKE_CASE__       )


def   __SCREAMING_SNAKE_CASE					(SCREAMING_SNAKE_CASE__       ):
						from transformers.testing_utils import pytest_terminal_summary_main

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


def   __SCREAMING_SNAKE_CASE					(SCREAMING_SNAKE_CASE__  ,		SCREAMING_SNAKE_CASE__       ):
						# If no tests are collected, pytest exists with code 5, which makes the CI fail.
						if exitstatus == 5:
												snake_case_   =	0


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

lowerCAmelCase_       	=	doctest.OutputChecker





class 	snake_case_   (		__A					):







			'''simple docstring'''

			def 				snake_case__(     self :				Dict							,   _UpperCamelCase :				List[Any]							,   _UpperCamelCase :				Union[str, Any]							,   _UpperCamelCase :				Optional[Any]							)      ->int:
									if IGNORE_RESULT & optionflags:
															return True
									return OutputChecker.check_output(self							,   _UpperCamelCase							,   _UpperCamelCase							,   _UpperCamelCase							)






lowerCAmelCase_       	=	CustomOutputChecker
lowerCAmelCase_       	=	HfDoctestModule
lowerCAmelCase_       	=	HfDocTestParser


from typing import TYPE_CHECKING

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


lowerCAmelCase_       	=	{'''configuration_dpt''': ['''DPT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''DPTConfig''']}

try:
					if not is_vision_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCAmelCase_       	=	['''DPTFeatureExtractor''']
					lowerCAmelCase_       	=	['''DPTImageProcessor''']

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCAmelCase_       	=	[
					    '''DPT_PRETRAINED_MODEL_ARCHIVE_LIST''',
					    '''DPTForDepthEstimation''',
					    '''DPTForSemanticSegmentation''',
					    '''DPTModel''',
					    '''DPTPreTrainedModel''',
					]


if TYPE_CHECKING:
					from .configuration_dpt import DPT_PRETRAINED_CONFIG_ARCHIVE_MAP, DPTConfig

					try:
										if not is_vision_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .feature_extraction_dpt import DPTFeatureExtractor
										from .image_processing_dpt import DPTImageProcessor

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_dpt import (
										    DPT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    DPTForDepthEstimation,
										    DPTForSemanticSegmentation,
										    DPTModel,
										    DPTPreTrainedModel,
										)


else:
					import sys

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