iotests: handle TypeError for Python 3 in test 242
The data type for bytes in Python 3 differs from the one in Python 2. The type cast that is compatible with both versions was applied. Signed-off-by: Nir Soffer <nsoffer@redhat.com> Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> Reported-by: Kevin Wolf <kwolf@redhat.com> Message-Id: <1551197495-24425-1-git-send-email-andrey.shinkevich@virtuozzo.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
d88d85f1f0
commit
42eb4591fe
@ -20,6 +20,7 @@
|
||||
|
||||
import iotests
|
||||
import json
|
||||
import struct
|
||||
from iotests import qemu_img_create, qemu_io, qemu_img_pipe, \
|
||||
file_path, img_info_log, log, filter_qemu_io
|
||||
|
||||
@ -64,10 +65,11 @@ def write_to_disk(offset, size):
|
||||
def toggle_flag(offset):
|
||||
with open(disk, "r+b") as f:
|
||||
f.seek(offset, 0)
|
||||
c = f.read(1)
|
||||
toggled = chr(ord(c) ^ bitmap_flag_unknown)
|
||||
# Read one byte in a way compatible with Python 2
|
||||
flags = struct.unpack("B", f.read(1))
|
||||
toggled = flags[0] ^ bitmap_flag_unknown
|
||||
f.seek(-1, 1)
|
||||
f.write(toggled)
|
||||
f.write(struct.pack("B", toggled))
|
||||
|
||||
|
||||
qemu_img_create('-f', iotests.imgfmt, disk, '1M')
|
||||
|
Loading…
Reference in New Issue
Block a user