[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 10/10] image-fuzzer: Use errors parameter of subprocess.Popen()
From: |
Eduardo Habkost |
Subject: |
[PATCH 10/10] image-fuzzer: Use errors parameter of subprocess.Popen() |
Date: |
Wed, 16 Oct 2019 16:24:30 -0300 |
Instead of manually encoding stderr and stdout output, use
`errors` parameter of subprocess.Popen(). This will make
process.communicate() return unicode strings instead of bytes
objects.
Signed-off-by: Eduardo Habkost <address@hidden>
---
tests/image-fuzzer/runner.py | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/tests/image-fuzzer/runner.py b/tests/image-fuzzer/runner.py
index 0793234815..4ba5c79e13 100755
--- a/tests/image-fuzzer/runner.py
+++ b/tests/image-fuzzer/runner.py
@@ -79,16 +79,13 @@ def run_app(fd, q_args):
devnull = open('/dev/null', 'r+')
process = subprocess.Popen(q_args, stdin=devnull,
stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
+ stderr=subprocess.PIPE,
+ errors='replace')
try:
out, err = process.communicate()
signal.alarm(0)
- # fd is a text file, so we need to decode the process output before
- # writing to it.
- # We could be simply using the `errors` parameter of
subprocess.Popen(),
- # but this will be possible only after migrating to Python 3
- fd.write(out.decode(errors='replace'))
- fd.write(err.decode(errors='replace'))
+ fd.write(out)
+ fd.write(err)
fd.flush()
return process.returncode
--
2.21.0
- Re: [PATCH 01/10] image-fuzzer: Open image files in binary mode, (continued)
- [PATCH 03/10] image-fuzzer: Explicitly use integer division operator, Eduardo Habkost, 2019/10/16
- [PATCH 04/10] image-fuzzer: Use io.StringIO, Eduardo Habkost, 2019/10/16
- [PATCH 05/10] image-fuzzer: Use %r for all fiels at Field.__repr__(), Eduardo Habkost, 2019/10/16
- [PATCH 06/10] image-fuzzer: Return bytes objects on string fuzzing functions, Eduardo Habkost, 2019/10/16
- [PATCH 07/10] image-fuzzer: Use bytes constant for field values, Eduardo Habkost, 2019/10/16
- [PATCH 08/10] image-fuzzer: Encode file name and file format to bytes, Eduardo Habkost, 2019/10/16
- [PATCH 09/10] image-fuzzer: Run using python3, Eduardo Habkost, 2019/10/16
- [PATCH 10/10] image-fuzzer: Use errors parameter of subprocess.Popen(),
Eduardo Habkost <=
- Re: [PATCH 00/10] image-fuzzer: Port to Python 3, John Snow, 2019/10/17