[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 11/15] Bootstrap Python venv for tests
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PULL 11/15] Bootstrap Python venv for tests |
Date: |
Tue, 6 Nov 2018 13:10:45 +0000 |
On 31 October 2018 at 00:31, Eduardo Habkost <address@hidden> wrote:
> From: Cleber Rosa <address@hidden>
>
> A number of QEMU tests are written in Python, and may benefit
> from an untainted Python venv.
>
> By using make rules, tests that depend on specific Python libs
> can set that rule as a requirement, along with rules that require
> the presence or installation of specific libraries.
>
> The tests/requirements.txt is supposed to contain the Python
> requirements that should be added to the venv created by check-venv.
>
> Signed-off-by: Cleber Rosa <address@hidden>
> Tested-by: Philippe Mathieu-Daudé <address@hidden>
> Acked-by: Stefan Hajnoczi <address@hidden>
> Acked-by: Wainer dos Santos Moschetta <address@hidden>
> Reviewed-by: Caio Carrara <address@hidden>
> Message-Id: <address@hidden>
> Signed-off-by: Eduardo Habkost <address@hidden>
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -12,6 +12,7 @@ check-help:
> @echo " $(MAKE) check-block Run block tests"
> @echo " $(MAKE) check-tcg Run TCG tests"
> @echo " $(MAKE) check-report.html Generates an HTML test report"
> + @echo " $(MAKE) check-venv Creates a Python venv for tests"
> @echo " $(MAKE) check-clean Clean the tests"
> @echo
> @echo "Please note that HTML reports do not regenerate if the unit
> tests"
> @@ -899,6 +900,30 @@ check-decodetree:
> ./check.sh "$(PYTHON)" "$(SRC_PATH)/scripts/decodetree.py", \
> TEST, decodetree.py)
>
> +# Python venv for running tests
> +
> +.PHONY: check-venv
> +
> +TESTS_VENV_DIR=$(BUILD_DIR)/tests/venv
> +TESTS_VENV_REQ=$(SRC_PATH)/tests/requirements.txt
> +
> +$(shell $(PYTHON) -c 'import sys; assert sys.version_info >= (3,0)'
> >/dev/null 2>&1)
> +ifeq ($(.SHELLSTATUS),0)
> +$(TESTS_VENV_DIR): $(TESTS_VENV_REQ)
> + $(call quiet-command, \
> + $(PYTHON) -m venv --system-site-packages $@, \
> + VENV, $@)
> + $(call quiet-command, \
> + $(TESTS_VENV_DIR)/bin/python -m pip -q install -r
> $(TESTS_VENV_REQ), \
> + PIP, $(TESTS_VENV_REQ))
> + $(call quiet-command, touch $@)
> +else
> +$(TESTS_VENV_DIR):
> + $(error "venv directory for tests requires Python 3")
> +endif
> +
> +check-venv: $(TESTS_VENV_DIR)
Hi -- this seems to be causing one of the travis configs to fail:
https://travis-ci.org/qemu/qemu/jobs/451311466
The config includes "--python=/usr/bin/python3", but the build
fails with
CHK version_gen.h
/home/travis/build/qemu/qemu/tests/Makefile.include:928: *** "venv
directory for tests requires Python 3". Stop.
Would you mind having a look at what's happening there ?
thanks
-- PMM
- Re: [Qemu-devel] [PULL 11/15] Bootstrap Python venv for tests,
Peter Maydell <=
- Re: [Qemu-devel] [PULL 11/15] Bootstrap Python venv for tests, Philippe Mathieu-Daudé, 2018/11/06
- [Qemu-devel] [PATCH] tests: Fix Python 3 detection on older GNU make versions, Eduardo Habkost, 2018/11/06
- Re: [Qemu-devel] [PATCH] tests: Fix Python 3 detection on older GNU make versions, Peter Maydell, 2018/11/06
- Re: [Qemu-devel] [Qemu-block] [PATCH] tests: Fix Python 3 detection on older GNU make versions, Markus Armbruster, 2018/11/07
- Re: [Qemu-devel] [Qemu-block] [PATCH] tests: Fix Python 3 detection on older GNU make versions, Peter Maydell, 2018/11/07
- Re: [Qemu-devel] [Qemu-block] [PATCH] tests: Fix Python 3 detection on older GNU make versions, Eduardo Habkost, 2018/11/07
- Re: [Qemu-devel] [Qemu-block] [PATCH] tests: Fix Python 3 detection on older GNU make versions, Peter Maydell, 2018/11/07
- Re: [Qemu-devel] [Qemu-block] [PATCH] tests: Fix Python 3 detection on older GNU make versions, Eduardo Habkost, 2018/11/07