summaryrefslogtreecommitdiff
path: root/setuptools/tests
diff options
context:
space:
mode:
authorAnderson Bravalheri <andersonbravalheri@gmail.com>2022-11-22 16:25:45 +0000
committerAnderson Bravalheri <andersonbravalheri@gmail.com>2022-11-22 16:36:29 +0000
commit6b53b05f7cfd023c0e5e8d965de166650036386c (patch)
tree6613dbf9e68ef30d186507ef16b7c12b5e69a857 /setuptools/tests
parente845c08426a581ad74b45de13ce0b27771675d01 (diff)
downloadpython-setuptools-git-6b53b05f7cfd023c0e5e8d965de166650036386c.tar.gz
Account for stdlib back compatibility in test_manifest
Diffstat (limited to 'setuptools/tests')
-rw-r--r--setuptools/tests/test_manifest.py27
1 files changed, 19 insertions, 8 deletions
diff --git a/setuptools/tests/test_manifest.py b/setuptools/tests/test_manifest.py
index 2afe8132..5a45c61e 100644
--- a/setuptools/tests/test_manifest.py
+++ b/setuptools/tests/test_manifest.py
@@ -322,19 +322,30 @@ class TestFileListTest(TempDirTestCase):
to ensure setuptools' version of FileList keeps parity with distutils.
"""
- def get_logs(self, caplog, *levels):
- return [
- record.getMessage()
- for record in caplog.records
- if record.levelno in levels
- ]
+ @pytest.fixture(autouse=True)
+ def _compat_record_logs(self, monkeypatch, caplog):
+ """Account for stdlib compatibility"""
+ if (
+ os.getenv("SETUPTOOLS_USE_DISTUTILS") == "stdlib"
+ and hasattr(log, "Log")
+ and not isinstance(log.Log, logging.Logger)
+ ):
+ def _log(_logger, level, msg, args):
+ exc = sys.exc_info()
+ rec = logging.LogRecord("distutils", level, "", 0, msg, args, exc)
+ caplog.records.append(rec)
+
+ monkeypatch.setattr(log.Log, "_log", _log)
+
+ def get_records(self, caplog, *levels):
+ return [r for r in caplog.records if r.levelno in levels]
def assertNoWarnings(self, caplog):
- assert self.get_logs(caplog, log.WARN) == []
+ assert self.get_records(caplog, log.WARN) == []
caplog.clear()
def assertWarnings(self, caplog):
- assert len(self.get_logs(caplog, log.WARN)) > 0
+ assert len(self.get_records(caplog, log.WARN)) > 0
caplog.clear()
def make_files(self, files):