





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.
__A							:			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(       _SCREAMING_SNAKE_CASE				)							-> Optional[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 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE				)							-> int:




    """simple docstring"""




    from transformers.testing_utils import pytest_addoption_shared

    pytest_addoption_shared(_SCREAMING_SNAKE_CASE				)





def 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE				)							-> str:




    """simple docstring"""




    from transformers.testing_utils import pytest_terminal_summary_main

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





def 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)							-> Optional[int]:




    """simple docstring"""




    if exitstatus == 5:
        _A     =							0


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

__A							:			Tuple         =			doctest.OutputChecker







class      lowerCamelCase(						__snake_case	):
     '''simple docstring'''


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




__A							:			Union[str, Any]         =			CustomOutputChecker
__A							:			Optional[Any]         =			HfDoctestModule



__A							:			Tuple         =			HfDocTestParser









'''simple docstring'''
from ...utils import (
    OptionalDependencyNotAvailable,
    is_flax_available,
    is_torch_available,
    is_transformers_available,
)


try:
					if not (is_transformers_available() and is_torch_available()):
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					from ...utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
					from .multicontrolnet import MultiControlNetModel
					from .pipeline_controlnet import StableDiffusionControlNetPipeline
					from .pipeline_controlnet_imgaimg import StableDiffusionControlNetImgaImgPipeline
					from .pipeline_controlnet_inpaint import StableDiffusionControlNetInpaintPipeline


if is_transformers_available() and is_flax_available():
					from .pipeline_flax_controlnet import FlaxStableDiffusionControlNetPipeline


