This patch series introduces the image fuzzer, a tool for stability and
reliability testing.
Its approach is to run large amount of tests in background. During every test a
program (e.g. qemu-img) is called to read or modify an invalid test image.
A test image has valid inner structure defined by its format specification with
some fields having random invalid values.

Patch 1 contains documentation for the image fuzzer, patch 2 is the test runner
and remaining ones relate to the image generator for qcow2 format.

This patch series was created for the 'block-next' branch.

v3 -> v4:
All changes are based on the review of Stefan Hajnoczi:
Runner:
 * list of test results replaced by a single boolean value
 * the code cleanup (residual hash() and error handling)
 * fixed ambiguities in the usage and errors texts
Fuzz:
 * simplified validating and selecting functions with the unified validator
Layout:
 * fixed typos
Docs:
 * fixed wrong JSON terminology

Maria Kustova (5):
  docs: Specification for the image fuzzer
  runner: Tool for fuzz tests execution
  fuzz: Fuzzing functions for qcow2 images
  layout: Generator of fuzzed qcow2 images
  package: Public API for image-fuzzer/runner/runner.py

 tests/image-fuzzer/docs/image-fuzzer.txt | 239 ++++++++++++++++++++
 tests/image-fuzzer/qcow2/__init__.py     |   1 +
 tests/image-fuzzer/qcow2/fuzz.py         | 329 ++++++++++++++++++++++++++++
 tests/image-fuzzer/qcow2/layout.py       | 359 ++++++++++++++++++++++++++++++
 tests/image-fuzzer/runner/runner.py      | 360 +++++++++++++++++++++++++++++++
 5 files changed, 1288 insertions(+)
 create mode 100644 tests/image-fuzzer/docs/image-fuzzer.txt
 create mode 100644 tests/image-fuzzer/qcow2/__init__.py
 create mode 100644 tests/image-fuzzer/qcow2/fuzz.py
 create mode 100644 tests/image-fuzzer/qcow2/layout.py
 create mode 100755 tests/image-fuzzer/runner/runner.py

-- 
1.9.3


Reply via email to