Loading
Commits on Source 38
-
The argument is unused, let's drop it for now, as we are going to refactor the interface and don't want to refactor unused things. Signed-off-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Reviewed-by:
Eric Blake <eblake@redhat.com> Message-id: 20231006154125.1068348-2-vsementsov@yandex-team.ru Signed-off-by:
John Snow <jsnow@redhat.com> [Backported from qemu.git --js] Signed-off-by:
John Snow <jsnow@redhat.com>
-
We just want to ignore failure, so we don't need low level .cmd(). This helps further renaming .command() to .cmd(). Signed-off-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Reviewed-by:
Eric Blake <eblake@redhat.com> Message-id: 20231006154125.1068348-3-vsementsov@yandex-team.ru Signed-off-by:
John Snow <jsnow@redhat.com> [Backported from qemu.git. --js] Signed-off-by:
John Snow <jsnow@redhat.com>
-
Having cmd() and command() methods in one class doesn't look good. Rename cmd() to cmd_raw(), to show its meaning better. We also want to rename command() to cmd() in future, so this commit is a necessary step. Signed-off-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Reviewed-by:
Eric Blake <eblake@redhat.com> Message-id: 20231006154125.1068348-5-vsementsov@yandex-team.ru Signed-off-by:
John Snow <jsnow@redhat.com> [Backported from qemu.git --js] Signed-off-by:
John Snow <jsnow@redhat.com>
-
Use a shorter name. We are going to move in iotests from qmp() to command() where possible. But command() is longer than qmp() and don't look better. Let's rename. You can simply grep for '\.command(' and for 'def command(' to check that everything is updated (command() in tests/docker/docker.py is unrelated). Signed-off-by:Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Reviewed-by:
Daniel P. Berrangé <berrange@redhat.com> Reviewed-by:
Eric Blake <eblake@redhat.com> Reviewed-by:
Cédric Le Goater <clg@kaod.org> Reviewed-by:
Juan Quintela <quintela@redhat.com> Message-id: 20231006154125.1068348-6-vsementsov@yandex-team.ru [vsementsov: also update three occurrences in tests/avocado/machine_aspeed.py and keep r-b] Signed-off-by:
John Snow <jsnow@redhat.com> [Backported from qemu.git. --js] Signed-off-by:
John Snow <jsnow@redhat.com>
-
John Snow authored
This is just to help readthedocs with being able to source the requirements from somewhere. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
We apparently need a config file now, and I missed the memo! Add a pretty boring default configuration. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
We've renamed the methods in legacy.py, but missed the docstring reference. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
Rotting docs are worse than no docs; let's make sure we catch these in the future. Note: I am not enabling "nit-picky" mode for all references, because due to a bug in sphinx [1], some of sphinx's own generated scaffolding induces reference errors when using type hints. [1] https://github.com/sphinx-doc/sphinx/issues/10974 Signed-off-by:
John Snow <jsnow@redhat.com>
-
John Snow authored
This patch fixes the GitLab build and publish pipeline for docs. We may or may not have LegacyVersion depending on the version of setuptools; It was removed on Jan 15, 2023. See: https://github.com/pypa/setuptools/issues/2497#event-8230963928 Start supporting it conditionally; newer versions simply raise an Exception if the version does not adhere to PEP 440. Signed-off-by:
John Snow <jsnow@redhat.com>
-
John Snow authored
Add 3.8 through 3.12 inclusive. 3.7 has already been dropped from rawhide, but we can still test against it in F39 for now. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
Python 3.13 is still in alpha, but is available for testing via the Fedora repository. Add support and tests for Python 3.13 to catch any issues that might arise prior to its release. Currently, all of the tests are passing. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
This method was deprecated in 3.12 because it ordinarily should not be used from coroutines; if there is not a currently running event loop, this automatically creates a new event loop - which is usually not what you want from code that would ever run in the bottom half. In our case, we do want this behavior in two places: (1) The synchronous shim, for convenience: this allows fully sync programs to use QEMUMonitorProtocol() without needing to set up an event loop beforehand. This is intentional to fully box in the async complexities into the legacy sync shim. (2) The qmp_tui shell; instead of relying on asyncio.run to create and run an asyncio program, we need to be able to pass the current asyncio loop to urwid setup functions. For convenience, again, we create one if one is not present to simplify the creation of the TUI appliance. The remaining user of get_event_loop() was in fact one of the erroneous users that should not have been using this function: if there's no running event loop inside of a coroutine, you're in big trouble :) Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
Fedora has dropped Python 3.7. Instead of dropping support for 3.7 fully, I'm removing only pipeline testing support. After v0.0.4 is released, I will fully drop 3.7 - just to give one last release that supports 3.7 through 3.13 inclusive. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
setuptools has changed the way it handles vendoring its dependencies; which is fine, I probably shouldn't be relying on them anyway. Change our use of setuptools.extern.packaging to just using the packaging dependency directly. NB: packaging >= 22.0 are the versions without "LegacyVersion"; I expect that versions both before and after the drop are still in common use. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
We still support a wide array of pylint versions for testing for developer convenience; this might change in the future as it's a real hassle. For now, add another band-aid for a new warning type that got added more recently. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
Removed at some point or another, and currently causing build issues. Just drop it and get the build working before worrying about beautification. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
Firstly, Fedora no longer packages Python 3.8 because it is EOL, so we need to drop those packages for the containers to build again. Secondly, this is just going to keep happening; so remove *all* specific versions from these container files. python3-tox (with weak dependencies allowed again) will pull in all of the versions that Fedora currently supports, so we'll still test a good spread of versions under the usually-more-modern Fedora ecosystem. Lastly: This does mean that nothing currently *ensures* we are testing specific versions of Python, which will be addressed in the next few patches. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
Add containers based on the official Python docker images, and update all of the tests to use these new containers. Update the "minreqs" test as well to use the python38 container. Originally, I had wanted to run all of the tests in a single container believing it to be "easier" and "less maintenance", but once again danpb was right and I should've listened to him :) Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
If we use this container for unit tests only, there's fewer things we actually need in it. Additionally, prefer the distro's package repository instead of using pip where possible: this distro will still move fast and we will still test bleeding edge packages, but this should give us a *slightly* less volatile testing environment. Also, remove the comments I had in here from before. It was cute when I had one or two files, but now we've got a dozen. And the choice explaining the Fedora rationale isn't really true anymore! Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
Now that the version-specific tests are using Debian-based containers, we aren't actually testing Fedora anymore outside of rawhide. Restore that testing by creating a new multi-version tox test that just tests whatever versions are available when python3-tox was installed. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
Add a smaller build/docs container that contains just enough juice for packaging and docs, finally fully replacing the old "python" container that tried to do everything. It's likely the case I should not be using "fedora:latest" as the basis for this container, but if I'm being honest, I don't trust myself to remember to go update the container file every six months to a year either. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
Until such time as GitLab supports PKG-INFO Metadata version format 2.4, we cannot use the latest and greatest setuptools to build the distfiles for this package. Version 76 appears to be the last time metadata v2.3 was used, so restrict ourselves to that for now and revisit this at a future date when GitLab supports the latest version. Bug: gitlab-org/gitlab#539290 Signed-off-by:
John Snow <jsnow@redhat.com>
-
Adam Dorsey authored
Expose the limit parameter of the underlying StreamReader and StreamWriter instances. This is helpful for the use case of transferring files in and out of a VM via the QEMU guest agent's guest-file-open, guest-file-read, guest-file-write, and guest-file-close methods, as it allows pushing the buffer size up to the guest agent's limit of 48MB per transfer. Signed-off-by:Adam Dorsey <adam@dorseys.email>
-
John Snow authored
Missed a few nits in 9ba6a698; fix spacing, long lines and documentation references. (Note that QMP commands cannot be directly linked to from this repository via cross-reference syntax. String literals will suffice.) Signed-off-by:
John Snow <jsnow@redhat.com>
-
John Snow authored
Newer versions of setuptools_scm will not override a pre-existing version, even if it's 0.0.0. Remove it entirely. This patch fixes the package build job in the pipeline, which was no longer generating unique versions. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
We no longer have qmp-intro.txt nor qmp-spec.txt in the main QEMU repository, update these hyperlinks. Note that intersphinx links cannot be used in README.rst as this file is processed both inside and outside of a sphinx context; namely as the pypi long-description field, so we must use explicit hyperlinks there. Everywhere else, we can use intersphinx to help prevent bitrot. Note that I was not able to figure out how to use intersphinx to link to specific sections without explicitly re-exporting them in qemu.git, so those references link to the main document now instead. Reviewer's note: To investigate which cross-references QEMU actually exports that can be referenced from foreign documents, try running: `python3 -m sphinx.ext.intersphinx https://www.qemu.org/docs/master/objects.inv` Signed-off-by:
John Snow <jsnow@redhat.com>
-
John Snow authored
A prior commit, aa1ff990, switched away from using get_event_loop *by default*, but this is not good enough to avoid deprecation warnings as `asyncio.get_event_loop_policy().get_event_loop()` is *also* deprecated. Replace this mechanism with explicit calls to asyncio.get_new_loop() and revise the cleanup mechanisms in __del__ to match. Reported-by:
Richard W.M. Jones <rjones@redhat.com> Reported-by:
Daniel P. Berrangé <berrange@redhat.com> Signed-off-by:
John Snow <jsnow@redhat.com>
-
John Snow authored
"Too hasty by far!", commit 21ce2ee4 attempted to avoid deprecated behavior altogether by calling new_event_loop() directly if there was no loop currently running, but this has the unfortunate side effect of potentially creating multiple event loops per thread if tests instantiate multiple QMP connections in a single thread. This behavior is apparently not well-defined and causes problems in some, but not all, combinations of Python interpreter version and platform environment. Partially revert to Daniel Berrange's original patch, which calls get_event_loop and simply suppresses the deprecation warning in Python<=3.13. This time, however, additionally register new loops created with new_event_loop() so that future calls to get_event_loop() will return the loop already created. Signed-off-by:
John Snow <jsnow@redhat.com>
-
John Snow authored
It's been EOL upstream for quite a while now, and is a bit harder to test. So, drop it. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
Previously, we used to allow setup.py to run a clean step which handled this; since the switch to pyproject.toml, we no longer do. Correct that. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
Avocado support often lags behind upstream, and QEMU has dropped avocado as well. Switch to pytest for running unit tests instead, to help support Python 3.14. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
Note that this does not yet add a dedicated Python 3.14 test container, as Python 3.14 isn't out yet. Python 3.14 will be tested only under Fedora where available until it is released. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
This release primarily adds support for Python 3.14, drops support for Python 3.7, and replaces the avocado testing framework with pytest. There are some backwards incompatible changes in the synchronous legacy API. Signed-off-by:John Snow <jsnow@redhat.com>
-
John Snow authored
In commit 8bb4213a, setuptools was pinned to a version prior to v77 for compatibility with GitLab's package index. Fedora, however, requires a setuptools newer than this. Evidently, the bug reported in gitlab-org/gitlab#539290 has been fixed, even though the bug wasn't closed. Remove the pin, as it is no longer needed. Signed-off-by:
John Snow <jsnow@redhat.com>
-
John Snow authored
pytest will automatically pick up tests with the test_ prefix, which is helpful for the Fedora build machinery where we'd like to run the protocol tests, but not the linter tests. Signed-off-by:John Snow <jsnow@redhat.com>
-
This allows creating builds from `git archive` or auto-generated Gitlab archives. See https://setuptools-scm.readthedocs.io/en/latest/usage/#git-archives . Signed-off-by:
Maxwell G <maxwell@gtmx.me>
-
John Snow authored
This is a small point release to fix packaging issues against Fedora Rawhide. There are no code changes from v0.0.4. Signed-off-by:John Snow <jsnow@redhat.com>