From: Marc Hoersken Date: Mon, 30 Nov 2020 21:16:21 +0000 (+0100) Subject: tests/util.py: fix compatibility with Python 2 X-Git-Tag: curl-7_74_0~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=753a2c758aafcf3220367436e0244bd090806d2d;p=thirdparty%2Fcurl.git tests/util.py: fix compatibility with Python 2 Backporting the Python 3 implementation of setStream to ClosingFileHandler as a fallback within Python 2. Reported-by: Jay Satiro Fixes #6259 Closes #6270 --- diff --git a/tests/util.py b/tests/util.py index 2ac6ff1322..70f6b43517 100755 --- a/tests/util.py +++ b/tests/util.py @@ -46,6 +46,21 @@ class ClosingFileHandler(logging.StreamHandler): super(ClosingFileHandler, self).emit(record) self.setStream(None) + def setStream(self, stream): + setStream = getattr(super(ClosingFileHandler, self), 'setStream', None) + if callable(setStream): + return setStream(stream) + if stream is self.stream: + result = None + else: + result = self.stream + self.acquire() + try: + self.flush() + self.stream = stream + finally: + self.release() + return result class TestData(object): def __init__(self, data_folder):