|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 HfArgumentParserTest(unittest.TestCase): |
|
def test_set_level(self): |
|
logger = logging.get_logger() |
|
|
|
|
|
level_origin = 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()) |
|
|
|
|
|
logging.set_verbosity(level_origin) |
|
|
|
def test_integration(self): |
|
level_origin = logging.get_verbosity() |
|
|
|
logger = logging.get_logger("transformers.models.bart.tokenization_bart") |
|
msg = "Testing 1, 2, 3" |
|
|
|
|
|
if level_origin <= logging.WARNING: |
|
with CaptureLogger(logger) as cl: |
|
logger.warning(msg) |
|
self.assertEqual(cl.out, msg + "\n") |
|
|
|
|
|
logging.set_verbosity_error() |
|
|
|
|
|
with CaptureLogger(logger) as cl: |
|
logger.warning(msg) |
|
self.assertEqual(cl.out, "") |
|
|
|
|
|
logging.set_verbosity_warning() |
|
with CaptureLogger(logger) as cl: |
|
logger.warning(msg) |
|
self.assertEqual(cl.out, msg + "\n") |
|
|
|
|
|
logging.set_verbosity(level_origin) |
|
|
|
@mockenv(TRANSFORMERS_VERBOSITY="error") |
|
def test_env_override(self): |
|
|
|
transformers.utils.logging._reset_library_root_logger() |
|
|
|
_ = logging.get_logger("transformers.models.bart.tokenization_bart") |
|
|
|
env_level_str = os.getenv("TRANSFORMERS_VERBOSITY", None) |
|
env_level = logging.log_levels[env_level_str] |
|
|
|
current_level = logging.get_verbosity() |
|
self.assertEqual( |
|
env_level, |
|
current_level, |
|
f"TRANSFORMERS_VERBOSITY={env_level_str}/{env_level}, but internal verbosity is {current_level}", |
|
) |
|
|
|
|
|
os.environ["TRANSFORMERS_VERBOSITY"] = "" |
|
transformers.utils.logging._reset_library_root_logger() |
|
|
|
@mockenv(TRANSFORMERS_VERBOSITY="super-error") |
|
def test_env_invalid_override(self): |
|
|
|
transformers.utils.logging._reset_library_root_logger() |
|
logger = logging.logging.getLogger() |
|
with CaptureLogger(logger) as cl: |
|
|
|
logging.get_logger("transformers.models.bart.tokenization_bart") |
|
self.assertIn("Unknown option TRANSFORMERS_VERBOSITY=super-error", cl.out) |
|
|
|
|
|
|
|
def test_advisory_warnings(self): |
|
|
|
transformers.utils.logging._reset_library_root_logger() |
|
|
|
logger = logging.get_logger("transformers.models.bart.tokenization_bart") |
|
msg = "Testing 1, 2, 3" |
|
|
|
with mockenv_context(TRANSFORMERS_NO_ADVISORY_WARNINGS="1"): |
|
|
|
with CaptureLogger(logger) as cl: |
|
logger.warning_advice(msg) |
|
self.assertEqual(cl.out, "") |
|
|
|
with mockenv_context(TRANSFORMERS_NO_ADVISORY_WARNINGS=""): |
|
|
|
with CaptureLogger(logger) as cl: |
|
logger.warning_advice(msg) |
|
self.assertEqual(cl.out, msg + "\n") |
|
|
|
|
|
def test_set_progress_bar_enabled(): |
|
disable_progress_bar() |
|
assert are_progress_bars_disabled() |
|
|
|
enable_progress_bar() |
|
assert not are_progress_bars_disabled() |
|
|