




'''simple docstring'''





# 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.
UpperCAmelCase_						=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       UpperCAmelCase       (     _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       UpperCAmelCase       (     _snake_case							):
							from transformers.testing_utils import pytest_addoption_shared

							pytest_addoption_shared(_snake_case							)



def       UpperCAmelCase       (     _snake_case							):
							from transformers.testing_utils import pytest_terminal_summary_main

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



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


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

UpperCAmelCase_						=doctest.OutputChecker


class 							__UpperCamelCase			( __UpperCAmelCase  ):





				'''simple docstring'''



				def       __snake_case		( self       , UpperCAmelCase_       , UpperCAmelCase_       , UpperCAmelCase_						):
											if IGNORE_RESULT & optionflags:
																		return True
											return OutputChecker.check_output(self       , UpperCAmelCase_       , UpperCAmelCase_       , UpperCAmelCase_						)




UpperCAmelCase_						=CustomOutputChecker
UpperCAmelCase_						=HfDoctestModule

UpperCAmelCase_						=HfDocTestParser









from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


UpperCAmelCase_						={
    """configuration_jukebox""": [
        """JUKEBOX_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """JukeboxConfig""",
        """JukeboxPriorConfig""",
        """JukeboxVQVAEConfig""",
    ],
    """tokenization_jukebox""": ["""JukeboxTokenizer"""],
}

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		UpperCAmelCase_						=[
		    """JUKEBOX_PRETRAINED_MODEL_ARCHIVE_LIST""",
		    """JukeboxModel""",
		    """JukeboxPreTrainedModel""",
		    """JukeboxVQVAE""",
		    """JukeboxPrior""",
		]

if TYPE_CHECKING:
		from .configuration_jukebox import (
		    JUKEBOX_PRETRAINED_CONFIG_ARCHIVE_MAP,
		    JukeboxConfig,
		    JukeboxPriorConfig,
		    JukeboxVQVAEConfig,
		)
		from .tokenization_jukebox import JukeboxTokenizer

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_jukebox import (
				    JUKEBOX_PRETRAINED_MODEL_ARCHIVE_LIST,
				    JukeboxModel,
				    JukeboxPreTrainedModel,
				    JukeboxPrior,
				    JukeboxVQVAE,
				)

else:
		import sys

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



