





import torch






def 	lowerCamelCase_		(							)						->		Optional[int]:






				"""simple docstring"""


				if torch.cuda.is_available():
								snake_case_		:       Any           =    torch.cuda.device_count()
				else:
								snake_case_		:       Tuple           =    0
				print(f'''Successfully ran on {num_gpus} GPUs'''					)


if __name__ == "__main__":
	main()




import os
import unittest

from huggingface_hub.utils import are_progress_bars_disabled

import transformers.models.bart.tokenization_bart
from transformers import logging
from transformers.testing_utils import CaptureLogger, mockenv, mockenv_context
from transformers.utils.logging import disable_progress_bar, enable_progress_bar







class        __lowercase       (							unittest.TestCase  ):



		"""simple docstring"""

		def 					__A   ( self	)  -> Dict:







					'''simple docstring'''







					lowerCamelCase    		=  logging.get_logger()

					# the current default level is logging.WARNING
					lowerCamelCase    		=  logging.get_verbosity()

					logging.set_verbosity_error()
					self.assertEqual(logger.getEffectiveLevel()		,      logging.get_verbosity()	)

					logging.set_verbosity_warning()
					self.assertEqual(logger.getEffectiveLevel()		,      logging.get_verbosity()	)

					logging.set_verbosity_info()
					self.assertEqual(logger.getEffectiveLevel()		,      logging.get_verbosity()	)

					logging.set_verbosity_debug()
					self.assertEqual(logger.getEffectiveLevel()		,      logging.get_verbosity()	)

					# restore to the original level
					logging.set_verbosity(A	)







		def 					__A   ( self	)  -> Tuple:







					'''simple docstring'''







					lowerCamelCase    		=  logging.get_verbosity()

					lowerCamelCase    		=  logging.get_logger("""transformers.models.bart.tokenization_bart"""	)
					lowerCamelCase    		=  """Testing 1, 2, 3"""

					# should be able to log warnings (if default settings weren't overridden by `pytest --log-level-all`)
					if level_origin <= logging.WARNING:
								with CaptureLogger(A	) as cl:
											logger.warning(A	)
								self.assertEqual(cl.out		,      msg + """\n"""	)

					# this is setting the level for all of `transformers.*` loggers
					logging.set_verbosity_error()

					# should not be able to log warnings
					with CaptureLogger(A	) as cl:
								logger.warning(A	)
					self.assertEqual(cl.out		,      """"""	)

					# should be able to log warnings again
					logging.set_verbosity_warning()
					with CaptureLogger(A	) as cl:
								logger.warning(A	)
					self.assertEqual(cl.out		,      msg + """\n"""	)

					# restore to the original level
					logging.set_verbosity(A	)







		@mockenv(TRANSFORMERS_VERBOSITY="""error"""	)
		def 					__A   ( self	)  -> Union[str, Any]:







					'''simple docstring'''







					transformers.utils.logging._reset_library_root_logger()
					# this action activates the env var
					lowerCamelCase    		=  logging.get_logger("""transformers.models.bart.tokenization_bart"""	)

					lowerCamelCase    		=  os.getenv("""TRANSFORMERS_VERBOSITY"""		,      A	)
					lowerCamelCase    		=  logging.log_levels[env_level_str]

					lowerCamelCase    		=  logging.get_verbosity()
					self.assertEqual(
					    A		,      A		,      F'TRANSFORMERS_VERBOSITY={env_level_str}/{env_level}, but internal verbosity is {current_level}'		,      )

					# restore to the original level
					lowerCamelCase    		=  """"""
					transformers.utils.logging._reset_library_root_logger()







		@mockenv(TRANSFORMERS_VERBOSITY="""super-error"""	)
		def 					__A   ( self	)  -> Union[str, Any]:







					'''simple docstring'''







					transformers.utils.logging._reset_library_root_logger()
					lowerCamelCase    		=  logging.logging.getLogger()
					with CaptureLogger(A	) as cl:
								# this action activates the env var
								logging.get_logger("""transformers.models.bart.tokenization_bart"""	)
					self.assertIn("""Unknown option TRANSFORMERS_VERBOSITY=super-error"""		,      cl.out	)

					# no need to restore as nothing was changed







		def 					__A   ( self	)  -> Optional[Any]:







					'''simple docstring'''







					transformers.utils.logging._reset_library_root_logger()

					lowerCamelCase    		=  logging.get_logger("""transformers.models.bart.tokenization_bart"""	)
					lowerCamelCase    		=  """Testing 1, 2, 3"""

					with mockenv_context(TRANSFORMERS_NO_ADVISORY_WARNINGS="""1"""	):
								# nothing should be logged as env var disables this method
								with CaptureLogger(A	) as cl:
											logger.warning_advice(A	)
								self.assertEqual(cl.out		,      """"""	)

					with mockenv_context(TRANSFORMERS_NO_ADVISORY_WARNINGS=""""""	):
								# should log normally as TRANSFORMERS_NO_ADVISORY_WARNINGS is unset
								with CaptureLogger(A	) as cl:
											logger.warning_advice(A	)
								self.assertEqual(cl.out		,      msg + """\n"""	)






def 	__lowerCamelCase						(							):





			'''simple docstring'''




			disable_progress_bar()
			assert are_progress_bars_disabled()

			enable_progress_bar()
			assert not are_progress_bars_disabled()

