qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Hanna Reitz <hreitz@redhat.com>
To: qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Hanna Reitz <hreitz@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	qemu-devel@nongnu.org
Subject: [PULL 04/24] iotests.py: implement unsupported_imgopts
Date: Tue,  1 Feb 2022 15:42:13 +0100	[thread overview]
Message-ID: <20220201144233.617021-5-hreitz@redhat.com> (raw)
In-Reply-To: <20220201144233.617021-1-hreitz@redhat.com>

From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

We are going to support some addition IMGOPTS in python iotests like
in bash iotests. Similarly to bash iotests, we want a way to skip some
tests which can't work with specific IMGOPTS.

Globally for python iotests we will not support things like
'data_file=$TEST_IMG.ext_data_file' in IMGOPTS, so, forbid this
globally in iotests.py.

Suggested-by: Hanna Reitz <hreitz@redhat.com>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20211223160144.1097696-3-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
---
 tests/qemu-iotests/iotests.py | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 30a8837ea2..2fa5dcba76 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -1226,6 +1226,17 @@ def _verify_virtio_scsi_pci_or_ccw() -> None:
         notrun('Missing virtio-scsi-pci or virtio-scsi-ccw in QEMU binary')
 
 
+def _verify_imgopts(unsupported: Sequence[str] = ()) -> None:
+    imgopts = os.environ.get('IMGOPTS')
+    # One of usage examples for IMGOPTS is "data_file=$TEST_IMG.ext_data_file"
+    # but it supported only for bash tests. We don't have a concept of global
+    # TEST_IMG in iotests.py, not saying about somehow parsing $variables.
+    # So, for simplicity let's just not support any IMGOPTS with '$' inside.
+    unsup = list(unsupported) + ['$']
+    if imgopts and any(x in imgopts for x in unsup):
+        notrun(f'not suitable for this imgopts: {imgopts}')
+
+
 def supports_quorum():
     return 'quorum' in qemu_img_pipe('--help')
 
@@ -1402,7 +1413,8 @@ def execute_setup_common(supported_fmts: Sequence[str] = (),
                          unsupported_fmts: Sequence[str] = (),
                          supported_protocols: Sequence[str] = (),
                          unsupported_protocols: Sequence[str] = (),
-                         required_fmts: Sequence[str] = ()) -> bool:
+                         required_fmts: Sequence[str] = (),
+                         unsupported_imgopts: Sequence[str] = ()) -> bool:
     """
     Perform necessary setup for either script-style or unittest-style tests.
 
@@ -1422,6 +1434,7 @@ def execute_setup_common(supported_fmts: Sequence[str] = (),
     _verify_aio_mode(supported_aio_modes)
     _verify_formats(required_fmts)
     _verify_virtio_blk()
+    _verify_imgopts(unsupported_imgopts)
 
     return debug
 
-- 
2.34.1



  parent reply	other threads:[~2022-02-01 16:10 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-01 14:42 [PULL 00/24] Block patches Hanna Reitz
2022-02-01 14:42 ` [PULL 01/24] tests/qemu-iotests: Fix 051 for binaries without 'lsi53c895a' Hanna Reitz
2022-02-01 14:42 ` [PULL 02/24] iotests/MRCE: Write data to source Hanna Reitz
2022-02-01 14:42 ` [PULL 03/24] iotests.py: img_info_log(): rename imgopts argument Hanna Reitz
2022-02-01 14:42 ` Hanna Reitz [this message]
2022-02-01 14:42 ` [PULL 05/24] iotests: specify some unsupported_imgopts for python iotests Hanna Reitz
2022-02-01 14:42 ` [PULL 06/24] iotests.py: qemu_img*("create"): support IMGOPTS='compression_type=zstd' Hanna Reitz
2022-02-01 14:42 ` [PULL 07/24] iotests: drop qemu_img_verbose() helper Hanna Reitz
2022-02-01 14:42 ` [PULL 08/24] iotests.py: rewrite default luks support in qemu_img Hanna Reitz
2022-02-01 14:42 ` [PULL 09/24] iotest 303: explicit compression type Hanna Reitz
2022-02-01 14:42 ` [PULL 10/24] iotest 065: " Hanna Reitz
2022-02-14 19:53   ` Thomas Huth
2022-02-01 14:42 ` [PULL 11/24] iotests.py: filter out successful output of qemu-img create Hanna Reitz
2022-02-01 14:42 ` [PULL 12/24] iotests.py: filter compression type out Hanna Reitz
2022-02-01 14:42 ` [PULL 13/24] iotest 302: use img_info_log() helper Hanna Reitz
2022-02-01 14:42 ` [PULL 14/24] qcow2: simple case support for downgrading of qcow2 images with zstd Hanna Reitz
2022-02-01 14:42 ` [PULL 15/24] iotests/common.rc: introduce _qcow2_dump_header helper Hanna Reitz
2022-02-01 14:42 ` [PULL 16/24] iotests: massive use _qcow2_dump_header Hanna Reitz
2022-02-01 14:42 ` [PULL 17/24] iotest 39: " Hanna Reitz
2022-02-01 14:42 ` [PULL 18/24] iotests: bash tests: filter compression type Hanna Reitz
2022-02-01 14:42 ` [PULL 19/24] iotests 60: more accurate set dirty bit in qcow2 header Hanna Reitz
2022-02-01 14:42 ` [PULL 20/24] iotest 214: explicit compression type Hanna Reitz
2022-02-01 14:42 ` [PULL 21/24] iotests: declare lack of support for compresion_type in IMGOPTS Hanna Reitz
2022-02-01 14:42 ` [PULL 22/24] block-backend: Retain permissions after migration Hanna Reitz
2022-02-01 14:42 ` [PULL 23/24] iotests/migration-permissions: New test Hanna Reitz
2022-02-01 14:42 ` [PULL 24/24] block.h: remove outdated comment Hanna Reitz
2022-02-01 19:47 ` [PULL 00/24] Block patches Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220201144233.617021-5-hreitz@redhat.com \
    --to=hreitz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).