can't amend the iotest output to just always expect the
error message, either. Just suppress it for now. More rigorous log
filtering can be investigated later if/when it is deemed safe to
permanently replace the legacy QMP library.)
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
---
QMP socket, which will cause an ECONNRESET error to be
logged. Waiting for the VM to exit itself avoids the race on shutdown
behavior.)
Reported-by: Hanna Reitz
Signed-off-by: John Snow
---
tests/qemu-iotests/300 | 12
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/tests/qe
"heterogeneous" ;)
005: Add in a TODO for me to trip over in the future.
006: Fix a bug surfaced by a new iotest where waiting with pull_event for a
timeout of 0.0 will cause a timeout exception to be raised even if there
was an event ready to be read.
V2: A distant dream,
(directly) to shut down.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
---
python/qemu/machine/machine.py | 34 +++---
tests/qemu-iotests/040 | 7 +--
tests/qemu-iotests/218 | 2 +-
tests/qemu-iotests/255 | 2 +-
4 files changed,
In trying to replace the QMP library backend, I have now twice stumbled
upon a SIGSEGV in iotest 030 in the last three weeks or so.
I didn't have debug symbols on at the time, so I've got only this stack
trace:
(gdb) thread apply all bt
Thread 8 (Thread 0x7f0a6b8c4640 (LWP 1873554)):
#0 0x7
On Wed, Oct 13, 2021 at 10:49 AM Hanna Reitz wrote:
> On 13.10.21 16:00, John Snow wrote:
> >
> >
> > On Wed, Oct 13, 2021 at 8:51 AM John Snow wrote:
> >
> >
> >
> > On Wed, Oct 13, 2021 at 4:45 AM Hanna Reitz
> wrote:
&g
On Wed, Oct 13, 2021 at 8:11 AM Hanna Reitz wrote:
> On 04.10.21 23:05, John Snow wrote:
> > We need at least a tiny little shim here to join test file discovery
> > with test invocation. This logic could conceivably be hosted somewhere
> > in python/, but I felt it was st
On Wed, Oct 13, 2021 at 7:50 AM Hanna Reitz wrote:
> On 04.10.21 23:04, John Snow wrote:
> > Now, 297 is just the iotests-specific incantations and linters.py is as
> > minimal as I can think to make it. The only remaining element in here
> > that ought to be configuratio
On Wed, Oct 13, 2021 at 7:03 AM Hanna Reitz wrote:
> On 04.10.21 23:04, John Snow wrote:
> > Instead of running "run_linters" directly, create a main() function that
> > will be responsible for environment setup, leaving run_linters()
> > responsible on
On Wed, Oct 13, 2021 at 6:53 AM Hanna Reitz wrote:
> On 04.10.21 23:04, John Snow wrote:
> > More separation of code and configuration.
> >
> > Signed-off-by: John Snow
> > ---
> > tests/qemu-iotests/297 | 14 +-
> > tests/qemu-iot
On Wed, Oct 13, 2021 at 8:51 AM John Snow wrote:
>
>
> On Wed, Oct 13, 2021 at 4:45 AM Hanna Reitz wrote:
>
>> On 13.10.21 00:34, John Snow wrote:
>> > Based-on: <20211012214152.802483-1-js...@redhat.com>
>> >[PULL 00/10] Python patches
>
On Wed, Oct 13, 2021 at 4:45 AM Hanna Reitz wrote:
> On 13.10.21 00:34, John Snow wrote:
> > Based-on: <20211012214152.802483-1-js...@redhat.com>
> >[PULL 00/10] Python patches
> > GitLab:
> https://gitlab.com/jsnow/qemu/-/commits/python-aqmp-iotest-wrap
last 'quit' command. That error will ultimately be bubbled
up when attempting to close the QMP connection. The manager class here
then is free to discard it -- if it was expected.
Signed-off-by: John Snow
---
python/qemu/machine/machine.py | 48 +-
work
concurrently.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
Tested-by: Hanna Reitz
---
python/qemu/machine/machine.py | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/python/qemu/machine/machine.py b/python/qemu/machine/machine.py
index a0cf69786b4..a487c397459
This is a wrapper around the async QMPClient that mimics the old,
synchronous QEMUMonitorProtocol class. It is designed to be
interchangeable with the old implementation.
It does not, however, attempt to mimic Exception compatibility.
Signed-off-by: John Snow
---
python/qemu/aqmp/legacy.py
can't amend the iotest output to just always expect the
error message, either. Just suppress it for now. More rigorous log
filtering can be investigated later if/when it is deemed safe to
permanently replace the legacy QMP library.)
Signed-off-by: John Snow
---
tests/qemu-iotests/iotes
the AQMP library handles logging.
- Adjust docstring in patch 08 (Hanna)
- Rename "_has_quit" attribute to "_quid_issued" (Hanna)
- Renamed patch 12, simplified the logic in _soft_shutdown a tiny bit.
- Fixed bad exception handling logic in 13 (Hanna)
- Introduce a helper in pa
The scary message interferes with the iotests output. Coincidentally, if
iotests works by removing this, then it's good evidence that we don't
really need to scare people away from using it.
Signed-off-by: John Snow
---
python/qemu/aqmp/__init__.py | 12
1 file c
its derivatives. That'd be these:
- QMPError
- QMPConnectError
- QMPCapabilitiesError
- QMPTimeoutError
- QMPProtocolError
- QMPResponseError
- QMPBadPortError
Signed-off-by: John Snow
---
scripts/simplebench/bench_block_job.py| 3 ++-
tests/qemu-iotests/tests/mirror-top-perms | 5 +++--
(directly) to shut down.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
---
python/qemu/machine/machine.py | 34 +++---
tests/qemu-iotests/040 | 7 +--
tests/qemu-iotests/218 | 2 +-
tests/qemu-iotests/255 | 2 +-
4 files changed,
It's not used anymore, now.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
Reviewed-by: Paolo Bonzini
Message-id: 20210923004938.363-11-js...@redhat.com
Signed-off-by: John Snow
---
tests/qemu-iotests/socket_scm_helper.c | 136 -
python/qemu/machine/machi
that will suppress these messages until a client
application opts into logging via logging.basicConfig or similar. Note
that upon calling basicConfig(), this handler will *not* suppress these
messages from being displayed by the client's configuration.
Signed-off-by: John Snow
Reviewed-by
ivate implementation
details. /that/ is helpful in turn because it allows me to write a
compatible, alternative implementation.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
Reviewed-by: Paolo Bonzini
Message-id: 20210923004938.363-10-js...@redhat.com
Signed-off-by: John Snow
---
python/qemu/ma
Making the retrieval also clear the queue is vastly simpler.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
Reviewed-by: Paolo Bonzini
Message-id: 20210923004938.363-9-js...@redhat.com
Signed-off-by: John Snow
---
python/qemu/machine/machine.py | 1 -
python/qemu/qmp/__init__.py| 6
o occur during the normal
operation of the library.
Signed-off-by: John Snow
Reviewed-by: Paolo Bonzini
Reviewed-by: Eric Blake
Message-id: 20210923004938.363-7-js...@redhat.com
Signed-off-by: John Snow
---
python/qemu/aqmp/protocol.py | 7 +--
1 file changed, 5 insertions(+), 2 del
Synchronous clients may want to know if they're about to block waiting
for an event or not. A method such as this is necessary to implement a
compatible interface for the old QEMUMonitorProtocol using the new async
internals.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
Reviewed-by:
The iotests interface expects to return the greeting as a dict; AQMP
offers it as a rich object.
Signed-off-by: John Snow
Reviewed-by: Paolo Bonzini
Reviewed-by: Eric Blake
Message-id: 20210923004938.363-6-js...@redhat.com
Signed-off-by: John Snow
---
python/qemu/aqmp/models.py | 13
n
https://bugs.python.org/issue43232
Signed-off-by: John Snow
Reviewed-by: Paolo Bonzini
Reviewed-by: Eric Blake
Message-id: 20210923004938.363-5-js...@redhat.com
Signed-off-by: John Snow
---
python/qemu/aqmp/qmp_client.py | 22 ++
1 file changed, 22 insertions(+)
diff
This serves two purposes:
(1) It is now possible to discern whether or not clear() removed any
event(s) from the queue with absolute certainty, and
(2) It is now very easy to get a List of all pending events in one
chunk, which is useful for the sync bridge.
Signed-off-by: John Snow
Reviewed
Expose the greeting as a read-only property of QMPClient so it can be
retrieved at-will.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
Reviewed-by: Paolo Bonzini
Message-id: 20210923004938.363-2-js...@redhat.com
Signed-off-by: John Snow
---
python/qemu/aqmp/qmp_client.py | 5 +
1
ll-request
for you to fetch changes up to c163c723ef92d0f629d015902396f2c67328b2e5:
python, iotests: remove socket_scm_helper (2021-10-12 12:22:11 -0400)
Pull request
On Tue, Oct 12, 2021 at 12:06 PM Hanna Reitz wrote:
> On 23.09.21 02:49, John Snow wrote:
> > (But continue to support the old ones for now, too.)
> >
> > There are very few cases of any user of QEMUMachine or a subclass
> > thereof relying on a QMP Exception type.
On Wed, Sep 22, 2021 at 8:50 PM John Snow wrote:
> To use the AQMP backend, Machine just needs to be a little more diligent
> about what happens when closing a QMP connection. The operation is no
> longer a freebie in the async world; it may return errors encountered in
> the async
On Thu, Oct 7, 2021 at 11:08 AM Eric Blake wrote:
> On Wed, Sep 22, 2021 at 08:49:33PM -0400, John Snow wrote:
> > To use the AQMP backend, Machine just needs to be a little more diligent
> > about what happens when closing a QMP connection. The operation is no
> > longer a
On Thu, Oct 7, 2021 at 10:52 AM Eric Blake wrote:
> On Wed, Sep 22, 2021 at 08:49:25PM -0400, John Snow wrote:
> > The single space is indeed required to successfully transmit the file
> > descriptor to QEMU.
>
> Sending fds requires a payload of at least one byte, but I do
On Wed, Oct 6, 2021 at 10:32 AM Paolo Bonzini wrote:
> On 06/10/21 16:24, John Snow wrote:
> >
> > I had plans at one point to make a sync.py, but with an interface that
> > matched async QMP itself more closely. I spent some time trying to
> > research how to make a
On Wed, Oct 6, 2021 at 6:14 AM Paolo Bonzini wrote:
> On 23/09/21 02:49, John Snow wrote:
> > Based-on: <20210915162955.333025-1-js...@redhat.com>
> >[PATCH v4 00/27] python: introduce Asynchronous QMP package
> > GitLab:
> https://gitlab.com/jsnow/qem
On Wed, Oct 6, 2021 at 6:13 AM Paolo Bonzini wrote:
> On 23/09/21 02:49, John Snow wrote:
> > This is a wrapper around the async QMPClient that mimics the old,
> > synchronous QEMUMonitorProtocol class. It is designed to be
> > interchangeable with the old implementation
On Mon, Oct 4, 2021 at 2:32 PM John Snow wrote:
>
>
> On Mon, Oct 4, 2021 at 6:12 AM Hanna Reitz wrote:
>
>> On 18.09.21 04:14, John Snow wrote:
>> >
>> >
>> > On Fri, Sep 17, 2021 at 8:58 PM John Snow > > <mailto:js...@redhat.com>>
against a wide variety of python versions, which helps to find
accidental cross-version python compatibility issues.
Signed-off-by: John Snow
---
python/tests/iotests-mypy.sh | 4
python/tests/iotests-pylint.sh | 4
2 files changed, 8 insertions(+)
create mode 100755 python/tests/iotests
There's virtually nothing special here anymore; we can combine these
into a single, rather generic function.
Signed-off-by: John Snow
---
tests/qemu-iotests/297 | 46 +++---
1 file changed, 25 insertions(+), 21 deletions(-)
diff --git a/tests/qemu-io
Move environment setup into main(), leaving pure test execution behind
in run_linters().
Signed-off-by: John Snow
---
tests/qemu-iotests/297 | 23 ++-
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/tests/qemu-iotests/297 b/tests/qemu-iotests/297
index
doesn't
have an execution shebang.)
Signed-off-by: John Snow
---
(1) I think that the test file discovery logic and skip list belong together,
and that those items belong in iotests/. I think they also belong in
whichever directory pylintrc and mypy.ini are in, also in iotests
ssitates any special running logic anymore is
the skip list and the python-test-detection code. Without those, we
could easily codify the tests as simply:
[pylint|mypy] *.py tests/*.py
... and drop this entire file. We're not quite there yet, though.
Signed-off-by: John Snow
---
tests/qem
ty issues that 0.920 may bring with it.)
See also:
https://github.com/python/mypy/issues/11010
https://github.com/python/mypy/issues/9852
Signed-off-by: John Snow
---
tests/qemu-iotests/linters.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/linters.py
Instead of running "run_linters" directly, create a main() function that
will be responsible for environment setup, leaving run_linters()
responsible only for execution of the linters.
(That environment setup will be moved over in forthcoming commits.)
Signed-off-by: John Snow
R
Signed-off-by: John Snow
---
Note, this patch really ought to be squashed with the next one, but I am
performing a move known as "Hedging my bets."
It's easier to squash than de-squash :)
Signed-off-by: John Snow
---
tests/qemu-iotests/297 | 19 ---
1 f
ylint configurations both would be ... a hassle.
Signed-off-by: John Snow
---
tests/qemu-iotests/297| 72 +++---
tests/qemu-iotests/linters.py | 83 +++
2 files changed, 88 insertions(+), 67 deletions(-)
create mode 100644 tests/qemu-io
Move --score=n and --notes=XXX,FIXME into pylintrc. This pulls
configuration out of code, which I think is probably a good thing in
general.
Signed-off-by: John Snow
---
tests/qemu-iotests/297 | 4 +---
tests/qemu-iotests/pylintrc | 16
2 files changed, 17 insertions
itz/block, which fixed some linting issues.
- Added a workaround for a rather nasty mypy bug ... >:(
V2:
- Added patches 1-5 which do some more delinting.
- Added patch 8, which scans subdirs for tests to lint.
- Added patch 17, which improves the speed of mypy analysis.
- Patch 14 is
efore the test begins -- this
check is now "overly strict", but shouldn't cause anything that was
already running correctly to start failing.
Signed-off-by: John Snow
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Hanna Reitz
---
te
Split out file discovery into its own method to begin separating out
configuration/setup and test execution.
Signed-off-by: John Snow
---
tests/qemu-iotests/297 | 9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/tests/qemu-iotests/297 b/tests/qemu-iotests/297
index
More separation of code and configuration.
Signed-off-by: John Snow
---
tests/qemu-iotests/297 | 14 +-
tests/qemu-iotests/mypy.ini | 12
2 files changed, 13 insertions(+), 13 deletions(-)
create mode 100644 tests/qemu-iotests/mypy.ini
diff --git a/tests/qemu
On Mon, Oct 4, 2021 at 3:45 AM Hanna Reitz wrote:
> On 22.09.21 22:18, John Snow wrote:
> >
> >
> > On Fri, Sep 17, 2021 at 7:00 AM Hanna Reitz > <mailto:hre...@redhat.com>> wrote:
>
> [...]
>
> >
> > As you say, run_linters() to me
On Mon, Oct 4, 2021 at 4:17 AM Hanna Reitz wrote:
> On 22.09.21 21:53, John Snow wrote:
> > (This email just explains python packaging stuff. No action items in
> > here. Skim away.)
> >
> > On Fri, Sep 17, 2021 at 5:43 AM Hanna Reitz > <mailto:hre...@redhat.com
On Mon, Oct 4, 2021 at 6:12 AM Hanna Reitz wrote:
> On 18.09.21 04:14, John Snow wrote:
> >
> >
> > On Fri, Sep 17, 2021 at 8:58 PM John Snow > <mailto:js...@redhat.com>> wrote:
> >
> >
> >
> > On Fri, Sep 17, 2021 at 10:3
On Fri, Oct 1, 2021 at 4:21 AM Kevin Wolf wrote:
> Am 30.09.2021 um 23:28 hat John Snow geschrieben:
> > Hiya, I was talking this over with Hanna in review to '[PATCH v3 00/16]
> > python/iotests: Run iotest linters during Python CI' [1] and I have some
> > doubt a
Hiya, I was talking this over with Hanna in review to '[PATCH v3 00/16]
python/iotests: Run iotest linters during Python CI' [1] and I have some
doubt about what you'd personally like to see happen, here.
In a nutshell, I split out 'linters.py' from 297 and keep all of the
iotest-bits in 297 and a
On Wed, Sep 29, 2021 at 9:34 AM Vladimir Sementsov-Ogievskiy <
vsement...@virtuozzo.com> wrote:
> Hi all!
>
> Recently we faced the following task:
>
> Customer comes and say: incremental backup images are too fat. Does you
> incremental backup works correct?
>
> What to answer? We should check so
On Thu, Sep 23, 2021 at 2:07 PM John Snow wrote:
> GitLab: https://gitlab.com/jsnow/qemu/-/commits/python-package-iotest-pt1
> CI: https://gitlab.com/jsnow/qemu/-/pipelines/376236687
>
> This series partially supersedes:
> [PATCH v3 00/16] python/iotests: Run iotest linters d
On Thu, Sep 23, 2021 at 4:27 PM Vladimir Sementsov-Ogievskiy <
vsement...@virtuozzo.com> wrote:
> 23.09.2021 21:44, John Snow wrote:
> >
> >
> > On Thu, Sep 23, 2021 at 2:32 PM Vladimir Sementsov-Ogievskiy <
> vsement...@virtuozzo.com <mai
On Thu, Sep 23, 2021 at 2:32 PM Vladimir Sementsov-Ogievskiy <
vsement...@virtuozzo.com> wrote:
> 23.09.2021 21:07, John Snow wrote:
> > Add a warning for when 'iotests' runs against a qemu namespace that
> > isn't the one in the source tree. This might
Mostly uninteresting stuff. Move the test injections under a function
named main() so that the variables used during that process aren't in
the global scope.
Signed-off-by: John Snow
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Hanna Reitz
Reviewed-by: Vladimir Sementsov-Ogie
).
Signed-off-by: John Snow
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Kevin Wolf
---
tests/qemu-iotests/pylintrc | 6 +-
tests/qemu-iotests/testrunner.py | 7 ---
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/tests/qemu-iotests/pylintrc b/tests/qe
We need to import subpackages from the qemu namespace package; importing
the namespace package alone doesn't bring the subpackages with it --
unless someone else (like iotests.py) imports them too.
Adjust the imports.
Signed-off-by: John Snow
Reviewed-by: Philippe Mathieu-Daudé
Review
;help me find my python packages" goop is all in one place, right in one
function.
Signed-off-by: John Snow
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Kevin Wolf
---
tests/qemu-iotests/235| 2 --
tests/qemu-i
We can circumvent the '__main__' redefinition problem by passing
--scripts-are-modules. Take mypy out of the loop per-filename and check
everything in one go: it's quite a bit faster.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
Reviewed-by: Philippe Mathieu-Daudé
Review
o 001, kept R-Bs.
- Fixed the package detection logic to not panic if it can't find
'qemu' at all (kwolf)
- Updated commit messages for the first two patches.
--js
John Snow (6):
iotests: add 'qemu' package location to PYTHONPATH in testenv
iotests: add warning for r
/src/qemu/python and executed
`pip install .`, you will see output like this when running `./check`:
WARNING: 'qemu' python packages will be imported from outside the source tree
('/home/jsnow/src/qemu/python')
Importing instead from
'/home/jsnow/.local/lib/python3.9/
On Thu, Sep 23, 2021 at 11:20 AM Vladimir Sementsov-Ogievskiy <
vsement...@virtuozzo.com> wrote:
> 23.09.2021 03:16, John Snow wrote:
> > We can drop the sys.path hacking in various places by doing
> > this. Additionally, by doing it in one place right up top, we can
On Thu, Sep 23, 2021 at 7:09 AM Daniel P. Berrangé
wrote:
> On Wed, Sep 22, 2021 at 08:16:21PM -0400, John Snow wrote:
> > Add a warning for when 'iotests' runs against a qemu namespace that
> > isn't the one in the source tree. This might occur if you have
&g
On Thu, Sep 23, 2021 at 7:17 AM Kevin Wolf wrote:
> Am 23.09.2021 um 12:57 hat Kevin Wolf geschrieben:
> > Am 23.09.2021 um 02:16 hat John Snow geschrieben:
> > > Add a warning for when 'iotests' runs against a qemu namespace that
> > > isn't the one i
last 'quit' command. That error will ultimately be bubbled
up when attempting to close the QMP connection. The manager class here
then is free to discard it -- if it was expected.
Signed-off-by: John Snow
---
Yes, I regret that this class has become quite a dumping ground for
complexity
(directly) to shut down.
Signed-off-by: John Snow
---
python/qemu/machine/machine.py | 34 +++---
tests/qemu-iotests/040 | 7 +--
tests/qemu-iotests/218 | 2 +-
tests/qemu-iotests/255 | 2 +-
4 files changed, 22 insertions(+), 23 deleti
This is a wrapper around the async QMPClient that mimics the old,
synchronous QEMUMonitorProtocol class. It is designed to be
interchangeable with the old implementation.
It does not, however, attempt to mimic Exception compatibility.
Signed-off-by: John Snow
Acked-by: Hanna Reitz
---
python
ivate implementation
details. /that/ is helpful in turn because it allows me to write a
compatible, alternative implementation.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
---
python/qemu/machine/machine.py | 44 +++---
python/qemu/qmp/__init__.py| 21 +++---
can't amend the iotest output to just always expect the
error message, either. Just suppress it for now. More rigorous log
filtering can be investigated later if/when it is deemed safe to
permanently replace the legacy QMP library.)
Signed-off-by: John Snow
---
tests/qemu-iotests/iotes
Making the retrieval also clear the queue is vastly simpler.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
---
python/qemu/machine/machine.py | 1 -
python/qemu/qmp/__init__.py| 6 --
python/qemu/qmp/qmp_shell.py | 1 -
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/p
that will suppress these messages until a client
application opts into logging via logging.basicConfig or similar. Note
that upon calling basicConfig(), this handler will *not* suppress these
messages from being displayed by the client's configuration.
Signed-off-by: John Snow
---
python/qem
The scary message interferes with the iotests output. Coincidentally, if
iotests works by removing this, then it's good evidence that we don't
really need to scare people away from using it.
Signed-off-by: John Snow
---
python/qemu/aqmp/__init__.py | 12
1 file c
its derivatives. That'd be these:
- QMPError
- QMPConnectError
- QMPCapabilitiesError
- QMPTimeoutError
- QMPProtocolError
- QMPResponseError
- QMPBadPortError
Signed-off-by: John Snow
---
scripts/simplebench/bench_block_job.py| 3 ++-
tests/qemu-iotests/tests/mirror-top-perms | 3 ++-
work
concurrently.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
Tested-by: Hanna Reitz
---
python/qemu/machine/machine.py | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/python/qemu/machine/machine.py b/python/qemu/machine/machine.py
index c33a78a2d9f..32879faeb40
It's not used anymore, now.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
---
tests/qemu-iotests/socket_scm_helper.c | 136 -
python/qemu/machine/machine.py | 3 -
python/qemu/machine/qtest.py | 2 -
tests/Makefile.include
h.
Just boldly void the warranty instead, while I try to follow up on
https://bugs.python.org/issue43232
Signed-off-by: John Snow
---
python/qemu/aqmp/qmp_client.py | 22 ++
1 file changed, 22 insertions(+)
diff --git a/python/qemu/aqmp/qmp_client.py b/python/qemu/aqmp/qmp_
Expose the greeting as a read-only property of QMPClient so it can be
retrieved at-will.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
---
python/qemu/aqmp/qmp_client.py | 5 +
1 file changed, 5 insertions(+)
diff --git a/python/qemu/aqmp/qmp_client.py b/python/qemu/aqmp/qmp_client.py
Synchronous clients may want to know if they're about to block waiting
for an event or not. A method such as this is necessary to implement a
compatible interface for the old QEMUMonitorProtocol using the new async
internals.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
---
python
o occur during the normal
operation of the library.
Signed-off-by: John Snow
---
python/qemu/aqmp/protocol.py | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/python/qemu/aqmp/protocol.py b/python/qemu/aqmp/protocol.py
index 32e78749c11..ae1df240260 100644
--- a/python
The iotests interface expects to return the greeting as a dict; AQMP
offers it as a rich object.
Signed-off-by: John Snow
---
python/qemu/aqmp/models.py | 13 +
1 file changed, 13 insertions(+)
diff --git a/python/qemu/aqmp/models.py b/python/qemu/aqmp/models.py
index 24c94123ac0
This serves two purposes:
(1) It is now possible to discern whether or not clear() removed any
event(s) from the queue with absolute certainty, and
(2) It is now very easy to get a List of all pending events in one
chunk, which is useful for the sync bridge.
Signed-off-by: John Snow
Reviewed
ing.
- Adjust docstring in patch 08 (Hanna)
- Rename "_has_quit" attribute to "_quid_issued" (Hanna)
- Renamed patch 12, simplified the logic in _soft_shutdown a tiny bit.
- Fixed bad exception handling logic in 13 (Hanna)
- Introduce a helper in patch 14 to silence log
but. You can fill in the blanks.)
Signed-off-by: John Snow
---
tests/qemu-iotests/testenv.py | 21 -
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/testenv.py b/tests/qemu-iotests/testenv.py
index 88104dace90..8a43b193af5 100644
--- a/tests/qem
Mostly uninteresting stuff. Move the test injections under a function
named main() so that the variables used during that process aren't in
the global scope.
Signed-off-by: John Snow
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Hanna Reitz
---
tests/qemu-iotests/tests/migrate-bitmaps
We need to import things from the qemu namespace; importing the
namespace alone doesn't bring the submodules with it -- unless someone
else (like iotests.py) imports them too.
Adjust the imports.
Signed-off-by: John Snow
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Hanna Reitz
---
).
Signed-off-by: John Snow
---
tests/qemu-iotests/pylintrc | 6 +-
tests/qemu-iotests/testrunner.py | 7 ---
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/tests/qemu-iotests/pylintrc b/tests/qemu-iotests/pylintrc
index f2c0b522ac0..8cb4e1d6a6d 100644
--- a/tests/qe
We can circumvent the '__main__' redefinition problem by passing
--scripts-are-modules. Take mypy out of the loop per-filename and check
everything in one go: it's quite a bit faster.
Signed-off-by: John Snow
Reviewed-by: Hanna Reitz
---
tests/qemu-i
ython packages" goop is all in one place, right in one
function.
Signed-off-by: John Snow
---
tests/qemu-iotests/235| 2 --
tests/qemu-iotests/297| 6 --
tests/qemu-iotests/300| 7 +++
tests/qemu-iotests/iotests.py
d later pending some discussion on the other series.
--js
John Snow (6):
iotests: add 'qemu' package location to PYTHONPATH in testenv
iotests: add warning for rogue 'qemu' packages
iotests/linters: check mypy files all at once
iotests/mirror-top-perms: Adjust import
On Fri, Sep 17, 2021 at 7:23 AM Hanna Reitz wrote:
> On 16.09.21 06:09, John Snow wrote:
> > We can circumvent the '__main__' redefinition problem by passing
> > --scripts-are-modules. Take mypy out of the loop per-filename and check
> > everything in one go: it&
On Wed, Sep 22, 2021 at 4:37 PM John Snow wrote:
>
> On Fri, Sep 17, 2021 at 7:16 AM Hanna Reitz wrote:
>
>>
>> Question is, when “can we use” mypy >= 0.920? Should we check the
>> version string and append this switch as required?
>>
>>
> The ans
On Fri, Sep 17, 2021 at 7:16 AM Hanna Reitz wrote:
> On 16.09.21 06:09, John Snow wrote:
> > This one is insidious: if you use the invocation
> > "from {namespace} import {subpackage}" as mirror-top-perms does,
> > mypy will fail on every-other invocation *if* the
1001 - 1100 of 5762 matches
Mail list logo