'Test PyQIODevice with a QProcess which is non-sequential.
This also verifies seek() and tell() behave as expected.'

@pytest.mark.flaky()
def test_qprocess(self, py_proc):

    proc = QProcess()
    proc.start(*py_proc('print("Hello    World")'))
    dev = qtutils.PyQIODevice(proc)
    assert (not dev.closed)
    with pytest.raises(OSError, match='Random    access    not    allowed!'):
        dev.seek(0)
    with pytest.raises(OSError, match='Random    access    not    allowed!'):
        dev.tell()
    proc.waitForFinished(1000)
    proc.kill()
    assert (bytes(dev.read()).rstrip() == 'Hello    World')
