[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 23/29] tests: install "qemu" namespace package into venv
From: |
Paolo Bonzini |
Subject: |
[PULL 23/29] tests: install "qemu" namespace package into venv |
Date: |
Mon, 6 Jun 2022 16:36:38 +0200 |
From: John Snow <jsnow@redhat.com>
This patch adds the "qemu" namespace package to the $build/tests/venv
directory. It does so in "editable" mode, which means that changes to
the source python directory will actively be reflected by the venv.
This patch also then removes any sys.path hacking from the avocado test
scripts directly. By doing this, the environment of where to find these
packages is managed entirely by the virtual environment and not by the
scripts themselves.
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220526000921.1581503-7-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
tests/Makefile.include | 1 +
tests/avocado/avocado_qemu/__init__.py | 11 +++++------
tests/avocado/virtio_check_params.py | 1 -
tests/avocado/virtio_version.py | 1 -
tests/requirements.txt | 1 +
5 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/tests/Makefile.include b/tests/Makefile.include
index fa46c0c61b..3accb83b13 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -110,6 +110,7 @@ quiet-venv-pip = $(quiet-@)$(call quiet-command-run, \
$(TESTS_VENV_DIR): $(TESTS_VENV_REQ)
$(call quiet-command, $(PYTHON) -m venv $@, VENV, $@)
+ $(call quiet-venv-pip,install -e "$(SRC_PATH)/python/")
$(call quiet-venv-pip,install -r $(TESTS_VENV_REQ))
$(call quiet-command, touch $@)
diff --git a/tests/avocado/avocado_qemu/__init__.py
b/tests/avocado/avocado_qemu/__init__.py
index 39f15c1d51..b656a70c55 100644
--- a/tests/avocado/avocado_qemu/__init__.py
+++ b/tests/avocado/avocado_qemu/__init__.py
@@ -21,6 +21,11 @@
from avocado.utils import cloudinit, datadrainer, process, ssh, vmimage
from avocado.utils.path import find_command
+from qemu.machine import QEMUMachine
+from qemu.utils import (get_info_usernet_hostfwd_port, kvm_available,
+ tcg_available)
+
+
#: The QEMU build root directory. It may also be the source directory
#: if building from the source dir, but it's safer to use BUILD_DIR for
#: that purpose. Be aware that if this code is moved outside of a source
@@ -35,12 +40,6 @@
else:
SOURCE_DIR = BUILD_DIR
-sys.path.append(os.path.join(SOURCE_DIR, 'python'))
-
-from qemu.machine import QEMUMachine
-from qemu.utils import (get_info_usernet_hostfwd_port, kvm_available,
- tcg_available)
-
def has_cmd(name, args=None):
"""
diff --git a/tests/avocado/virtio_check_params.py
b/tests/avocado/virtio_check_params.py
index e869690473..4093da8a67 100644
--- a/tests/avocado/virtio_check_params.py
+++ b/tests/avocado/virtio_check_params.py
@@ -22,7 +22,6 @@
import re
import logging
-sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
from qemu.machine import QEMUMachine
from avocado_qemu import QemuSystemTest
from avocado import skip
diff --git a/tests/avocado/virtio_version.py b/tests/avocado/virtio_version.py
index 208910bb84..c84e48813a 100644
--- a/tests/avocado/virtio_version.py
+++ b/tests/avocado/virtio_version.py
@@ -11,7 +11,6 @@
import sys
import os
-sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
from qemu.machine import QEMUMachine
from avocado_qemu import QemuSystemTest
diff --git a/tests/requirements.txt b/tests/requirements.txt
index a21b59b443..0ba561b6bd 100644
--- a/tests/requirements.txt
+++ b/tests/requirements.txt
@@ -1,5 +1,6 @@
# Add Python module requirements, one per line, to be installed
# in the tests/venv Python virtual environment. For more info,
# refer to: https://pip.pypa.io/en/stable/user_guide/#id1
+# Note that qemu.git/python/ is always implicitly installed.
avocado-framework==88.1
pycdlib==1.11.0
--
2.36.1
- [PULL 09/29] replay: simplify async event processing, (continued)
- [PULL 09/29] replay: simplify async event processing, Paolo Bonzini, 2022/06/06
- [PULL 17/29] x86: cpu: fixup number of addressable IDs for logical processors sharing cache, Paolo Bonzini, 2022/06/06
- [PULL 18/29] python: update for mypy 0.950, Paolo Bonzini, 2022/06/06
- [PULL 01/29] target/i386/tcg: Fix masking of real-mode addresses with A20 bit, Paolo Bonzini, 2022/06/06
- [PULL 08/29] replay: rewrite async event handling, Paolo Bonzini, 2022/06/06
- [PULL 15/29] tests/Makefile.include: Fix 'make check-help' output, Paolo Bonzini, 2022/06/06
- [PULL 20/29] tests: use python3 as the python executable name, Paolo Bonzini, 2022/06/06
- [PULL 19/29] tests: add "TESTS_PYTHON" variable to Makefile, Paolo Bonzini, 2022/06/06
- [PULL 11/29] docs: move replay docs to docs/system/replay.rst, Paolo Bonzini, 2022/06/06
- [PULL 22/29] tests: add quiet-venv-pip macro, Paolo Bonzini, 2022/06/06
- [PULL 23/29] tests: install "qemu" namespace package into venv,
Paolo Bonzini <=
- [PULL 24/29] tests: use tests/venv to run basevm.py-based scripts, Paolo Bonzini, 2022/06/06
- [PULL 26/29] tests: run 'device-crash-test' from tests/venv, Paolo Bonzini, 2022/06/06
- [PULL 21/29] tests: silence pip upgrade warnings during venv creation, Paolo Bonzini, 2022/06/06
- [PULL 16/29] x86: cpu: make sure number of addressable IDs for processor cores meets the spec, Paolo Bonzini, 2022/06/06
- [PULL 25/29] tests: add python3-venv to debian10.docker, Paolo Bonzini, 2022/06/06
- [PULL 28/29] configure: remove reference to removed option, Paolo Bonzini, 2022/06/06
- [PULL 27/29] regenerate meson-buildoptions.sh, Paolo Bonzini, 2022/06/06
- [PULL 29/29] meson: qga: do not use deprecated meson.build_root(), Paolo Bonzini, 2022/06/06
- [PULL 12/29] tests/avocado: update replay_linux test, Paolo Bonzini, 2022/06/06
- Re: [PULL 00/29] Misc patches for 2022-06-06, Richard Henderson, 2022/06/06