qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [PULL 11/15] Bootstrap Python venv for tests


From: Peter Maydell
Subject: Re: [Qemu-block] [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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]