[adding Eduardo for some python 2-vs-3 advice] On 2/18/19 1:59 PM, Andrey Shinkevich wrote: > To write one byte to disk, Python2 may use 'chr' type. > In Python3, conversion to 'byte' type is required. > > Signed-off-by: Andrey Shinkevich <andrey.shinkev...@virtuozzo.com> > --- > tests/qemu-iotests/242 | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/tests/qemu-iotests/242 b/tests/qemu-iotests/242 > index 16c65ed..6b1f7b8 100755 > --- a/tests/qemu-iotests/242 > +++ b/tests/qemu-iotests/242 > @@ -65,9 +65,14 @@ 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) > + toggled = ord(c) ^ bitmap_flag_unknown > f.seek(-1, 1) > - f.write(toggled) > + try: > + # python2 > + f.write(chr(toggled)) > + except TypeError: > + # python3 > + f.write(bytes([toggled]))
Looks like it works, but I'm not enough of a python expert to know if there is a more Pythonic elegant approach. If someone else picks it up before my next NBD pull request, Acked-by: Eric Blake <ebl...@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org