[PATCH 00/24] virstoragetest: Re-instate testing of images without backing format

Peter Krempa posted 24 patches 2 weeks, 2 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1631177237.git.pkrempa@redhat.com
build-aux/syntax-check.mk                     |   2 +-
tests/testutils.c                             |  30 +
tests/testutils.h                             |   3 +
tests/virstoragetest.c                        | 906 ++++++------------
tests/virstoragetestdata/images/loop-1.qcow2  | Bin 0 -> 196616 bytes
tests/virstoragetestdata/images/loop-2.qcow2  | Bin 0 -> 196616 bytes
.../virstoragetestdata/images/loop-self.qcow2 | Bin 0 -> 196616 bytes
tests/virstoragetestdata/images/qcow2         | Bin 0 -> 196616 bytes
.../images/qcow2_nbd-raw.qcow2                | Bin 0 -> 196616 bytes
.../images/qcow2_qcow2-auto.qcow2             | Bin 0 -> 196616 bytes
.../images/qcow2_qcow2-auto_qcow2-auto.qcow2  | Bin 0 -> 196616 bytes
.../images/qcow2_qcow2-missing.qcow2          | Bin 0 -> 196616 bytes
...2_qcow2-qcow2-symlink_raw-raw-reldir.qcow2 | Bin 0 -> 196616 bytes
.../images/qcow2_qcow2-qcow2_qcow2-auto.qcow2 | Bin 0 -> 196616 bytes
.../images/qcow2_qcow2-qcow2_raw-auto.qcow2   | Bin 0 -> 196616 bytes
.../images/qcow2_raw-auto.qcow2               | Bin 0 -> 196616 bytes
.../images/qcow2_raw-raw-relative.qcow2       | Bin 0 -> 196616 bytes
.../images/qcow2_raw-raw-reldir.qcow2         | Bin 0 -> 196616 bytes
.../images/qed_raw-raw-relative               | Bin 0 -> 327680 bytes
tests/virstoragetestdata/images/raw           | Bin 0 -> 1024 bytes
tests/virstoragetestdata/images/sub/link1     |   1 +
tests/virstoragetestdata/images/sub/link2     |   1 +
tests/virstoragetestdata/lookup/qcow2         |   0
tests/virstoragetestdata/lookup/raw           |   0
tests/virstoragetestdata/lookup/sub/link2     |   1 +
tests/virstoragetestdata/lookup/wrap          |   0
tests/virstoragetestdata/out/directory-dir    |   9 +
tests/virstoragetestdata/out/directory-none   |   9 +
tests/virstoragetestdata/out/directory-raw    |   9 +
.../out/qcow2-auto_qcow2-qcow2_raw-raw        |   9 +
.../out/qcow2-auto_raw-raw-relative           |   9 +
.../out/qcow2-qcow2_nbd-raw                   |  19 +
.../out/qcow2-qcow2_qcow2-auto                |  19 +
.../out/qcow2-qcow2_qcow2-qcow2_qcow2-auto    |  29 +
.../out/qcow2-qcow2_qcow2-qcow2_raw-auto      |  29 +
.../out/qcow2-qcow2_qcow2-qcow2_raw-raw       |  29 +
.../out/qcow2-qcow2_raw-raw-relative          |  19 +
tests/virstoragetestdata/out/qcow2-symlinks   |  29 +
tests/virstoragetestdata/out/qed-auto_raw     |   9 +
tests/virstoragetestdata/out/qed-qed_raw      |  19 +
tests/virstoragetestdata/out/raw-auto         |   9 +
tests/virstoragetestdata/out/raw-raw          |   9 +
42 files changed, 580 insertions(+), 628 deletions(-)
create mode 100644 tests/virstoragetestdata/images/loop-1.qcow2
create mode 100644 tests/virstoragetestdata/images/loop-2.qcow2
create mode 100644 tests/virstoragetestdata/images/loop-self.qcow2
create mode 100644 tests/virstoragetestdata/images/qcow2
create mode 100644 tests/virstoragetestdata/images/qcow2_nbd-raw.qcow2
create mode 100644 tests/virstoragetestdata/images/qcow2_qcow2-auto.qcow2
create mode 100644 tests/virstoragetestdata/images/qcow2_qcow2-auto_qcow2-auto.qcow2
create mode 100644 tests/virstoragetestdata/images/qcow2_qcow2-missing.qcow2
create mode 100644 tests/virstoragetestdata/images/qcow2_qcow2-qcow2-symlink_raw-raw-reldir.qcow2
create mode 100644 tests/virstoragetestdata/images/qcow2_qcow2-qcow2_qcow2-auto.qcow2
create mode 100644 tests/virstoragetestdata/images/qcow2_qcow2-qcow2_raw-auto.qcow2
create mode 100644 tests/virstoragetestdata/images/qcow2_raw-auto.qcow2
create mode 100644 tests/virstoragetestdata/images/qcow2_raw-raw-relative.qcow2
create mode 100644 tests/virstoragetestdata/images/qcow2_raw-raw-reldir.qcow2
create mode 100644 tests/virstoragetestdata/images/qed_raw-raw-relative
create mode 100644 tests/virstoragetestdata/images/raw
create mode 120000 tests/virstoragetestdata/images/sub/link1
create mode 120000 tests/virstoragetestdata/images/sub/link2
create mode 100644 tests/virstoragetestdata/lookup/qcow2
create mode 100644 tests/virstoragetestdata/lookup/raw
create mode 120000 tests/virstoragetestdata/lookup/sub/link2
create mode 100644 tests/virstoragetestdata/lookup/wrap
create mode 100644 tests/virstoragetestdata/out/directory-dir
create mode 100644 tests/virstoragetestdata/out/directory-none
create mode 100644 tests/virstoragetestdata/out/directory-raw
create mode 100644 tests/virstoragetestdata/out/qcow2-auto_qcow2-qcow2_raw-raw
create mode 100644 tests/virstoragetestdata/out/qcow2-auto_raw-raw-relative
create mode 100644 tests/virstoragetestdata/out/qcow2-qcow2_nbd-raw
create mode 100644 tests/virstoragetestdata/out/qcow2-qcow2_qcow2-auto
create mode 100644 tests/virstoragetestdata/out/qcow2-qcow2_qcow2-qcow2_qcow2-auto
create mode 100644 tests/virstoragetestdata/out/qcow2-qcow2_qcow2-qcow2_raw-auto
create mode 100644 tests/virstoragetestdata/out/qcow2-qcow2_qcow2-qcow2_raw-raw
create mode 100644 tests/virstoragetestdata/out/qcow2-qcow2_raw-raw-relative
create mode 100644 tests/virstoragetestdata/out/qcow2-symlinks
create mode 100644 tests/virstoragetestdata/out/qed-auto_raw
create mode 100644 tests/virstoragetestdata/out/qed-qed_raw
create mode 100644 tests/virstoragetestdata/out/raw-auto
create mode 100644 tests/virstoragetestdata/out/raw-raw

[PATCH 00/24] virstoragetest: Re-instate testing of images without backing format

Posted by Peter Krempa 2 weeks, 2 days ago
Most of the series are refactors to make virstoragetest less archaic,
the last commit then re-introduces testing of images which don't have
backing format recorded in the metadata which can't be formatted using
qemu-img any more but have security implications if we'd mishandle them.

Peter Krempa (24):
  virstoragetest: Drop testing of RBD backends via parsing real images
  virstoragetest: Drop testing of NBD backends via parsing real images
  testutils: Introduce helper for stripping bulilddir/srcdir from test
    outputs
  virstoragetest: Store output of TEST_CHAIN in output files
  virstoragetest: Remove redundant arguments for chain lookup tests
  virstoragetest: Rework TEST_LOOKUP* cases to work on fake backing
    chain
  virstoragetest: Test backing chain loops with hardcoded images
  virstoragetest: Use existing directory in the source tree for
    'directory' probing tests
  virstoragetest: Use a pre-formatted QED file for testing backing store
    extraction
  virstoragetest: Use pre-formatted file for non-path extraction test
  virstoragetest: Use preformatted file for testing missing backing
    store
  virstoragetest: Use existing file for testing 'raw' image lookup
  virstoragetest: Convert symlink and relative image testing use
    preformatted images
  virstoragetest: Use preformatted qcow2 image for testing relative
    paths
  virstoragetest: Unify testing of QCOW2 images with absolute backing
  virstoragetest: Stop rewriting images in 'mymain'
  virstoragetest: Don't rewrite the 'qcow2' image
  virstoragetest: Assume that 'qemu-img' supports '-o compat='
  virstoragetest: testPrepImages: Don't reuse 'cmd' pointer
  virstoragetest: testPrepImages: Use 'qemu-img' to format 'raw' image
  virstoragetest: testStorageChain: Skip test if filename is NULL
  virstoragetest: Don't skip the whole test when qemu-img fails to
    format images
  virstoragetest: Remove pointless goto from mymain
  virstoragetest: Reinstate testing of images without 'backing_fmt'

 build-aux/syntax-check.mk                     |   2 +-
 tests/testutils.c                             |  30 +
 tests/testutils.h                             |   3 +
 tests/virstoragetest.c                        | 906 ++++++------------
 tests/virstoragetestdata/images/loop-1.qcow2  | Bin 0 -> 196616 bytes
 tests/virstoragetestdata/images/loop-2.qcow2  | Bin 0 -> 196616 bytes
 .../virstoragetestdata/images/loop-self.qcow2 | Bin 0 -> 196616 bytes
 tests/virstoragetestdata/images/qcow2         | Bin 0 -> 196616 bytes
 .../images/qcow2_nbd-raw.qcow2                | Bin 0 -> 196616 bytes
 .../images/qcow2_qcow2-auto.qcow2             | Bin 0 -> 196616 bytes
 .../images/qcow2_qcow2-auto_qcow2-auto.qcow2  | Bin 0 -> 196616 bytes
 .../images/qcow2_qcow2-missing.qcow2          | Bin 0 -> 196616 bytes
 ...2_qcow2-qcow2-symlink_raw-raw-reldir.qcow2 | Bin 0 -> 196616 bytes
 .../images/qcow2_qcow2-qcow2_qcow2-auto.qcow2 | Bin 0 -> 196616 bytes
 .../images/qcow2_qcow2-qcow2_raw-auto.qcow2   | Bin 0 -> 196616 bytes
 .../images/qcow2_raw-auto.qcow2               | Bin 0 -> 196616 bytes
 .../images/qcow2_raw-raw-relative.qcow2       | Bin 0 -> 196616 bytes
 .../images/qcow2_raw-raw-reldir.qcow2         | Bin 0 -> 196616 bytes
 .../images/qed_raw-raw-relative               | Bin 0 -> 327680 bytes
 tests/virstoragetestdata/images/raw           | Bin 0 -> 1024 bytes
 tests/virstoragetestdata/images/sub/link1     |   1 +
 tests/virstoragetestdata/images/sub/link2     |   1 +
 tests/virstoragetestdata/lookup/qcow2         |   0
 tests/virstoragetestdata/lookup/raw           |   0
 tests/virstoragetestdata/lookup/sub/link2     |   1 +
 tests/virstoragetestdata/lookup/wrap          |   0
 tests/virstoragetestdata/out/directory-dir    |   9 +
 tests/virstoragetestdata/out/directory-none   |   9 +
 tests/virstoragetestdata/out/directory-raw    |   9 +
 .../out/qcow2-auto_qcow2-qcow2_raw-raw        |   9 +
 .../out/qcow2-auto_raw-raw-relative           |   9 +
 .../out/qcow2-qcow2_nbd-raw                   |  19 +
 .../out/qcow2-qcow2_qcow2-auto                |  19 +
 .../out/qcow2-qcow2_qcow2-qcow2_qcow2-auto    |  29 +
 .../out/qcow2-qcow2_qcow2-qcow2_raw-auto      |  29 +
 .../out/qcow2-qcow2_qcow2-qcow2_raw-raw       |  29 +
 .../out/qcow2-qcow2_raw-raw-relative          |  19 +
 tests/virstoragetestdata/out/qcow2-symlinks   |  29 +
 tests/virstoragetestdata/out/qed-auto_raw     |   9 +
 tests/virstoragetestdata/out/qed-qed_raw      |  19 +
 tests/virstoragetestdata/out/raw-auto         |   9 +
 tests/virstoragetestdata/out/raw-raw          |   9 +
 42 files changed, 580 insertions(+), 628 deletions(-)
 create mode 100644 tests/virstoragetestdata/images/loop-1.qcow2
 create mode 100644 tests/virstoragetestdata/images/loop-2.qcow2
 create mode 100644 tests/virstoragetestdata/images/loop-self.qcow2
 create mode 100644 tests/virstoragetestdata/images/qcow2
 create mode 100644 tests/virstoragetestdata/images/qcow2_nbd-raw.qcow2
 create mode 100644 tests/virstoragetestdata/images/qcow2_qcow2-auto.qcow2
 create mode 100644 tests/virstoragetestdata/images/qcow2_qcow2-auto_qcow2-auto.qcow2
 create mode 100644 tests/virstoragetestdata/images/qcow2_qcow2-missing.qcow2
 create mode 100644 tests/virstoragetestdata/images/qcow2_qcow2-qcow2-symlink_raw-raw-reldir.qcow2
 create mode 100644 tests/virstoragetestdata/images/qcow2_qcow2-qcow2_qcow2-auto.qcow2
 create mode 100644 tests/virstoragetestdata/images/qcow2_qcow2-qcow2_raw-auto.qcow2
 create mode 100644 tests/virstoragetestdata/images/qcow2_raw-auto.qcow2
 create mode 100644 tests/virstoragetestdata/images/qcow2_raw-raw-relative.qcow2
 create mode 100644 tests/virstoragetestdata/images/qcow2_raw-raw-reldir.qcow2
 create mode 100644 tests/virstoragetestdata/images/qed_raw-raw-relative
 create mode 100644 tests/virstoragetestdata/images/raw
 create mode 120000 tests/virstoragetestdata/images/sub/link1
 create mode 120000 tests/virstoragetestdata/images/sub/link2
 create mode 100644 tests/virstoragetestdata/lookup/qcow2
 create mode 100644 tests/virstoragetestdata/lookup/raw
 create mode 120000 tests/virstoragetestdata/lookup/sub/link2
 create mode 100644 tests/virstoragetestdata/lookup/wrap
 create mode 100644 tests/virstoragetestdata/out/directory-dir
 create mode 100644 tests/virstoragetestdata/out/directory-none
 create mode 100644 tests/virstoragetestdata/out/directory-raw
 create mode 100644 tests/virstoragetestdata/out/qcow2-auto_qcow2-qcow2_raw-raw
 create mode 100644 tests/virstoragetestdata/out/qcow2-auto_raw-raw-relative
 create mode 100644 tests/virstoragetestdata/out/qcow2-qcow2_nbd-raw
 create mode 100644 tests/virstoragetestdata/out/qcow2-qcow2_qcow2-auto
 create mode 100644 tests/virstoragetestdata/out/qcow2-qcow2_qcow2-qcow2_qcow2-auto
 create mode 100644 tests/virstoragetestdata/out/qcow2-qcow2_qcow2-qcow2_raw-auto
 create mode 100644 tests/virstoragetestdata/out/qcow2-qcow2_qcow2-qcow2_raw-raw
 create mode 100644 tests/virstoragetestdata/out/qcow2-qcow2_raw-raw-relative
 create mode 100644 tests/virstoragetestdata/out/qcow2-symlinks
 create mode 100644 tests/virstoragetestdata/out/qed-auto_raw
 create mode 100644 tests/virstoragetestdata/out/qed-qed_raw
 create mode 100644 tests/virstoragetestdata/out/raw-auto
 create mode 100644 tests/virstoragetestdata/out/raw-raw

-- 
2.31.1

Re: [PATCH 00/24] virstoragetest: Re-instate testing of images without backing format

Posted by Ján Tomko 2 weeks, 2 days ago
On a Thursday in 2021, Peter Krempa wrote:
>Most of the series are refactors to make virstoragetest less archaic,
>the last commit then re-introduces testing of images which don't have
>backing format recorded in the metadata which can't be formatted using
>qemu-img any more but have security implications if we'd mishandle them.
>
>Peter Krempa (24):
>  virstoragetest: Drop testing of RBD backends via parsing real images
>  virstoragetest: Drop testing of NBD backends via parsing real images
[...]
>  virstoragetest: Remove pointless goto from mymain
>  virstoragetest: Reinstate testing of images without 'backing_fmt'
>
> build-aux/syntax-check.mk                     |   2 +-
> tests/testutils.c                             |  30 +
> tests/testutils.h                             |   3 +
[...]
> tests/virstoragetestdata/out/raw-auto         |   9 +
> tests/virstoragetestdata/out/raw-raw          |   9 +
> 42 files changed, 580 insertions(+), 628 deletions(-)
> create mode 100644 tests/virstoragetestdata/images/loop-1.qcow2
[...]

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano