tests: use tests/venv to run basevm.py-based scripts
authorJohn Snow <jsnow@redhat.com>
Thu, 26 May 2022 00:09:19 +0000 (20:09 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 6 Jun 2022 07:26:54 +0000 (09:26 +0200)
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>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220526000921.1581503-8-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tests/vm/Makefile.include
tests/vm/basevm.py

index ae91f5043e506d2a3e46edfe827c794be656c325..588bc999cc9e2acbc9dc836cca5a8483e0e6c188 100644 (file)
@@ -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)) \
index 254e11c932bff64719c8a4c9a505123ec2a607da..d7d0413df3526b3aa73238fb695e10b03c8f469b 100644 (file)
@@ -18,9 +18,6 @@ import socket
 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 multiprocessing
 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__),