diff options
author | Anderson Bravalheri <andersonbravalheri@gmail.com> | 2022-11-22 16:25:45 +0000 |
---|---|---|
committer | Anderson Bravalheri <andersonbravalheri@gmail.com> | 2022-11-22 16:36:29 +0000 |
commit | 6b53b05f7cfd023c0e5e8d965de166650036386c (patch) | |
tree | 6613dbf9e68ef30d186507ef16b7c12b5e69a857 /setuptools/tests | |
parent | e845c08426a581ad74b45de13ce0b27771675d01 (diff) | |
download | python-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.py | 27 |
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): |