diff mbox series

[v7,3/9] qcow2_format.py: make printable data an extension class member

Message ID 1591920302-1002219-4-git-send-email-andrey.shinkevich@virtuozzo.com (mailing list archive)
State New, archived
Headers show
Series iotests: Dump QCOW2 dirty bitmaps metadata | expand

Commit Message

Andrey Shinkevich June 12, 2020, 12:04 a.m. UTC
Let us differ binary data type from string one for the extension data
variable and keep the string as the QcowHeaderExtension class member.

Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
---
 tests/qemu-iotests/qcow2_format.py | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

Comments

Vladimir Sementsov-Ogievskiy June 15, 2020, 9:47 a.m. UTC | #1
12.06.2020 03:04, Andrey Shinkevich wrote:
> Let us differ binary data type from string one for the extension data
> variable and keep the string as the QcowHeaderExtension class member.

Keep my r-b, but I just want to note, that I missed, what is the actual aim of this change..

> 
> Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
> ---
>   tests/qemu-iotests/qcow2_format.py | 14 ++++++++------
>   1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/tests/qemu-iotests/qcow2_format.py b/tests/qemu-iotests/qcow2_format.py
> index 0f65fd1..d4f0000 100644
> --- a/tests/qemu-iotests/qcow2_format.py
> +++ b/tests/qemu-iotests/qcow2_format.py
> @@ -164,6 +164,13 @@ class QcowHeaderExtension(Qcow2Struct):
>               self.data = fd.read(padded)
>               assert self.data is not None
>   
> +        data_str = self.data[:self.length]
> +        if all(c in string.printable.encode('ascii') for c in data_str):
> +            data_str = f"'{ data_str.decode('ascii') }'"
> +        else:
> +            data_str = '<binary>'
> +        self.data_str = data_str
> +
>           if self.magic == QCOW2_EXT_MAGIC_BITMAPS:
>               self.obj = Qcow2BitmapExt(data=self.data)
>           else:
> @@ -173,12 +180,7 @@ class QcowHeaderExtension(Qcow2Struct):
>           super().dump()
>   
>           if self.obj is None:
> -            data = self.data[:self.length]
> -            if all(c in string.printable.encode('ascii') for c in data):
> -                data = f"'{ data.decode('ascii') }'"
> -            else:
> -                data = '<binary>'
> -            print(f'{"data":<25} {data}')
> +            print(f'{"data":<25} {self.data_str}')
>           else:
>               self.obj.dump()
>   
>
diff mbox series

Patch

diff --git a/tests/qemu-iotests/qcow2_format.py b/tests/qemu-iotests/qcow2_format.py
index 0f65fd1..d4f0000 100644
--- a/tests/qemu-iotests/qcow2_format.py
+++ b/tests/qemu-iotests/qcow2_format.py
@@ -164,6 +164,13 @@  class QcowHeaderExtension(Qcow2Struct):
             self.data = fd.read(padded)
             assert self.data is not None
 
+        data_str = self.data[:self.length]
+        if all(c in string.printable.encode('ascii') for c in data_str):
+            data_str = f"'{ data_str.decode('ascii') }'"
+        else:
+            data_str = '<binary>'
+        self.data_str = data_str
+
         if self.magic == QCOW2_EXT_MAGIC_BITMAPS:
             self.obj = Qcow2BitmapExt(data=self.data)
         else:
@@ -173,12 +180,7 @@  class QcowHeaderExtension(Qcow2Struct):
         super().dump()
 
         if self.obj is None:
-            data = self.data[:self.length]
-            if all(c in string.printable.encode('ascii') for c in data):
-                data = f"'{ data.decode('ascii') }'"
-            else:
-                data = '<binary>'
-            print(f'{"data":<25} {data}')
+            print(f'{"data":<25} {self.data_str}')
         else:
             self.obj.dump()