


# 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.
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 __lowerCAmelCase	(       SCREAMING_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 __lowerCAmelCase	(       SCREAMING_SNAKE_CASE_					):
			from transformers.testing_utils import pytest_addoption_shared

			pytest_addoption_shared(SCREAMING_SNAKE_CASE_					)



def __lowerCAmelCase	(       SCREAMING_SNAKE_CASE_					):
			from transformers.testing_utils import pytest_terminal_summary_main

			lowercase__   					=			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_					):
			# If no tests are collected, pytest exists with code 5, which makes the CI fail.
			if exitstatus == 5:
						lowercase__   					=			0


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

lowercase_						=       doctest.OutputChecker
class 			_snake_case     (   lowercase__):




				def 							A__ (  self   :  Tuple,   __lowercase   :  int,   __lowercase   :  Optional[int],   __lowercase   :  int  ):
							if IGNORE_RESULT & optionflags:
										return True
							return OutputChecker.check_output(self,   __lowercase,   __lowercase,   __lowercase  )
lowercase_						=       CustomOutputChecker
lowercase_						=       HfDoctestModule




lowercase_						=       HfDocTestParser









import os
from collections.abc import Iterator



def __lowerCAmelCase	(       SCREAMING_SNAKE_CASE_ = "."					):
			for dir_path, dir_names, filenames in os.walk(SCREAMING_SNAKE_CASE_					):
						lowercase__   					=			[d for d in dir_names if d != "scripts" and d[0] not in "._"]
						for filename in filenames:
									if filename == "__init__.py":
												continue
									if os.path.splitext(SCREAMING_SNAKE_CASE_					)[1] in (".py", ".ipynb"):
												yield os.path.join(SCREAMING_SNAKE_CASE_  ,					SCREAMING_SNAKE_CASE_					).lstrip("./"					)



def __lowerCAmelCase	(       SCREAMING_SNAKE_CASE_					):
			return f'''{i * "  "}*''' if i else "\n##"



def __lowerCAmelCase	(       SCREAMING_SNAKE_CASE_  ,					SCREAMING_SNAKE_CASE_					):
			lowercase__   					=			old_path.split(os.sep					)
			for i, new_part in enumerate(new_path.split(os.sep					)					):
						if (i + 1 > len(SCREAMING_SNAKE_CASE_					) or old_parts[i] != new_part) and new_part:
									print(f'''{md_prefix(SCREAMING_SNAKE_CASE_					)} {new_part.replace("_"  ,					" "					).title()}'''					)
			return new_path



def __lowerCAmelCase	(       SCREAMING_SNAKE_CASE_ = "."					):
			lowercase__   					=			""
			for filepath in sorted(good_file_paths(SCREAMING_SNAKE_CASE_					)					):
						lowercase__					,    lowercase__   					=			os.path.split(SCREAMING_SNAKE_CASE_					)
						if filepath != old_path:
									lowercase__   					=			print_path(SCREAMING_SNAKE_CASE_  ,					SCREAMING_SNAKE_CASE_					)
						lowercase__   					=			(filepath.count(os.sep					) + 1) if filepath else 0
						lowercase__   					=			f'''{filepath}/{filename}'''.replace(" "  ,					"%20"					)
						lowercase__   					=			os.path.splitext(filename.replace("_"  ,					" "					).title()					)[0]
						print(f'''{md_prefix(SCREAMING_SNAKE_CASE_					)} [{filename}]({url})'''					)


if __name__ == "__main__":
							print_directory_md(""".""")




