




"""simple docstring"""







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 					lowercase      (    A_	)->				List[Any]:
  '''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 					lowercase      (    A_	)->				Optional[Any]:
  '''simple docstring'''







  from transformers.testing_utils import pytest_addoption_shared

  pytest_addoption_shared(A_	)


def 					lowercase      (    A_	)->				str:
  '''simple docstring'''







  from transformers.testing_utils import pytest_terminal_summary_main

  a						:		Union[str, Any]											=      terminalreporter.config.getoption("--make-reports"	)
  if make_reports:
    pytest_terminal_summary_main(A_  ,       id=A_	)


def 					lowercase      (    A_  ,       A_	)->				int:
  '''simple docstring'''







  if exitstatus == 5:
    a						:		Optional[Any]											=      0


# Doctest custom flag to ignore output.
__lowercase    =				doctest.register_optionflag("""IGNORE_RESULT""")

__lowercase    =				doctest.OutputChecker






class 						_A  (  _a  ):







    """simple docstring"""




    def      __snake_case							( self    :   List[Any]    ,			__UpperCAmelCase    :   str    ,			__UpperCAmelCase    :   Any    ,			__UpperCAmelCase    :   Any):
      if IGNORE_RESULT & optionflags:
        return True
      return OutputChecker.check_output(self    ,			__UpperCAmelCase    ,			__UpperCAmelCase    ,			__UpperCAmelCase)






__lowercase    =				CustomOutputChecker
__lowercase    =				HfDoctestModule







__lowercase    =				HfDocTestParser










"""simple docstring"""







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__lowercase    =				{
    """configuration_instructblip""": [
        """INSTRUCTBLIP_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """InstructBlipConfig""",
        """InstructBlipQFormerConfig""",
        """InstructBlipVisionConfig""",
    ],
    """processing_instructblip""": ["""InstructBlipProcessor"""],
}

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 __lowercase    =				[
     """INSTRUCTBLIP_PRETRAINED_MODEL_ARCHIVE_LIST""",
     """InstructBlipQFormerModel""",
     """InstructBlipPreTrainedModel""",
     """InstructBlipForConditionalGeneration""",
     """InstructBlipVisionModel""",
 ]

if TYPE_CHECKING:
 from .configuration_instructblip import (
     INSTRUCTBLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
     InstructBlipConfig,
     InstructBlipQFormerConfig,
     InstructBlipVisionConfig,
 )
 from .processing_instructblip import InstructBlipProcessor

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_instructblip import (
      INSTRUCTBLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
      InstructBlipForConditionalGeneration,
      InstructBlipPreTrainedModel,
      InstructBlipQFormerModel,
      InstructBlipVisionModel,
  )

else:
 import sys

 __lowercase    =				_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)






