[PATCH v2 0/5] qemu-iotests: quality of life improvements

Paolo Bonzini posted 5 patches 3 years, 1 month ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210323181928.311862-1-pbonzini@redhat.com
Maintainers: Kevin Wolf <kwolf@redhat.com>, Max Reitz <mreitz@redhat.com>
There is a newer version of this series
tests/qemu-iotests/check         | 15 +++++-
tests/qemu-iotests/iotests.py    | 78 +++++++++++++++++++-------------
tests/qemu-iotests/testenv.py    | 22 +++++++--
tests/qemu-iotests/testrunner.py | 15 +-----
4 files changed, 81 insertions(+), 49 deletions(-)
[PATCH v2 0/5] qemu-iotests: quality of life improvements
Posted by Paolo Bonzini 3 years, 1 month ago
This series adds a few usability improvements to qemu-iotests, in
particular:

- arguments can be passed to Python unittests scripts, for example
  to run only a subset of the test cases (patches 1-2)

- it is possible to do "./check -- ../../../tests/qemu-iotests/055 args..."
  and specify arbitrary arguments to be passed to a single test script.
  This allows to take advantage of the previous feature and ease debugging
  of Python tests.

Paolo

v1->v2: patches 1-2 are a rewrite of v1's patch 1
        moved print_env change to patch 4
        do not use argparse.REMAINDER

Paolo Bonzini (5):
  qemu-iotests: do not buffer the test output
  qemu-iotests: allow passing unittest.main arguments to the test
    scripts
  qemu-iotests: move command line and environment handling from
    TestRunner to TestEnv
  qemu-iotests: let "check" spawn an arbitrary test command
  qemu-iotests: fix case of SOCK_DIR already in the environment

 tests/qemu-iotests/check         | 15 +++++-
 tests/qemu-iotests/iotests.py    | 78 +++++++++++++++++++-------------
 tests/qemu-iotests/testenv.py    | 22 +++++++--
 tests/qemu-iotests/testrunner.py | 15 +-----
 4 files changed, 81 insertions(+), 49 deletions(-)

-- 
2.30.1


Re: [PATCH v2 0/5] qemu-iotests: quality of life improvements
Posted by Emanuele Giuseppe Esposito 3 years, 1 month ago

On 23/03/2021 19:19, Paolo Bonzini wrote:
> This series adds a few usability improvements to qemu-iotests, in
> particular:
> 
> - arguments can be passed to Python unittests scripts, for example
>    to run only a subset of the test cases (patches 1-2)
> 
> - it is possible to do "./check -- ../../../tests/qemu-iotests/055 args..."
>    and specify arbitrary arguments to be passed to a single test script.
>    This allows to take advantage of the previous feature and ease debugging
>    of Python tests.
> 
> Paolo
> 
> v1->v2: patches 1-2 are a rewrite of v1's patch 1
>          moved print_env change to patch 4
>          do not use argparse.REMAINDER
> 
> Paolo Bonzini (5):
>    qemu-iotests: do not buffer the test output
>    qemu-iotests: allow passing unittest.main arguments to the test
>      scripts
>    qemu-iotests: move command line and environment handling from
>      TestRunner to TestEnv
>    qemu-iotests: let "check" spawn an arbitrary test command
>    qemu-iotests: fix case of SOCK_DIR already in the environment
> 
>   tests/qemu-iotests/check         | 15 +++++-
>   tests/qemu-iotests/iotests.py    | 78 +++++++++++++++++++-------------
>   tests/qemu-iotests/testenv.py    | 22 +++++++--
>   tests/qemu-iotests/testrunner.py | 15 +-----
>   4 files changed, 81 insertions(+), 49 deletions(-)
> 

I can confirm that this helps a lot when debugging tests.

Tested-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>


Re: [PATCH v2 0/5] qemu-iotests: quality of life improvements
Posted by Max Reitz 3 years, 1 month ago
On 23.03.21 19:19, Paolo Bonzini wrote:
> This series adds a few usability improvements to qemu-iotests, in
> particular:
> 
> - arguments can be passed to Python unittests scripts, for example
>    to run only a subset of the test cases (patches 1-2)
> 
> - it is possible to do "./check -- ../../../tests/qemu-iotests/055 args..."
>    and specify arbitrary arguments to be passed to a single test script.
>    This allows to take advantage of the previous feature and ease debugging
>    of Python tests.
> 
> Paolo
> 
> v1->v2: patches 1-2 are a rewrite of v1's patch 1
>          moved print_env change to patch 4
>          do not use argparse.REMAINDER

I’m afraid the changes to iotests.py don’t pass the scrutiny of iotest 
297, so I’m going to have to remove the series again. :/


=== pylint ===
************* Module iotests
iotests.py:1288:0: R0205: Class 'ReproducibleStreamWrapper' inherits 
from object, can be safely removed from bases in python3 
(useless-object-inheritance)
iotests.py:1303:4: W1113: Keyword argument before variable positional 
arguments list in the definition of __init__ function 
(keyword-arg-before-vararg)
=== mypy ===
iotests.py:1303: error: Function is missing a type annotation for one or 
more arguments
iotests.py:1304: error: Missing type parameters for generic type "Type"
iotests.py:1311: error: Function is missing a return type annotation
Found 3 errors in 1 file (checked 1 source file)

iotests.py:1303: error: Function is missing a type annotation for one or 
more arguments
iotests.py:1304: error: Missing type parameters for generic type "Type"
iotests.py:1311: error: Function is missing a return type annotation
Found 3 errors in 1 file (checked 1 source file)

iotests.py:1303: error: Function is missing a type annotation for one or 
more arguments
iotests.py:1304: error: Missing type parameters for generic type "Type"
iotests.py:1311: error: Function is missing a return type annotation
Found 3 errors in 1 file (checked 1 source file)

iotests.py:1303: error: Function is missing a type annotation for one or 
more arguments
iotests.py:1304: error: Missing type parameters for generic type "Type"
iotests.py:1311: error: Function is missing a return type annotation
Found 3 errors in 1 file (checked 1 source file)

iotests.py:1303: error: Function is missing a type annotation for one or 
more arguments
iotests.py:1304: error: Missing type parameters for generic type "Type"
iotests.py:1311: error: Function is missing a return type annotation
Found 3 errors in 1 file (checked 1 source file)

iotests.py:1303: error: Function is missing a type annotation for one or 
more arguments
iotests.py:1304: error: Missing type parameters for generic type "Type"
iotests.py:1311: error: Function is missing a return type annotation
Found 3 errors in 1 file (checked 1 source file)

iotests.py:1303: error: Function is missing a type annotation for one or 
more arguments
iotests.py:1304: error: Missing type parameters for generic type "Type"
iotests.py:1311: error: Function is missing a return type annotation
Found 3 errors in 1 file (checked 1 source file)

iotests.py:1303: error: Function is missing a type annotation for one or 
more arguments
iotests.py:1304: error: Missing type parameters for generic type "Type"
iotests.py:1311: error: Function is missing a return type annotation
Found 3 errors in 1 file (checked 1 source file)


Re: [PATCH v2 0/5] qemu-iotests: quality of life improvements
Posted by Max Reitz 3 years, 1 month ago
On 23.03.21 19:19, Paolo Bonzini wrote:
> This series adds a few usability improvements to qemu-iotests, in
> particular:
> 
> - arguments can be passed to Python unittests scripts, for example
>    to run only a subset of the test cases (patches 1-2)
> 
> - it is possible to do "./check -- ../../../tests/qemu-iotests/055 args..."
>    and specify arbitrary arguments to be passed to a single test script.
>    This allows to take advantage of the previous feature and ease debugging
>    of Python tests.
> 
> Paolo

I’ve applied an s/,attr/, attr/ to patch 1 (as suggested by Vladimir) 
and an s/debug: bool= False/debug: bool = False/ to patch 2.  I hope 
that’s OK for you.

With that I’ve applied the series to my block branch:

https://git.xanclic.moe/XanClic/qemu/commits/branch/block

Thanks!


Re: [PATCH v2 0/5] qemu-iotests: quality of life improvements
Posted by Paolo Bonzini 3 years, 1 month ago
Il gio 25 mar 2021, 19:15 Max Reitz <mreitz@redhat.com> ha scritto:

> I’ve applied an s/,attr/, attr/ to patch 1 (as suggested by Vladimir)
> and an s/debug: bool= False/debug: bool = False/ to patch 2.  I hope
> that’s OK for you.
>
> With that I’ve applied the series to my block branch:
>
> https://git.xanclic.moe/XanClic/qemu/commits/branch/block


Of course, thanks Max!

Paolo