Skip to content

Commit 32fd458

Browse files
Add tests for configurable engine log level
Verify init with log_level=ERROR sets the DeepSpeed logger to ERROR, and omitting log_level leaves effective verbosity at WARNING (unchanged vs pre-config behavior). Signed-off-by: Olatunji Ruwase <tunji.ruwase@snowflake.com> Co-authored-by: Cursor <cursoragent@cursor.com> Signed-off-by: Olatunji Ruwase <tunji.ruwase@snowflake.com>
1 parent 590711a commit 32fd458

1 file changed

Lines changed: 9 additions & 15 deletions

File tree

tests/unit/v1/test_engine_log_level.py

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) Microsoft Corporation.
1+
# Copyright (c) DeepSpeed Team.
22
# SPDX-License-Identifier: Apache-2.0
33

44
# DeepSpeed Team
@@ -17,11 +17,9 @@
1717
from unit.simple_model import SimpleModel
1818

1919

20-
# CPU: config parsing and the engine getter are pure and need no accelerator.
2120
class TestLogLevelConfig:
2221

2322
def test_default_is_none(self):
24-
# An unset log_level leaves the DeepSpeed logger untouched.
2523
assert get_log_level({}) is None
2624
assert LOG_LEVEL_DEFAULT is None
2725

@@ -33,13 +31,7 @@ def test_engine_getter_returns_config_value(self):
3331
engine = types.SimpleNamespace(_config=types.SimpleNamespace(log_level="ERROR"))
3432
assert DeepSpeedEngine.log_level(engine) == "ERROR"
3533

36-
def test_engine_getter_returns_none(self):
37-
engine = types.SimpleNamespace(_config=types.SimpleNamespace(log_level=None))
38-
assert DeepSpeedEngine.log_level(engine) is None
3934

40-
41-
# GPU: end-to-end wiring. The logger level is perturbed before initialize() so
42-
# the assertions prove init applied (or deliberately did not touch) the level.
4335
class TestLogLevelEndToEnd(DistributedTest):
4436
world_size = 1
4537

@@ -58,14 +50,14 @@ def _config(self, log_level=None):
5850
config["log_level"] = log_level
5951
return config
6052

61-
def _init(self, log_level):
53+
def _init(self, log_level=None):
6254
model = SimpleModel(hidden_dim=8)
6355
engine, _, _, _ = deepspeed.initialize(config=self._config(log_level),
6456
model=model,
6557
model_parameters=model.parameters())
6658
return engine
6759

68-
def test_explicit_log_level_applied(self):
60+
def test_init_with_error_log_level(self):
6961
saved = ds_logging.logger.level
7062
ds_logging.logger.setLevel(logging.DEBUG)
7163
try:
@@ -75,12 +67,14 @@ def test_explicit_log_level_applied(self):
7567
finally:
7668
ds_logging.logger.setLevel(saved)
7769

78-
def test_omitted_log_level_leaves_logger_unchanged(self):
70+
def test_omit_log_level_defaults_to_warning(self):
7971
saved = ds_logging.logger.level
80-
ds_logging.logger.setLevel(logging.DEBUG)
8172
try:
82-
engine = self._init(None)
73+
ds_logging.logger.setLevel(logging.WARNING)
74+
for handler in ds_logging.logger.handlers:
75+
handler.setLevel(logging.WARNING)
76+
engine = self._init()
8377
assert engine.log_level() is None
84-
assert ds_logging.logger.getEffectiveLevel() == logging.DEBUG
78+
assert ds_logging.logger.getEffectiveLevel() == logging.WARNING
8579
finally:
8680
ds_logging.logger.setLevel(saved)

0 commit comments

Comments
 (0)