• Max Reitz's avatar
    iotests: Use Python byte strings where appropriate · 8eb5e674
    Max Reitz authored
    Since byte strings are no longer the default in Python 3, we have to
    explicitly use them where we need to, which is mostly when working with
    structures.  It also means that we need to open a file in binary mode
    when we want to use structures.
    On the other hand, we have to accomodate for the fact that some
    functions (still) work with byte strings but we want to use unicode
    strings (in Python 3 at least, and it does not matter in Python 2).
    This includes base64 encoding, but it is most notable when working with
    the subprocess module: Either we set universal_newlines to True so that
    the default streams are opened in text mode (hence this parameter is
    aliased as "text" as of 3.7), or, if that is not possible, we have to
    decode the output to a normal string.
    Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
    Reviewed-by: default avatarEduardo Habkost <ehabkost@redhat.com>
    Message-Id: <20181022135307.14398-4-mreitz@redhat.com>
    Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>