
# tests directory-specific settings - this file is run automatically
# by pytest before any tests are run

import sys
import warnings
from os.path import abspath, dirname, join


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
lowercase__		:int			  =   abspath(join(dirname(dirname(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   (							lowerCAmelCase__		):
					'''simple docstring'''
					from transformers.testing_utils import pytest_addoption_shared

					pytest_addoption_shared(lowerCAmelCase__		)



def 	UpperCamelCase   (							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__		)






from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_torch_available,
    is_vision_available,
)


lowercase__		:str			  =   {"configuration_vit": ["VIT_PRETRAINED_CONFIG_ARCHIVE_MAP", "ViTConfig", "ViTOnnxConfig"]}

try:
							if not is_vision_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase__		:str			  =   ["ViTFeatureExtractor"]
							lowercase__		:int			  =   ["ViTImageProcessor"]

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase__		:int			  =   [
							    "VIT_PRETRAINED_MODEL_ARCHIVE_LIST",
							    "ViTForImageClassification",
							    "ViTForMaskedImageModeling",
							    "ViTModel",
							    "ViTPreTrainedModel",
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase__		:Any			  =   [
							    "TFViTForImageClassification",
							    "TFViTModel",
							    "TFViTPreTrainedModel",
							]

try:
							if not is_flax_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase__		:Optional[int]			  =   [
							    "FlaxViTForImageClassification",
							    "FlaxViTModel",
							    "FlaxViTPreTrainedModel",
							]

if TYPE_CHECKING:
							from .configuration_vit import VIT_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTConfig, ViTOnnxConfig

							try:
														if not is_vision_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .feature_extraction_vit import ViTFeatureExtractor
														from .image_processing_vit import ViTImageProcessor

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_vit import (
														    VIT_PRETRAINED_MODEL_ARCHIVE_LIST,
														    ViTForImageClassification,
														    ViTForMaskedImageModeling,
														    ViTModel,
														    ViTPreTrainedModel,
														)

							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_vit import TFViTForImageClassification, TFViTModel, TFViTPreTrainedModel

							try:
														if not is_flax_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_flax_vit import FlaxViTForImageClassification, FlaxViTModel, FlaxViTPreTrainedModel


else:
							import sys

							lowercase__		:Dict			  =   _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)




