[PATCH v2 0/2] Revert recent Avocado changes

Paolo Bonzini posted 2 patches 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230605160012.339685-1-pbonzini@redhat.com
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Thomas Huth <thuth@redhat.com>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>, Ani Sinha <anisinha@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
.gitlab-ci.d/buildtest.yml                    |  6 ++--
docs/devel/acpi-bits.rst                      |  6 ++--
docs/devel/testing.rst                        | 14 ++++----
.../org.centos/stream/8/x86_64/test-avocado   |  4 +--
scripts/device-crash-test                     |  2 +-
tests/Makefile.include                        | 32 +++++++++----------
tests/requirements.txt                        |  9 ++----
tests/vm/Makefile.include                     |  2 +-
8 files changed, 35 insertions(+), 40 deletions(-)
[PATCH v2 0/2] Revert recent Avocado changes
Posted by Paolo Bonzini 11 months ago
Bumping avocado to version 101 has two issues.  First, there are problems
where Avocado is not logging of command lines or terminal output, and not
collecting Python logs outside the avocado namespace.

Second, the recent changes to Python handling mean that there is a single
virtual environment for all the build, instead of a separate one for testing.
Requiring a too-new version of avocado causes conflicts with any avocado
plugins installed on the host:

   $ make check-venv
   make[1]: Entering directory '/home/berrange/src/virt/qemu/build'
     GIT     ui/keycodemapdb tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc
     VENVPIP install -e /home/berrange/src/virt/qemu/python/
     VENVPIP install -r /home/berrange/src/virt/qemu/tests/requirements.txt
   ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
   avocado-framework-plugin-varianter-yaml-to-mux 98.0 requires avocado-framework==98.0, but you have avocado-framework 101.0 which is incompatible.
   avocado-framework-plugin-result-html 98.0 requires avocado-framework==98.0, but you have avocado-framework 101.0 which is incompatible.
   make[1]: Leaving directory '/home/berrange/src/virt/qemu/build'

To avoid this issue, tests/requirements.txt should use a ">=" constraint
and the version of Avocado should be limited to what distros provide
in the system packages.  However, this requires more work, so for now
reintroduce the avocado-specific virtual environment instead of using
pyvenv/.

Paolo

Supersedes: <20230605075823.48871-1-pbonzini@redhat.com>

Paolo Bonzini (2):
  Revert "tests/requirements.txt: bump up avocado-framework version to
    101.0"
  tests: Use separate virtual environment for avocado

 .gitlab-ci.d/buildtest.yml                    |  6 ++--
 docs/devel/acpi-bits.rst                      |  6 ++--
 docs/devel/testing.rst                        | 14 ++++----
 .../org.centos/stream/8/x86_64/test-avocado   |  4 +--
 scripts/device-crash-test                     |  2 +-
 tests/Makefile.include                        | 32 +++++++++----------
 tests/requirements.txt                        |  9 ++----
 tests/vm/Makefile.include                     |  2 +-
 8 files changed, 35 insertions(+), 40 deletions(-)

-- 
2.40.1
Re: [PATCH v2 0/2] Revert recent Avocado changes
Posted by John Snow 11 months ago
On Mon, Jun 5, 2023 at 12:00 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> Bumping avocado to version 101 has two issues.  First, there are problems
> where Avocado is not logging of command lines or terminal output, and not
> collecting Python logs outside the avocado namespace.
>
> Second, the recent changes to Python handling mean that there is a single
> virtual environment for all the build, instead of a separate one for testing.
> Requiring a too-new version of avocado causes conflicts with any avocado
> plugins installed on the host:
>
>    $ make check-venv
>    make[1]: Entering directory '/home/berrange/src/virt/qemu/build'
>      GIT     ui/keycodemapdb tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc
>      VENVPIP install -e /home/berrange/src/virt/qemu/python/
>      VENVPIP install -r /home/berrange/src/virt/qemu/tests/requirements.txt
>    ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
>    avocado-framework-plugin-varianter-yaml-to-mux 98.0 requires avocado-framework==98.0, but you have avocado-framework 101.0 which is incompatible.
>    avocado-framework-plugin-result-html 98.0 requires avocado-framework==98.0, but you have avocado-framework 101.0 which is incompatible.
>    make[1]: Leaving directory '/home/berrange/src/virt/qemu/build'
>
> To avoid this issue, tests/requirements.txt should use a ">=" constraint
> and the version of Avocado should be limited to what distros provide
> in the system packages.  However, this requires more work, so for now
> reintroduce the avocado-specific virtual environment instead of using
> pyvenv/.

That still want you want to do as of right now? (I'm catching up.)

OK if so. We don't lose too much.

>
> Paolo
>
> Supersedes: <20230605075823.48871-1-pbonzini@redhat.com>
>
> Paolo Bonzini (2):
>   Revert "tests/requirements.txt: bump up avocado-framework version to
>     101.0"
>   tests: Use separate virtual environment for avocado
>
>  .gitlab-ci.d/buildtest.yml                    |  6 ++--
>  docs/devel/acpi-bits.rst                      |  6 ++--
>  docs/devel/testing.rst                        | 14 ++++----
>  .../org.centos/stream/8/x86_64/test-avocado   |  4 +--
>  scripts/device-crash-test                     |  2 +-
>  tests/Makefile.include                        | 32 +++++++++----------
>  tests/requirements.txt                        |  9 ++----
>  tests/vm/Makefile.include                     |  2 +-
>  8 files changed, 35 insertions(+), 40 deletions(-)
>
> --
> 2.40.1
>