From: Connor Fawcett Date: Wed, 2 Oct 2024 13:27:17 +0000 (+0100) Subject: qa/vstart-runner: Only remove non-ASCII characters from string-based command outputs X-Git-Tag: v20.0.0~678^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F60092%2Fhead;p=ceph.git qa/vstart-runner: Only remove non-ASCII characters from string-based command outputs Signed-off-by: Connor Fawcett Fixes: https://tracker.ceph.com/issues/68368 --- diff --git a/qa/tasks/vstart_runner.py b/qa/tasks/vstart_runner.py index ca929ba05b44..2ed214313306 100644 --- a/qa/tasks/vstart_runner.py +++ b/qa/tasks/vstart_runner.py @@ -233,6 +233,11 @@ class LocalRemoteProcess(object): else: self.stderr.write(err) + def _handle_subprocess_output(self, output, stream): + if isinstance(stream, StringIO): + return rm_nonascii_chars(output) + return output + def wait(self, timeout=None): # Null subproc.stdin so communicate() does not try flushing/closing it # again. @@ -250,7 +255,8 @@ class LocalRemoteProcess(object): return out, err = self.subproc.communicate(timeout=timeout) - out, err = rm_nonascii_chars(out), rm_nonascii_chars(err) + out = self._handle_subprocess_output(out, self.stdout) + err = self._handle_subprocess_output(err, self.stderr) self._write_stdout(out) self._write_stderr(err)