"make check" without a previous "make" will not build the tools
needed by qemu-iotests. This happens because "make check-block"
does not do the Makefile magic that causes ninja to build the
test dependencies.
This could be fixed by making qemu-iotests a Meson test, which is
coming indeed; but in the meanwhile copy the mechanism used by
Makefile.mtest, just adapted to check-block's dependencies.
Paolo
Paolo Bonzini (2):
tests: add missing dependency for check-block
build: fix "make check" without earlier "make"
tests/Makefile.include | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
--
2.31.1
From 8e37969c681d61d4581e5985eb9c76e509e79089 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Wed, 6 Oct 2021 04:33:15 -0400
Subject: [PATCH 1/2] tests: add missing dependency for check-block
qemu-iotests run qemu-storage-daemon, make sure it is up to date.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
tests/Makefile.include | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 7426522bbe..b42fd06462 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -152,6 +152,7 @@ QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = tests/qemu-iotests/socket_scm_helper$(EXE
check: check-block
export PYTHON
check-block: $(SRC_PATH)/tests/check-block.sh qemu-img$(EXESUF) \
+ storage-daemon/qemu-storage-daemon$(EXESUF) \
qemu-io$(EXESUF) qemu-nbd$(EXESUF) $(QEMU_IOTESTS_HELPERS-y) \
$(filter qemu-system-%, $(ninja-targets))
@$<
--
2.31.1
From a54fdbd52f33ad82ea96bbe8be8c5ec0c3e415b2 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Wed, 6 Oct 2021 04:18:27 -0400
Subject: [PATCH 2/2] build: fix "make check" without earlier "make"
"make check", if not preceded by "make", will not build the tools
needed by qemu-iotests. This happens because qemu-iotests, aka
"make check-block", is not yet part of meson.build.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
tests/Makefile.include | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/tests/Makefile.include b/tests/Makefile.include
index b42fd06462..38af790e5c 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -151,14 +151,22 @@ ifeq ($(CONFIG_TOOLS)$(CONFIG_POSIX),yy)
QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = tests/qemu-iotests/socket_scm_helper$(EXESUF)
check: check-block
export PYTHON
-check-block: $(SRC_PATH)/tests/check-block.sh qemu-img$(EXESUF) \
- storage-daemon/qemu-storage-daemon$(EXESUF) \
- qemu-io$(EXESUF) qemu-nbd$(EXESUF) $(QEMU_IOTESTS_HELPERS-y) \
- $(filter qemu-system-%, $(ninja-targets))
+
+ifneq ($(filter check check-block check-build, $(MAKECMDGOALS)),)
+ninja-cmd-goals += \
+ qemu-img$(EXESUF) \
+ qemu-io$(EXESUF) \
+ qemu-nbd$(EXESUF) \
+ storage-daemon/qemu-storage-daemon$(EXESUF) \
+ $(QEMU_IOTESTS_HELPERS-y) \
+ $(filter qemu-system-%, $(ninja-targets))
+endif
+
+check-block: $(SRC_PATH)/tests/check-block.sh run-ninja
@$<
endif
-check-build: $(QEMU_IOTESTS_HELPERS-y)
+check-build: run-ninja
check-clean:
rm -rf $(TESTS_VENV_DIR) $(TESTS_RESULTS_DIR)
--
2.31.1
qemu-iotests run qemu-storage-daemon, make sure it is up to date.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
tests/Makefile.include | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 7426522bbe..b42fd06462 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -152,6 +152,7 @@ QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = tests/qemu-iotests/socket_scm_helper$(EXE
check: check-block
export PYTHON
check-block: $(SRC_PATH)/tests/check-block.sh qemu-img$(EXESUF) \
+ storage-daemon/qemu-storage-daemon$(EXESUF) \
qemu-io$(EXESUF) qemu-nbd$(EXESUF) $(QEMU_IOTESTS_HELPERS-y) \
$(filter qemu-system-%, $(ninja-targets))
@$<
--
2.31.1
On 10/6/21 11:38, Paolo Bonzini wrote: > qemu-iotests run qemu-storage-daemon, make sure it is up to date. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > tests/Makefile.include | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tests/Makefile.include b/tests/Makefile.include > index 7426522bbe..b42fd06462 100644 > --- a/tests/Makefile.include > +++ b/tests/Makefile.include > @@ -152,6 +152,7 @@ QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = tests/qemu-iotests/socket_scm_helper$(EXE > check: check-block > export PYTHON > check-block: $(SRC_PATH)/tests/check-block.sh qemu-img$(EXESUF) \ > + storage-daemon/qemu-storage-daemon$(EXESUF) \ Finally, thanks. https://www.mail-archive.com/qemu-devel@nongnu.org/msg747467.html Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
"make check", if not preceded by "make", will not build the tools
needed by qemu-iotests. This happens because qemu-iotests, aka
"make check-block", is not yet part of meson.build.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
tests/Makefile.include | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/tests/Makefile.include b/tests/Makefile.include
index b42fd06462..38af790e5c 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -151,14 +151,22 @@ ifeq ($(CONFIG_TOOLS)$(CONFIG_POSIX),yy)
QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = tests/qemu-iotests/socket_scm_helper$(EXESUF)
check: check-block
export PYTHON
-check-block: $(SRC_PATH)/tests/check-block.sh qemu-img$(EXESUF) \
- storage-daemon/qemu-storage-daemon$(EXESUF) \
- qemu-io$(EXESUF) qemu-nbd$(EXESUF) $(QEMU_IOTESTS_HELPERS-y) \
- $(filter qemu-system-%, $(ninja-targets))
+
+ifneq ($(filter check check-block check-build, $(MAKECMDGOALS)),)
+ninja-cmd-goals += \
+ qemu-img$(EXESUF) \
+ qemu-io$(EXESUF) \
+ qemu-nbd$(EXESUF) \
+ storage-daemon/qemu-storage-daemon$(EXESUF) \
+ $(QEMU_IOTESTS_HELPERS-y) \
+ $(filter qemu-system-%, $(ninja-targets))
+endif
+
+check-block: $(SRC_PATH)/tests/check-block.sh run-ninja
@$<
endif
-check-build: $(QEMU_IOTESTS_HELPERS-y)
+check-build: run-ninja
check-clean:
rm -rf $(TESTS_VENV_DIR) $(TESTS_RESULTS_DIR)
--
2.31.1
© 2016 - 2024 Red Hat, Inc.