Message ID | 20220513000609.197906-6-jsnow@redhat.com |
---|---|
State | New |
Headers | show |
Series | tests: run python tests under the build/tests/venv environment | expand |
On 5/13/22 02:06, John Snow wrote: > This patch co-opts the virtual environment being used by avocado tests > to also run the basevm.py tests. This is being done in preparation for > for the qemu.qmp package being removed from qemu.git. > > As part of the change, remove any sys.path() hacks and treat "qemu" as a > normal third-party import. That's already a good reason to do it, independent of qemu.qmp being removed from qemu.git. Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> > Signed-off-by: John Snow <jsnow@redhat.com> > --- > tests/vm/Makefile.include | 13 +++++++------ > tests/vm/basevm.py | 6 +++--- > 2 files changed, 10 insertions(+), 9 deletions(-) > > diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include > index ae91f5043e5..588bc999cc9 100644 > --- a/tests/vm/Makefile.include > +++ b/tests/vm/Makefile.include > @@ -84,10 +84,11 @@ vm-clean-all: > > $(IMAGES_DIR)/%.img: $(SRC_PATH)/tests/vm/% \ > $(SRC_PATH)/tests/vm/basevm.py \ > - $(SRC_PATH)/tests/vm/Makefile.include > + $(SRC_PATH)/tests/vm/Makefile.include \ > + check-venv > @mkdir -p $(IMAGES_DIR) > $(call quiet-command, \ > - $(PYTHON) $< \ > + $(TESTS_PYTHON) $< \ > $(if $(V)$(DEBUG), --debug) \ > $(if $(GENISOIMAGE),--genisoimage $(GENISOIMAGE)) \ > $(if $(QEMU_LOCAL),--build-path $(BUILD_DIR)) \ > @@ -101,9 +102,9 @@ $(IMAGES_DIR)/%.img: $(SRC_PATH)/tests/vm/% \ > > > # Build in VM $(IMAGE) > -vm-build-%: $(IMAGES_DIR)/%.img > +vm-build-%: $(IMAGES_DIR)/%.img check-venv > $(call quiet-command, \ > - $(PYTHON) $(SRC_PATH)/tests/vm/$* \ > + $(TESTS_PYTHON) $(SRC_PATH)/tests/vm/$* \ > $(if $(V)$(DEBUG), --debug) \ > $(if $(DEBUG), --interactive) \ > $(if $(J),--jobs $(J)) \ > @@ -127,9 +128,9 @@ vm-boot-serial-%: $(IMAGES_DIR)/%.img > -device virtio-net-pci,netdev=vnet \ > || true > > -vm-boot-ssh-%: $(IMAGES_DIR)/%.img > +vm-boot-ssh-%: $(IMAGES_DIR)/%.img check-venv > $(call quiet-command, \ > - $(PYTHON) $(SRC_PATH)/tests/vm/$* \ > + $(TESTS_PYTHON) $(SRC_PATH)/tests/vm/$* \ > $(if $(J),--jobs $(J)) \ > $(if $(V)$(DEBUG), --debug) \ > $(if $(QEMU_LOCAL),--build-path $(BUILD_DIR)) \ > diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py > index 254e11c932b..d7d0413df35 100644 > --- a/tests/vm/basevm.py > +++ b/tests/vm/basevm.py > @@ -18,9 +18,6 @@ > import logging > import time > import datetime > -sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) > -from qemu.machine import QEMUMachine > -from qemu.utils import get_info_usernet_hostfwd_port, kvm_available > import subprocess > import hashlib > import argparse > @@ -31,6 +28,9 @@ > import traceback > import shlex > > +from qemu.machine import QEMUMachine > +from qemu.utils import get_info_usernet_hostfwd_port, kvm_available > + > SSH_KEY_FILE = os.path.join(os.path.dirname(__file__), > "..", "keys", "id_rsa") > SSH_PUB_KEY_FILE = os.path.join(os.path.dirname(__file__),
diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include index ae91f5043e5..588bc999cc9 100644 --- a/tests/vm/Makefile.include +++ b/tests/vm/Makefile.include @@ -84,10 +84,11 @@ vm-clean-all: $(IMAGES_DIR)/%.img: $(SRC_PATH)/tests/vm/% \ $(SRC_PATH)/tests/vm/basevm.py \ - $(SRC_PATH)/tests/vm/Makefile.include + $(SRC_PATH)/tests/vm/Makefile.include \ + check-venv @mkdir -p $(IMAGES_DIR) $(call quiet-command, \ - $(PYTHON) $< \ + $(TESTS_PYTHON) $< \ $(if $(V)$(DEBUG), --debug) \ $(if $(GENISOIMAGE),--genisoimage $(GENISOIMAGE)) \ $(if $(QEMU_LOCAL),--build-path $(BUILD_DIR)) \ @@ -101,9 +102,9 @@ $(IMAGES_DIR)/%.img: $(SRC_PATH)/tests/vm/% \ # Build in VM $(IMAGE) -vm-build-%: $(IMAGES_DIR)/%.img +vm-build-%: $(IMAGES_DIR)/%.img check-venv $(call quiet-command, \ - $(PYTHON) $(SRC_PATH)/tests/vm/$* \ + $(TESTS_PYTHON) $(SRC_PATH)/tests/vm/$* \ $(if $(V)$(DEBUG), --debug) \ $(if $(DEBUG), --interactive) \ $(if $(J),--jobs $(J)) \ @@ -127,9 +128,9 @@ vm-boot-serial-%: $(IMAGES_DIR)/%.img -device virtio-net-pci,netdev=vnet \ || true -vm-boot-ssh-%: $(IMAGES_DIR)/%.img +vm-boot-ssh-%: $(IMAGES_DIR)/%.img check-venv $(call quiet-command, \ - $(PYTHON) $(SRC_PATH)/tests/vm/$* \ + $(TESTS_PYTHON) $(SRC_PATH)/tests/vm/$* \ $(if $(J),--jobs $(J)) \ $(if $(V)$(DEBUG), --debug) \ $(if $(QEMU_LOCAL),--build-path $(BUILD_DIR)) \ diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index 254e11c932b..d7d0413df35 100644 --- a/tests/vm/basevm.py +++ b/tests/vm/basevm.py @@ -18,9 +18,6 @@ import logging import time import datetime -sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) -from qemu.machine import QEMUMachine -from qemu.utils import get_info_usernet_hostfwd_port, kvm_available import subprocess import hashlib import argparse @@ -31,6 +28,9 @@ import traceback import shlex +from qemu.machine import QEMUMachine +from qemu.utils import get_info_usernet_hostfwd_port, kvm_available + SSH_KEY_FILE = os.path.join(os.path.dirname(__file__), "..", "keys", "id_rsa") SSH_PUB_KEY_FILE = os.path.join(os.path.dirname(__file__),
This patch co-opts the virtual environment being used by avocado tests to also run the basevm.py tests. This is being done in preparation for for the qemu.qmp package being removed from qemu.git. As part of the change, remove any sys.path() hacks and treat "qemu" as a normal third-party import. Signed-off-by: John Snow <jsnow@redhat.com> --- tests/vm/Makefile.include | 13 +++++++------ tests/vm/basevm.py | 6 +++--- 2 files changed, 10 insertions(+), 9 deletions(-)