From 28961ab177d9d70109b58f9dc741232328d089c3 Mon Sep 17 00:00:00 2001
From: George Edward Bulmer <gebulmer@googlemail.com>
Date: Wed, 13 Dec 2017 12:46:46 +0000
Subject: [PATCH] Add a test with invalid unicode in spawned stdout.

stderr features identical behaviour, so is currently untested.
---
 tests/unit/misc/test_guiprocess.py | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/tests/unit/misc/test_guiprocess.py b/tests/unit/misc/test_guiprocess.py
index 25e46476e..473016b52 100644
--- a/tests/unit/misc/test_guiprocess.py
+++ b/tests/unit/misc/test_guiprocess.py
@@ -63,6 +63,20 @@ def test_start(proc, qtbot, message_mock, py_proc):
     assert qutescheme.spawn_output == proc._spawn_format(stdout="test")
 
 
+def test_stdout_malformed_utf8(proc, qtbot, message_mock, py_proc):
+    """Test simply starting a process."""
+    with qtbot.waitSignals([proc.started, proc.finished], timeout=10000,
+                           order='strict'):
+        argv = py_proc(r"""
+            import sys
+            sys.stdout.buffer.write(b"A\x80B")
+            sys.exit(0)
+            """)
+        proc.start(*argv)
+    assert not message_mock.messages
+    assert qutescheme.spawn_output == proc._spawn_format(stdout="A\ufffdB")
+
+
 def test_start_verbose(proc, qtbot, message_mock, py_proc):
     """Test starting a process verbosely."""
     proc.verbose = True