From 3e04cd268ee9a57f95dc78d8974b21a6fac3f666 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 3 Oct 2019 01:04:09 +0200 Subject: bpo-36670, regrtest: Fix WindowsLoadTracker() for partial line (GH-16550) WindowsLoadTracker.read_output() now uses a short buffer for incomplete line. --- Lib/test/libregrtest/win_utils.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Lib/test/libregrtest/win_utils.py b/Lib/test/libregrtest/win_utils.py index f0c17b9..f802980 100644 --- a/Lib/test/libregrtest/win_utils.py +++ b/Lib/test/libregrtest/win_utils.py @@ -32,6 +32,7 @@ class WindowsLoadTracker(): def __init__(self): self.load = 0.0 self.counter_name = '' + self._buffer = b'' self.popen = None self.start() @@ -100,7 +101,9 @@ class WindowsLoadTracker(): if res != 0: return - output = overlapped.getbuffer() + # self._buffer stores an incomplete line + output = self._buffer + overlapped.getbuffer() + output, _, self._buffer = output.rpartition(b'\n') return output.decode('oem', 'replace') def getloadavg(self): -- cgit v0.12