

"""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.
A_							:			List[str]											= 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 	A       (     snake_case__    ):




			'''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 	A       (     snake_case__    ):




			'''simple docstring'''


			from transformers.testing_utils import pytest_addoption_shared

			pytest_addoption_shared(SCREAMING_SNAKE_CASE__    )

def 	A       (     snake_case__    ):




			'''simple docstring'''


			from transformers.testing_utils import pytest_terminal_summary_main

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

def 	A       (     snake_case__		,				snake_case__    ):




			'''simple docstring'''


			if exitstatus == 5:
						SCREAMING_SNAKE_CASE__								=      0


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

A_							:			Tuple											= doctest.OutputChecker





class    lowerCamelCase						(_UpperCAmelCase			):

			def 					SCREAMING_SNAKE_CASE				(					self				:						Optional[int]    ,				__UpperCAmelCase				:						Optional[int]    ,				__UpperCAmelCase				:						Any    ,				__UpperCAmelCase				:						Tuple       )   ->    List[Any]:
						if IGNORE_RESULT & optionflags:
									return True
						return OutputChecker.check_output(self    ,				lowercase__    ,				lowercase__    ,				lowercase__       )
A_							:			Tuple											= CustomOutputChecker
A_							:			List[str]											= HfDoctestModule




A_							:			List[Any]											= HfDocTestParser







"""simple docstring"""




import pytest
import requests

from datasets.utils.file_utils import http_head

from .utils import OfflineSimulationMode, RequestWouldHangIndefinitelyError, offline

@pytest.mark.integration
def 	A       (     ):




			'''simple docstring'''


			with offline(OfflineSimulationMode.CONNECTION_TIMES_OUT    ):
						with pytest.raises(snake_case__    ):
									requests.request("""GET"""		,				"""https://huggingface.co"""    )
						with pytest.raises(requests.exceptions.ConnectTimeout    ):
									requests.request("""GET"""		,				"""https://huggingface.co"""		,				timeout=1.0    )

@pytest.mark.integration
def 	A       (     ):




			'''simple docstring'''


			with offline(OfflineSimulationMode.CONNECTION_FAILS    ):
						with pytest.raises(requests.exceptions.ConnectionError    ):
									requests.request("""GET"""		,				"""https://huggingface.co"""    )




def 	A       (     ):




			'''simple docstring'''


			with offline(OfflineSimulationMode.HF_DATASETS_OFFLINE_SET_TO_1    ):
						with pytest.raises(snake_case__    ):
									http_head("""https://huggingface.co"""    )


