qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 95a556: iotests/297: Move pylint config into


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] 95a556: iotests/297: Move pylint config into pylintrc
Date: Tue, 02 Nov 2021 02:52:56 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 95a556e7c7ddeb8e9e370dd074f48ab77915aa82
      
https://github.com/qemu/qemu/commit/95a556e7c7ddeb8e9e370dd074f48ab77915aa82
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/297
    M tests/qemu-iotests/pylintrc

  Log Message:
  -----------
  iotests/297: Move pylint config into pylintrc

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 <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-2-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 8f7960fa3120806e0933795c6f34d8b5b09c622b
      
https://github.com/qemu/qemu/commit/8f7960fa3120806e0933795c6f34d8b5b09c622b
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/297
    A tests/qemu-iotests/mypy.ini

  Log Message:
  -----------
  iotests/297: Split mypy configuration out into mypy.ini

More separation of code and configuration.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-3-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 3c1d5012e8d46cd2e4084e9f995d4444b6c09076
      
https://github.com/qemu/qemu/commit/3c1d5012e8d46cd2e4084e9f995d4444b6c09076
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/297

  Log Message:
  -----------
  iotests/297: Add get_files() function

Split out file discovery into its own method to begin separating out
configuration/setup and test execution.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-4-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 447aebda3f461de159280c4896a537395aac8e90
      
https://github.com/qemu/qemu/commit/447aebda3f461de159280c4896a537395aac8e90
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/297

  Log Message:
  -----------
  iotests/297: Create main() function

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 <jsnow@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-5-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: f1be6219c550aeba1f91ac33b8236296e5b34851
      
https://github.com/qemu/qemu/commit/f1be6219c550aeba1f91ac33b8236296e5b34851
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/297

  Log Message:
  -----------
  iotests/297: Don't rely on distro-specific linter binaries

'pylint-3' is another Fedora-ism. Use "python3 -m pylint" or "python3 -m
mypy" to access these scripts instead. This style of invocation will
prefer the "correct" tool when run in a virtual environment.

Note that we still check for "pylint-3" before the test begins -- this
check is now "overly strict", but shouldn't cause anything that was
already running correctly to start failing. This is addressed by a
commit later in this series;
  'iotests/297: update tool availability checks'.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-6-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 2d804f55b4f6b4f500ad99567c60631ac47fd860
      
https://github.com/qemu/qemu/commit/2d804f55b4f6b4f500ad99567c60631ac47fd860
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/297

  Log Message:
  -----------
  iotests/297: Split run_linters apart into run_pylint and run_mypy

Move environment setup into main(), and split the actual linter
execution into run_pylint and run_mypy, respectively.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-7-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: a4bde736295bd0951005d7292b99086825f74f8a
      
https://github.com/qemu/qemu/commit/a4bde736295bd0951005d7292b99086825f74f8a
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/297

  Log Message:
  -----------
  iotests/297: refactor run_[mypy|pylint] as generic execution shim

There's virtually nothing special here anymore; we can combine these
into a single, rather generic function.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-8-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 752f425d832d1d4e00f39e80835dd249fb44e698
      
https://github.com/qemu/qemu/commit/752f425d832d1d4e00f39e80835dd249fb44e698
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/297

  Log Message:
  -----------
  iotests/297: Change run_linter() to raise an exception on failure

Instead of using a process return code as the python function return
value (or just not returning anything at all), allow run_linter() to
raise an exception instead.

The responsibility for printing output on error shifts from the function
itself to the caller, who will know best how to present/format that
information. (Also, "suppress_output" is now a lot more accurate of a
parameter name.)

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-9-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 7a90bcc269bb6f727cfd69b50128ecf4ab92e9af
      
https://github.com/qemu/qemu/commit/7a90bcc269bb6f727cfd69b50128ecf4ab92e9af
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/297

  Log Message:
  -----------
  iotests/297: update tool availability checks

As mentioned in 'iotests/297: Don't rely on distro-specific linter
binaries', these checks are overly strict. Update them to be in-line
with how we actually invoke the linters themselves.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-10-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 85cfec53d0b43182a14f8b5c3aa685955a852f1c
      
https://github.com/qemu/qemu/commit/85cfec53d0b43182a14f8b5c3aa685955a852f1c
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/297

  Log Message:
  -----------
  iotests/297: split test into sub-cases

Take iotest 297's main() test function and split it into two sub-cases
that can be skipped individually. We can also drop custom environment
setup from the pylint test as it isn't needed.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-11-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: c293ba55c52ce07e03919e61e4a17d2cc2c944d4
      
https://github.com/qemu/qemu/commit/c293ba55c52ce07e03919e61e4a17d2cc2c944d4
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/297
    A tests/qemu-iotests/linters.py

  Log Message:
  -----------
  iotests: split linters.py out from 297

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 configuration and not code is the list of skip files,
but they're still numerous enough that repeating them for mypy and
pylint configurations both would be ... a hassle.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-12-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: a4294435309d8429e8ee89908b5d7cebf6a648df
      
https://github.com/qemu/qemu/commit/a4294435309d8429e8ee89908b5d7cebf6a648df
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/linters.py

  Log Message:
  -----------
  iotests/linters: Add entry point for linting via Python CI

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 strictly the least-rude thing to keep the
test logic here in iotests/, even if this small function isn't itself an
iotest.

Note that we don't actually even need the executable bit here, we'll be
relying on the ability to run this module as a script using Python CLI
arguments. No chance it gets misunderstood as an actual iotest that way.

(It's named, not in tests/, doesn't have the execute bit, and doesn't
have an execution shebang.)

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-13-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 558dbe9935445af6ab20e18b3664ba6c43eb2311
      
https://github.com/qemu/qemu/commit/558dbe9935445af6ab20e18b3664ba6c43eb2311
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/linters.py

  Log Message:
  -----------
  iotests/linters: Add workaround for mypy bug #9852

This one is insidious: if you write an import as "from {namespace}
import {subpackage}" as mirror-top-perms (now) does, mypy will fail on
every-other invocation *if* the package being imported is a typed,
installed, namespace-scoped package.

Upsettingly, that's exactly what 'qemu.[aqmp|qmp|machine]' et al are in
the context of Python CI tests.

Now, I could just edit mirror-top-perms to avoid this invocation, but
since I tripped on a landmine, I might as well head it off at the pass
and make sure nobody else trips on that same landmine.

It seems to have something to do with the order in which files are
checked as well, meaning the random order in which set(os.listdir())
produces the list of files to test will cause problems intermittently
and not just strictly "every other run".

This will be fixed in mypy >= 0.920, which is not released yet. The
workaround for now is to disable incremental checking, which avoids the
issue.

Note: This workaround is not applied when running iotest 297 directly,
because the bug does not surface there! Given the nature of CI jobs not
starting with any stale cache to begin with, this really only has a
half-second impact on manual runs of the Python test suite when executed
directly by a developer on their local machine. The workaround may be
removed when the Python package requirements can stipulate mypy 0.920 or
higher, which can happen as soon as it is released. (Barring any
unforseen compatibility 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 <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-14-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 461044ceb4fe58eb919dedfeb62f619f79d4d552
      
https://github.com/qemu/qemu/commit/461044ceb4fe58eb919dedfeb62f619f79d4d552
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    A python/tests/iotests-mypy.sh
    A python/tests/iotests-pylint.sh

  Log Message:
  -----------
  python: Add iotest linters to test suite

Run mypy and pylint on the iotests files directly from the Python CI
test infrastructure. This ensures that any accidental breakages to the
qemu.[qmp|aqmp|machine|utils] packages will be caught by that test
suite.

It also ensures that these linters are run with well-known versions and
test against a wide variety of python versions, which helps to find
accidental cross-version python compatibility issues.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211019144918.3159078-15-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: b9420e4f4b899c96221fa5a1f7f025214e756c50
      
https://github.com/qemu/qemu/commit/b9420e4f4b899c96221fa5a1f7f025214e756c50
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M python/qemu/machine/machine.py
    M tests/qemu-iotests/040
    M tests/qemu-iotests/218
    M tests/qemu-iotests/255

  Log Message:
  -----------
  python/machine: remove has_quit argument

If we spy on the QMP commands instead, we don't need callers to remember
to pass it. Seems like a fair trade-off.

The one slightly weird bit is overloading this instance variable for
wait(), where we use it to mean "don't issue the qmp 'quit'
command". This means that wait() will "fail" if the QEMU process does
not terminate of its own accord.

In most cases, we probably did already actually issue quit -- some
iotests do this -- but in some others, we may be waiting for QEMU to
terminate for some other reason, such as a test wherein we tell the
guest (directly) to shut down.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-id: 20211026175612.4127598-2-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 49a608b8c22db72d47e7676ff9c3b87d1d408736
      
https://github.com/qemu/qemu/commit/49a608b8c22db72d47e7676ff9c3b87d1d408736
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M python/qemu/machine/machine.py

  Log Message:
  -----------
  python/machine: Handle QMP errors on close more meticulously

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 bottom half on incoming message receipt, etc.

(AQMP's disconnect, ultimately, serves as the quiescence point where all
async contexts are gathered together, and any final errors reported at
that point.)

Because async QMP continues to check for messages asynchronously, it's
almost certainly likely that the loop will have exited due to EOF after
issuing the 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 <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-id: 20211026175612.4127598-3-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 0f71c9a93693de54ca80a47c3996d64cd65f72b7
      
https://github.com/qemu/qemu/commit/0f71c9a93693de54ca80a47c3996d64cd65f72b7
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M python/qemu/aqmp/__init__.py

  Log Message:
  -----------
  python/aqmp: Remove scary message

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 <jsnow@redhat.com>
Acked-by: Hanna Reitz <hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211026175612.4127598-4-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 3bd559467d979165065f8406d2016aaa31f2cee2
      
https://github.com/qemu/qemu/commit/3bd559467d979165065f8406d2016aaa31f2cee2
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M scripts/simplebench/bench_block_job.py
    M tests/qemu-iotests/tests/mirror-top-perms

  Log Message:
  -----------
  iotests: Accommodate async QMP Exception classes

(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. If you'd like to check for
yourself, you want to grep for all of the derivatives of QMPError,
excluding 'AQMPError' and its derivatives. That'd be these:

- QMPError
- QMPConnectError
- QMPCapabilitiesError
- QMPTimeoutError
- QMPProtocolError
- QMPResponseError
- QMPBadPortError

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-id: 20211026175612.4127598-5-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 206dc475484c198d2bbfaf2aacb7bc370a734277
      
https://github.com/qemu/qemu/commit/206dc475484c198d2bbfaf2aacb7bc370a734277
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/iotests.py
    M tests/qemu-iotests/tests/mirror-top-perms

  Log Message:
  -----------
  iotests: Conditionally silence certain AQMP errors

AQMP likes to be very chatty about errors it encounters. In general,
this is good because it allows us to get good diagnostic information for
otherwise complex async failures.

For example, during a failed QMP connection attempt, we might see:

+ERROR:qemu.aqmp.qmp_client.qemub-2536319:Negotiation failed: EOFError
+ERROR:qemu.aqmp.qmp_client.qemub-2536319:Failed to establish session: EOFError

This might be nice in iotests output, because failure scenarios
involving the new QMP library will be spelled out plainly in the output
diffs.

For tests that are intentionally causing this scenario though, filtering
that log output could be a hassle. For now, add a context manager that
simply lets us toggle this output off during a critical region.

(Additionally, a forthcoming patch allows the use of either legacy or
async QMP to be toggled with an environment variable. In this
circumstance, we 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 <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-id: 20211026175612.4127598-6-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 8f05aee5333a78e2244008021f72e7b21fdc147f
      
https://github.com/qemu/qemu/commit/8f05aee5333a78e2244008021f72e7b21fdc147f
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M tests/qemu-iotests/300

  Log Message:
  -----------
  iotests/300: avoid abnormal shutdown race condition

Wait for the destination VM to close itself instead of racing to shut it
down first, which produces different error log messages from AQMP
depending on precisely when we tried to shut it down.

(For example: We may try to issue 'quit' immediately prior to the target
VM closing its 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 <hreitz@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211026175612.4127598-7-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: f122be6093f5fc61fe5784e342781fab07f5defc
      
https://github.com/qemu/qemu/commit/f122be6093f5fc61fe5784e342781fab07f5defc
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    A python/qemu/aqmp/legacy.py

  Log Message:
  -----------
  python/aqmp: Create sync QMP wrapper for iotests

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 <jsnow@redhat.com>
Acked-by: Hanna Reitz <hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211026175612.4127598-8-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 76cd358671e6b8e7c435ec65b1c44200254514a9
      
https://github.com/qemu/qemu/commit/76cd358671e6b8e7c435ec65b1c44200254514a9
  Author: John Snow <jsnow@redhat.com>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M python/qemu/machine/machine.py

  Log Message:
  -----------
  python, iotests: replace qmp with aqmp

Swap out the synchronous QEMUMonitorProtocol from qemu.qmp with the sync
wrapper from qemu.aqmp instead.

Add an escape hatch in the form of the environment variable
QEMU_PYTHON_LEGACY_QMP which allows you to cajole QEMUMachine into using
the old implementation, proving that both implementations work
concurrently.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-id: 20211026175612.4127598-9-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>


  Commit: 4b0bf11c5a4fc6f2dd8cff650dfd4a2c52026396
      
https://github.com/qemu/qemu/commit/4b0bf11c5a4fc6f2dd8cff650dfd4a2c52026396
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-11-01 (Mon, 01 Nov 2021)

  Changed paths:
    M python/qemu/aqmp/__init__.py
    A python/qemu/aqmp/legacy.py
    M python/qemu/machine/machine.py
    A python/tests/iotests-mypy.sh
    A python/tests/iotests-pylint.sh
    M scripts/simplebench/bench_block_job.py
    M tests/qemu-iotests/040
    M tests/qemu-iotests/218
    M tests/qemu-iotests/255
    M tests/qemu-iotests/297
    M tests/qemu-iotests/300
    M tests/qemu-iotests/iotests.py
    A tests/qemu-iotests/linters.py
    A tests/qemu-iotests/mypy.ini
    M tests/qemu-iotests/pylintrc
    M tests/qemu-iotests/tests/mirror-top-perms

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/jsnow/tags/python-pull-request' into 
staging

Pull request

# gpg: Signature made Mon 01 Nov 2021 01:29:49 PM EDT
# gpg:                using RSA key F9B7ABDBBCACDF95BE76CBD07DEF8106AAFC390E
# gpg: Good signature from "John Snow (John Huston) <jsnow@redhat.com>" [full]

* remotes/jsnow/tags/python-pull-request: (22 commits)
  python, iotests: replace qmp with aqmp
  python/aqmp: Create sync QMP wrapper for iotests
  iotests/300: avoid abnormal shutdown race condition
  iotests: Conditionally silence certain AQMP errors
  iotests: Accommodate async QMP Exception classes
  python/aqmp: Remove scary message
  python/machine: Handle QMP errors on close more meticulously
  python/machine: remove has_quit argument
  python: Add iotest linters to test suite
  iotests/linters: Add workaround for mypy bug #9852
  iotests/linters: Add entry point for linting via Python CI
  iotests: split linters.py out from 297
  iotests/297: split test into sub-cases
  iotests/297: update tool availability checks
  iotests/297: Change run_linter() to raise an exception on failure
  iotests/297: refactor run_[mypy|pylint] as generic execution shim
  iotests/297: Split run_linters apart into run_pylint and run_mypy
  iotests/297: Don't rely on distro-specific linter binaries
  iotests/297: Create main() function
  iotests/297: Add get_files() function
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/af531756d255...4b0bf11c5a4f



reply via email to

[Prev in Thread] Current Thread [Next in Thread]