qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
To: qemu-block@nongnu.org
Cc: qemu-devel@nongnu.org, hreitz@redhat.com, kwolf@redhat.com,
	willianr@redhat.com, wainersm@redhat.com, thuth@redhat.com,
	f4bug@amsat.org, alex.bennee@linaro.org, pbonzini@redhat.com,
	eesposit@redhat.com, eblake@redhat.com
Subject: Re: [PATCH v2] iotests/check: move long options to double dash
Date: Wed, 22 Sep 2021 10:46:58 +0300	[thread overview]
Message-ID: <856208b1-cfce-fb99-5a04-f15e277b6cf4@virtuozzo.com> (raw)
In-Reply-To: <20210903120039.41418-1-vsementsov@virtuozzo.com>

ping.

Patch is reviewed)

03.09.2021 15:00, Vladimir Sementsov-Ogievskiy wrote:
> So, the change:
> 
>    -makecheck -> --makecheck
>    -gdb       -> --gdb
>    -valgrind  -> --valgrind
>    -misalign  -> --misalign
>    -nocache   -> --nocache
>    -qcow2 (and other formats) -> --qcow2
>    -file (and other protocols) -> --file
> 
> Motivation:
> 
> 1. check scripts uses ArgumentParser to parse options, which supports
>     combining of short options. So using one dash for long options is a
>     bit ambiguous.
> 
> 2. Several long options are already have double dash:
>    --dry-run, --color, --groups, --exclude-groups, --start-from
> 
> 3. -misalign is used to add --misalign option (two dashes) to qemu-io
> 
> 4. qemu-io and qemu-nbd has --nocache option (two dashes)
> 
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
> ---
> 
> v2: cover more things, update also format and protocol options
> 
>   docs/devel/testing.rst       | 12 ++++++------
>   .gitlab-ci.d/buildtest.yml   |  4 ++--
>   tests/check-block.sh         |  2 +-
>   tests/qemu-iotests/README    |  7 ++++---
>   tests/qemu-iotests/check     | 14 +++++++-------
>   tests/qemu-iotests/common.rc |  4 ++--
>   6 files changed, 22 insertions(+), 21 deletions(-)
> 
> diff --git a/docs/devel/testing.rst b/docs/devel/testing.rst
> index 4a0abbf23d..907b18a600 100644
> --- a/docs/devel/testing.rst
> +++ b/docs/devel/testing.rst
> @@ -153,16 +153,16 @@ with arguments:
>   .. code::
>   
>     # test with qcow2 format
> -  ./check -qcow2
> +  ./check --qcow2
>     # or test a different protocol
> -  ./check -nbd
> +  ./check --nbd
>   
>   It's also possible to list test numbers explicitly:
>   
>   .. code::
>   
>     # run selected cases with qcow2 format
> -  ./check -qcow2 001 030 153
> +  ./check --qcow2 001 030 153
>   
>   Cache mode can be selected with the "-c" option, which may help reveal bugs
>   that are specific to certain cache mode.
> @@ -229,7 +229,7 @@ Debugging a test case
>   The following options to the ``check`` script can be useful when debugging
>   a failing test:
>   
> -* ``-gdb`` wraps every QEMU invocation in a ``gdbserver``, which waits for a
> +* ``--gdb`` wraps every QEMU invocation in a ``gdbserver``, which waits for a
>     connection from a gdb client.  The options given to ``gdbserver`` (e.g. the
>     address on which to listen for connections) are taken from the ``$GDB_OPTIONS``
>     environment variable.  By default (if ``$GDB_OPTIONS`` is empty), it listens on
> @@ -237,10 +237,10 @@ a failing test:
>     It is possible to connect to it for example with
>     ``gdb -iex "target remote $addr"``, where ``$addr`` is the address
>     ``gdbserver`` listens on.
> -  If the ``-gdb`` option is not used, ``$GDB_OPTIONS`` is ignored,
> +  If the ``--gdb`` option is not used, ``$GDB_OPTIONS`` is ignored,
>     regardless of whether it is set or not.
>   
> -* ``-valgrind`` attaches a valgrind instance to QEMU. If it detects
> +* ``--valgrind`` attaches a valgrind instance to QEMU. If it detects
>     warnings, it will print and save the log in
>     ``$TEST_DIR/<valgrind_pid>.valgrind``.
>     The final command line will be ``valgrind --log-file=$TEST_DIR/
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index e74998efb9..139c27554d 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -303,10 +303,10 @@ build-tcg-disabled:
>       - make check-unit
>       - make check-qapi-schema
>       - cd tests/qemu-iotests/
> -    - ./check -raw 001 002 003 004 005 008 009 010 011 012 021 025 032 033 048
> +    - ./check --raw 001 002 003 004 005 008 009 010 011 012 021 025 032 033 048
>               052 063 077 086 101 104 106 113 148 150 151 152 157 159 160 163
>               170 171 183 184 192 194 208 221 226 227 236 253 277 image-fleecing
> -    - ./check -qcow2 028 051 056 057 058 065 068 082 085 091 095 096 102 122
> +    - ./check --qcow2 028 051 056 057 058 065 068 082 085 091 095 096 102 122
>               124 132 139 142 144 145 151 152 155 157 165 194 196 200 202
>               208 209 216 218 227 234 246 247 248 250 254 255 257 258
>               260 261 262 263 264 270 272 273 277 279 image-fleecing
> diff --git a/tests/check-block.sh b/tests/check-block.sh
> index f86cb863de..cff1263c0b 100755
> --- a/tests/check-block.sh
> +++ b/tests/check-block.sh
> @@ -77,7 +77,7 @@ export PYTHONUTF8=1
>   
>   ret=0
>   for fmt in $format_list ; do
> -    ${PYTHON} ./check -makecheck -$fmt $group || ret=1
> +    ${PYTHON} ./check --makecheck --$fmt $group || ret=1
>   done
>   
>   exit $ret
> diff --git a/tests/qemu-iotests/README b/tests/qemu-iotests/README
> index 6079b401ae..8e1f3e19c3 100644
> --- a/tests/qemu-iotests/README
> +++ b/tests/qemu-iotests/README
> @@ -10,9 +10,10 @@ but no actual block drivers like ide, scsi or virtio.
>   
>   * Usage
>   
> -Just run ./check to run all tests for the raw image format, or ./check
> --qcow2 to test the qcow2 image format.  The output of ./check -h explains
> -additional options to test further image formats or I/O methods.
> +Just run ./check to run all tests for the raw image format,
> +or ./check --qcow2 to test the qcow2 image format.  The output of
> +./check -h explains additional options to test further image formats
> +or I/O methods.
>   
>   * Feedback and patches
>   
> diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check
> index da1bfb839e..5ca9f31950 100755
> --- a/tests/qemu-iotests/check
> +++ b/tests/qemu-iotests/check
> @@ -32,20 +32,20 @@ def make_argparser() -> argparse.ArgumentParser:
>   
>       p.add_argument('-n', '--dry-run', action='store_true',
>                      help='show me, do not run tests')
> -    p.add_argument('-makecheck', action='store_true',
> +    p.add_argument('--makecheck', action='store_true',
>                      help='pretty print output for make check')
>   
>       p.add_argument('-d', dest='debug', action='store_true', help='debug')
>       p.add_argument('-p', dest='print', action='store_true',
>                   help='redirects qemu\'s stdout and stderr to the test output')
> -    p.add_argument('-gdb', action='store_true',
> +    p.add_argument('--gdb', action='store_true',
>                      help="start gdbserver with $GDB_OPTIONS options \
>                           ('localhost:12345' if $GDB_OPTIONS is empty)")
> -    p.add_argument('-valgrind', action='store_true',
> +    p.add_argument('--valgrind', action='store_true',
>                       help='use valgrind, sets VALGRIND_QEMU environment '
>                       'variable')
>   
> -    p.add_argument('-misalign', action='store_true',
> +    p.add_argument('--misalign', action='store_true',
>                      help='misalign memory allocations')
>       p.add_argument('--color', choices=['on', 'off', 'auto'],
>                      default='auto', help="use terminal colors. The default "
> @@ -55,7 +55,7 @@ def make_argparser() -> argparse.ArgumentParser:
>       mg = g_env.add_mutually_exclusive_group()
>       # We don't set default for cachemode, as we need to distinguish default
>       # from user input later.
> -    mg.add_argument('-nocache', dest='cachemode', action='store_const',
> +    mg.add_argument('--nocache', dest='cachemode', action='store_const',
>                       const='none', help='set cache mode "none" (O_DIRECT), '
>                       'sets CACHEMODE environment variable')
>       mg.add_argument('-c', dest='cachemode',
> @@ -74,7 +74,7 @@ def make_argparser() -> argparse.ArgumentParser:
>           'At most one choice is allowed, default is "raw"')
>       mg = g_fmt.add_mutually_exclusive_group()
>       for fmt in format_list:
> -        mg.add_argument('-' + fmt, dest='imgfmt', action='store_const',
> +        mg.add_argument('--' + fmt, dest='imgfmt', action='store_const',
>                           const=fmt, help=f'test {fmt}')
>   
>       protocol_list = ['file', 'rbd', 'nbd', 'ssh', 'nfs', 'fuse']
> @@ -84,7 +84,7 @@ def make_argparser() -> argparse.ArgumentParser:
>           'At most one choice is allowed, default is "file"')
>       mg = g_prt.add_mutually_exclusive_group()
>       for prt in protocol_list:
> -        mg.add_argument('-' + prt, dest='imgproto', action='store_const',
> +        mg.add_argument('--' + prt, dest='imgproto', action='store_const',
>                           const=prt, help=f'test {prt}')
>   
>       g_bash = p.add_argument_group('bash tests options',
> diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
> index d8582454de..0817756814 100644
> --- a/tests/qemu-iotests/common.rc
> +++ b/tests/qemu-iotests/common.rc
> @@ -124,7 +124,7 @@ fi
>   
>   # Set the variables to the empty string to turn Valgrind off
>   # for specific processes, e.g.
> -# $ VALGRIND_QEMU_IO= ./check -qcow2 -valgrind 015
> +# $ VALGRIND_QEMU_IO= ./check --qcow2 --valgrind 015
>   
>   : ${VALGRIND_QEMU_VM=$VALGRIND_QEMU}
>   : ${VALGRIND_QEMU_IMG=$VALGRIND_QEMU}
> @@ -134,7 +134,7 @@ fi
>   
>   # The Valgrind own parameters may be set with
>   # its environment variable VALGRIND_OPTS, e.g.
> -# $ VALGRIND_OPTS="--leak-check=yes" ./check -qcow2 -valgrind 015
> +# $ VALGRIND_OPTS="--leak-check=yes" ./check --qcow2 --valgrind 015
>   
>   _qemu_proc_exec()
>   {
> 


-- 
Best regards,
Vladimir


      parent reply	other threads:[~2021-09-22  7:48 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-03 12:00 [PATCH v2] iotests/check: move long options to double dash Vladimir Sementsov-Ogievskiy
2021-09-03 17:29 ` Eric Blake
2021-09-22  7:46 ` Vladimir Sementsov-Ogievskiy [this message]

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=856208b1-cfce-fb99-5a04-f15e277b6cf4@virtuozzo.com \
    --to=vsementsov@virtuozzo.com \
    --cc=alex.bennee@linaro.org \
    --cc=eblake@redhat.com \
    --cc=eesposit@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=hreitz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    --cc=willianr@redhat.com \
    /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).