Skip to content

Commit

Permalink
Enable pytest live log and show warning logs on GitHub Actions CI runs (
Browse files Browse the repository at this point in the history
#35912)

* fix

* remove

* fix

---------

Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>
  • Loading branch information
ydshieh and ydshieh authored Feb 10, 2025
1 parent 48a309d commit 3897f2c
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 6 deletions.
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,5 @@ markers = [
"bitsandbytes: select (or deselect with `not`) bitsandbytes integration tests",
"generate: marks tests that use the GenerationTesterMixin"
]
log_cli = 1
log_cli_level = "WARNING"
3 changes: 1 addition & 2 deletions src/transformers/generation/configuration_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -785,8 +785,7 @@ def validate(self, is_init=False):
for arg_name in ("cache_implementation", "cache_config", "return_legacy_cache"):
if getattr(self, arg_name) is not None:
logger.warning_once(
no_cache_warning.format(cache_arg=arg_name, cache_arg_value=getattr(self, arg_name)),
UserWarning,
no_cache_warning.format(cache_arg=arg_name, cache_arg_value=getattr(self, arg_name))
)

# 6. check watermarking arguments
Expand Down
3 changes: 2 additions & 1 deletion src/transformers/utils/logging.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,8 @@ def _configure_library_root_logger() -> None:
formatter = logging.Formatter("[%(levelname)s|%(pathname)s:%(lineno)s] %(asctime)s >> %(message)s")
_default_handler.setFormatter(formatter)

library_root_logger.propagate = False
is_ci = os.getenv("CI") is not None and os.getenv("CI").upper() in {"1", "ON", "YES", "TRUE"}
library_root_logger.propagate = True if is_ci else False


def _reset_library_root_logger() -> None:
Expand Down
11 changes: 8 additions & 3 deletions tests/generation/test_streamers.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import unittest
from queue import Empty
from threading import Thread
from unittest.mock import patch

import pytest

Expand All @@ -27,6 +28,7 @@
is_torch_available,
)
from transformers.testing_utils import CaptureStdout, require_torch, torch_device
from transformers.utils.logging import _get_library_root_logger

from ..test_modeling_common import ids_tensor

Expand Down Expand Up @@ -102,9 +104,12 @@ def test_text_streamer_decode_kwargs(self):
model.config.eos_token_id = -1

input_ids = torch.ones((1, 5), device=torch_device).long() * model.config.bos_token_id
with CaptureStdout() as cs:
streamer = TextStreamer(tokenizer, skip_special_tokens=True)
model.generate(input_ids, max_new_tokens=1, do_sample=False, streamer=streamer)

root = _get_library_root_logger()
with patch.object(root, "propagate", False):
with CaptureStdout() as cs:
streamer = TextStreamer(tokenizer, skip_special_tokens=True)
model.generate(input_ids, max_new_tokens=1, do_sample=False, streamer=streamer)

# The prompt contains a special token, so the streamer should not print it. As such, the output text, when
# re-tokenized, must only contain one token
Expand Down

0 comments on commit 3897f2c

Please sign in to comment.