tests: use tests/venv to run basevm.py-based scripts

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>
This commit is contained in:
John Snow 2022-05-25 20:09:19 -04:00 committed by Paolo Bonzini
parent 0e7647aa8a
commit f4c66f1705
2 changed files with 10 additions and 9 deletions

View File

@ -84,10 +84,11 @@ vm-clean-all:
$(IMAGES_DIR)/%.img: $(SRC_PATH)/tests/vm/% \ $(IMAGES_DIR)/%.img: $(SRC_PATH)/tests/vm/% \
$(SRC_PATH)/tests/vm/basevm.py \ $(SRC_PATH)/tests/vm/basevm.py \
$(SRC_PATH)/tests/vm/Makefile.include $(SRC_PATH)/tests/vm/Makefile.include \
check-venv
@mkdir -p $(IMAGES_DIR) @mkdir -p $(IMAGES_DIR)
$(call quiet-command, \ $(call quiet-command, \
$(PYTHON) $< \ $(TESTS_PYTHON) $< \
$(if $(V)$(DEBUG), --debug) \ $(if $(V)$(DEBUG), --debug) \
$(if $(GENISOIMAGE),--genisoimage $(GENISOIMAGE)) \ $(if $(GENISOIMAGE),--genisoimage $(GENISOIMAGE)) \
$(if $(QEMU_LOCAL),--build-path $(BUILD_DIR)) \ $(if $(QEMU_LOCAL),--build-path $(BUILD_DIR)) \
@ -101,9 +102,9 @@ $(IMAGES_DIR)/%.img: $(SRC_PATH)/tests/vm/% \
# Build in VM $(IMAGE) # Build in VM $(IMAGE)
vm-build-%: $(IMAGES_DIR)/%.img vm-build-%: $(IMAGES_DIR)/%.img check-venv
$(call quiet-command, \ $(call quiet-command, \
$(PYTHON) $(SRC_PATH)/tests/vm/$* \ $(TESTS_PYTHON) $(SRC_PATH)/tests/vm/$* \
$(if $(V)$(DEBUG), --debug) \ $(if $(V)$(DEBUG), --debug) \
$(if $(DEBUG), --interactive) \ $(if $(DEBUG), --interactive) \
$(if $(J),--jobs $(J)) \ $(if $(J),--jobs $(J)) \
@ -127,9 +128,9 @@ vm-boot-serial-%: $(IMAGES_DIR)/%.img
-device virtio-net-pci,netdev=vnet \ -device virtio-net-pci,netdev=vnet \
|| true || true
vm-boot-ssh-%: $(IMAGES_DIR)/%.img vm-boot-ssh-%: $(IMAGES_DIR)/%.img check-venv
$(call quiet-command, \ $(call quiet-command, \
$(PYTHON) $(SRC_PATH)/tests/vm/$* \ $(TESTS_PYTHON) $(SRC_PATH)/tests/vm/$* \
$(if $(J),--jobs $(J)) \ $(if $(J),--jobs $(J)) \
$(if $(V)$(DEBUG), --debug) \ $(if $(V)$(DEBUG), --debug) \
$(if $(QEMU_LOCAL),--build-path $(BUILD_DIR)) \ $(if $(QEMU_LOCAL),--build-path $(BUILD_DIR)) \

View File

@ -18,9 +18,6 @@ import socket
import logging import logging
import time import time
import datetime 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 subprocess
import hashlib import hashlib
import argparse import argparse
@ -31,6 +28,9 @@ import multiprocessing
import traceback import traceback
import shlex 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__), SSH_KEY_FILE = os.path.join(os.path.dirname(__file__),
"..", "keys", "id_rsa") "..", "keys", "id_rsa")
SSH_PUB_KEY_FILE = os.path.join(os.path.dirname(__file__), SSH_PUB_KEY_FILE = os.path.join(os.path.dirname(__file__),