]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/vstart-runner: Only remove non-ASCII characters from string-based command outputs 60092/head
authorConnor Fawcett <connorfa@uk.ibm.com>
Wed, 2 Oct 2024 13:27:17 +0000 (14:27 +0100)
committerConnor Fawcett <connorfa@uk.ibm.com>
Mon, 11 Nov 2024 00:11:33 +0000 (00:11 +0000)
Signed-off-by: Connor Fawcett <connorfa@uk.ibm.com>
Fixes: https://tracker.ceph.com/issues/68368
qa/tasks/vstart_runner.py

index ca929ba05b44e8f2ebf764f17da46bbca9ce0fbf..2ed2143133064159f9b2f0f6e1980ed78419a3e7 100644 (file)
@@ -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)