"""simple docstring"""





import unittest

from transformers import is_torch_available
from transformers.testing_utils import require_torch


if is_torch_available():
    import torch

    from transformers.activations import gelu_new, gelu_python, get_activation
@require_torch
class  _snake_case     (					unittest.TestCase		):






      def       lowerCamelCase__     (       self      :			Optional[int]    ):
             __lowerCamelCase					:		Optional[int]		   =     torch.tensor([-100, -1, -0.1, 0, 0.1, 1.0, 100]    )
             __lowerCamelCase					:		Union[str, Any]		   =     get_activation("gelu"    )
             self.assertTrue(torch.allclose(gelu_python(_SCREAMING_SNAKE_CASE    )							,					torch_builtin(_SCREAMING_SNAKE_CASE    )    )    )
             self.assertFalse(torch.allclose(gelu_python(_SCREAMING_SNAKE_CASE    )							,					gelu_new(_SCREAMING_SNAKE_CASE    )    )    )






      def       lowerCamelCase__     (       self      :			Optional[int]    ):
             __lowerCamelCase					:		Optional[int]		   =     torch.tensor([-100, -1, -0.1, 0, 0.1, 1.0, 100]    )
             __lowerCamelCase					:		str		   =     get_activation("gelu"    )
             __lowerCamelCase					:		Optional[int]		   =     get_activation("gelu_10"    )

             __lowerCamelCase					:		Tuple		   =     torch_builtin(_SCREAMING_SNAKE_CASE    )
             __lowerCamelCase					:		int		   =     geluaa(_SCREAMING_SNAKE_CASE    )

             __lowerCamelCase					:		Tuple		   =     torch.where(y_gelu_aa < 10.0							,					1							,					0    )

             self.assertTrue(torch.max(_SCREAMING_SNAKE_CASE    ).item() == 10.0    )
             self.assertTrue(torch.allclose(y_gelu * clipped_mask							,					y_gelu_aa * clipped_mask    )    )






      def       lowerCamelCase__     (       self      :			Optional[Any]    ):
             get_activation("gelu"    )
             get_activation("gelu_10"    )
             get_activation("gelu_fast"    )
             get_activation("gelu_new"    )
             get_activation("gelu_python"    )
             get_activation("gelu_pytorch_tanh"    )
             get_activation("linear"    )
             get_activation("mish"    )
             get_activation("quick_gelu"    )
             get_activation("relu"    )
             get_activation("sigmoid"    )
             get_activation("silu"    )
             get_activation("swish"    )
             get_activation("tanh"    )
             with self.assertRaises(_SCREAMING_SNAKE_CASE    ):
                    get_activation("bogus"    )
             with self.assertRaises(_SCREAMING_SNAKE_CASE    ):
                    get_activation(_SCREAMING_SNAKE_CASE    )







      def       lowerCamelCase__     (       self      :			Dict    ):
             __lowerCamelCase					:		Optional[Any]		   =     get_activation("gelu"    )
             __lowerCamelCase					:		int		   =     1
             __lowerCamelCase					:		Union[str, Any]		   =     get_activation("gelu"    )
             self.assertEqual(acta.a							,					1    )
             with self.assertRaises(_SCREAMING_SNAKE_CASE    ):
                    __lowerCamelCase					:		Optional[Any]		   =     acta.a
"""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.
__A  =				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_   (   _lowerCamelCase:	List[Any]      ) ->      Union[str, 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_   (   _lowerCamelCase:	Union[str, Any]      ) ->      Any:



							'''simple docstring'''

							from transformers.testing_utils import pytest_addoption_shared

							pytest_addoption_shared(_lowerCamelCase      )


def    lowercase_   (   _lowerCamelCase:	Optional[int]      ) ->      Tuple:



							'''simple docstring'''

							from transformers.testing_utils import pytest_terminal_summary_main

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


def    lowercase_   (   _lowerCamelCase:	Union[str, Any]						,   _lowerCamelCase:	Tuple      ) ->      Dict:



							'''simple docstring'''

							if exitstatus == 5:
														__lowerCamelCase					:		Optional[int]		   =     0


# Doctest custom flag to ignore output.
__A  =				doctest.register_optionflag('''IGNORE_RESULT''')

__A  =				doctest.OutputChecker
class  _snake_case     (					a__		):






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

__A  =				CustomOutputChecker
__A  =				HfDoctestModule







__A  =				HfDocTestParser