c439143b7f
image-fuzzer: Use %r for all fiels at Field.__repr__()
...
This makes the formatting code simpler, and safer if we change
the type of self.value from str to bytes.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
Reviewed-by: John Snow <jsnow@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-id: 20191016192430.25098-6-ehabkost@redhat.com
Message-Id: <20191016192430.25098-6-ehabkost@redhat.com >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2019-11-05 16:35:06 +01:00
d974451c5b
image-fuzzer: Explicitly use integer division operator
...
Most of the division expressions in image-fuzzer assume integer
division. Use the // operator to keep the same behavior when we
move to Python 3.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
Reviewed-by: John Snow <jsnow@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-id: 20191016192430.25098-4-ehabkost@redhat.com
Message-Id: <20191016192430.25098-4-ehabkost@redhat.com >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2019-11-05 16:35:06 +01:00
c314e50b8a
image-fuzzer: Write bytes instead of string to image file
...
This is necessary for Python 3 compatibility.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
Reviewed-by: John Snow <jsnow@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-id: 20191016192430.25098-3-ehabkost@redhat.com
Message-Id: <20191016192430.25098-3-ehabkost@redhat.com >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2019-11-05 16:35:06 +01:00
60d3af55da
image-fuzzer: Open image files in binary mode
...
This probably never caused problems because on Linux there's no
actual newline conversion happening, but on Python 3 the
binary/text distinction is stronger and we must explicitly open
the image file in binary mode.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
Reviewed-by: John Snow <jsnow@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-id: 20191016192430.25098-2-ehabkost@redhat.com
Message-Id: <20191016192430.25098-2-ehabkost@redhat.com >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2019-11-05 16:35:06 +01:00
068cf7a44c
python: futurize -f libfuturize.fixes.fix_absolute_import
...
Make implicit relative imports explicit and add "from __future__ import
absolute_import" at the top of each relevant module.
This is necessary for Python 3 compatibility.
Done using:
$ py=$( (g grep -l -E '^#!.*python';find -name '*.py' -printf '%P\n';) | \
sort -u | grep -v README.sh4)
$ futurize -w -f libfuturize.fixes.fix_absolute_import $py
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
Message-Id: <20180608122952.2009-3-ehabkost@redhat.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
2018-06-08 14:39:24 -03:00
1e8fd8d44d
layout: Add generators for refcount table and blocks
...
Refcount structures are placed in clusters randomly selected from all
unallocated host clusters.
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Signed-off-by: Maria Kustova <maria.k@catit.be >
Reviewed-by: Fam Zheng <famz@redhat.com >
Message-id: 7e2f38608db6fba2da53997390b19400d445c45d.1408450493.git.maria.k@catit.be
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2014-09-22 11:39:37 +01:00
94c83a24c1
image-fuzzer: Reduce number of generator functions in __init__
...
Some issues can be found only when a fuzzed image has a partial structure,
e.g. has L1/L2 tables but no refcount ones. Generation of an entirely
defined image limits these cases. Now the Image constructor creates only
a header and a backing file name (if any), other image elements are generated
in the 'create_image' API.
Signed-off-by: Maria Kustova <maria.k@catit.be >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2014-08-15 18:03:14 +01:00
38eb193b8b
image-fuzzer: Add generators of L1/L2 tables
...
Entries in L1/L2 entries are based on a portion of random guest clusters.
L2 entries contain offsets to host image clusters filled with random data.
Clusters for L1/L2 tables and guest data are selected randomly.
Signed-off-by: Maria Kustova <maria.k@catit.be >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2014-08-15 18:03:14 +01:00
e123232331
image-fuzzer: Generator of fuzzed qcow2 images
...
The layout submodule of the qcow2 package creates a random valid image,
randomly selects some amount of its fields, fuzzes them and write the fuzzed
image to the file. Fuzzing process can be controlled by an external
configuration.
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Signed-off-by: Maria Kustova <maria.k@catit.be >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2014-08-15 18:03:14 +01:00