]> xenbits.xensource.com Git - people/aperard/qemu-dm.git/commitdiff
tests: install "qemu" namespace package into venv
authorJohn Snow <jsnow@redhat.com>
Thu, 26 May 2022 00:09:18 +0000 (20:09 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 6 Jun 2022 07:26:54 +0000 (09:26 +0200)
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
tests/avocado/avocado_qemu/__init__.py
tests/avocado/virtio_check_params.py
tests/avocado/virtio_version.py
tests/requirements.txt

index fa46c0c61b0b8beadb3c332f6118701e9d384a9d..3accb83b132f8ab21a7ae0e9e3ba14acf02d9997 100644 (file)
@@ -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 $@)
 
index 39f15c1d5185fc51ef06e3a4b8ce8f9f36207b71..b656a70c55b460ab14d51731141386bc174a4727 100644 (file)
@@ -21,6 +21,11 @@ import avocado
 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 @@ if os.path.islink(os.path.dirname(os.path.dirname(__file__))):
 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):
     """
index e869690473ade2fdb459356871b7fe6b3a59155f..4093da8a67494fcc164ac2f9472068e8fc034a25 100644 (file)
@@ -22,7 +22,6 @@ import os
 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
index 208910bb844ceec3bd2141599c96c54e90af4da9..c84e48813a19fcb9140ebc05d21bbe1b8dc0bdbe 100644 (file)
@@ -11,7 +11,6 @@ Check compatibility of virtio device types
 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
 
index a21b59b4439786086b589aa3885b5842fa9d355f..0ba561b6bdf0e5ccf4ff4d68b6dd7d57ae0714c8 100644 (file)
@@ -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