[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 6/9] tests: add check-venv as a dependency of check and check
From: |
John Snow |
Subject: |
[RFC PATCH 6/9] tests: add check-venv as a dependency of check and check-block |
Date: |
Thu, 12 May 2022 20:06:06 -0400 |
This patch is being front-loaded before iotests actually relies on the
tests/venv being created in order to preserve bisectability.
Problems I am aware of here (There are a lot, sorry):
- I am not sure the right place to express this dependency, so I did it
in tests/Makefile.include. It seems to work. I wasn't sure how to
express it in tests/qemu-iotests/meson.build, but I am not sure if
that would make it work for both "check" and "check-block" anyway.
- I don't really understand why I need empty rules for Make to process
the pre-requisite. Without the "do-nothing" recipes, the venv building
doesn't seem to trigger at all. What I have seems to work, but I'm
worried I broke something unseen.
- This adds avocado as a dependency of "check"/"check-block", which is
not technically true. It was just a sin of convenience to create one
shared "testing venv". Maybe I'll figure out a scheme to have avocado's
dependencies be "extras" that get added in to a standard "core set".
- This patch ignore the requisite that RPM builds be able to run without
internet access, meaning that a PyPI fetch is not permissable. I plan
to solve this by using an environment variable (QEMU_CHECK_NO_PYPI)
that changes the behavior of the venv setup slightly, and qemu
specfiles can opt-in to this behavior.
Signed-off-by: John Snow <jsnow@redhat.com>
---
tests/Makefile.include | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/tests/Makefile.include b/tests/Makefile.include
index dfb678d379f..fa7af711fe5 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -154,10 +154,17 @@ check-acceptance-deprecated-warning:
check-acceptance: check-acceptance-deprecated-warning | check-avocado
+# Before we delegate to meson, create the python venv for block tests.
+.PHONY: check-block
+check-block: check-venv
+ @echo # Without some rule, this doesn't run at all. Why?
+
+
# Consolidated targets
.PHONY: check check-clean get-vm-images
-check:
+check: check-venv
+ @echo # ???
check-build: run-ninja
--
2.34.1
[RFC PATCH 4/9] tests: silence pip upgrade warnings during venv creation, John Snow, 2022/05/12
[RFC PATCH 3/9] tests: install "qemu" namespace package into venv, John Snow, 2022/05/12