On 11/13/18 8:51 AM, Kevin Wolf wrote:
> Am 13.11.2018 um 14:26 hat Eduardo Habkost geschrieben:
>> On Tue, Nov 13, 2018 at 01:18:36PM +0100, Kevin Wolf wrote:
>> [...]
>>> Anyway, one specific concern about the "simple way" I have is that we're
>>> adding a hard dependency on an external package (Avocado) that isn't
>>> usually installed anyway on developer machines. Maintainers will of
>>> course just install it. But will this reduce the amount of tests that
>>> contributors run, and increase the amount of untested patches on the
>>> mailing list?
>>>
>>> Maybe we can keep a simple in-tree runner like ./check that doesn't have
>>> any external dependencies and runs all of those tests that don't make
>>> use of Avocado utility functions etc.? And you'd use Avocado when you
>>> want to run all tests or use advanced test harness options.
>>
>> What problems you are trying to address here, exactly?
>>
>> If you don't have Avocado installed in your system, all you need
>> is Python 3, an internet connection, and the ability to type
>> "make check-acceptance" on your keyboard.
>
> Thanks, didn't know that one. Apparently you don't only need to have
> Python 3 available on the system, but also explicitly use it for
> ./configure?
>
> $ LANG=C make check-acceptance
> /home/kwolf/source/qemu/tests/Makefile.include:930: *** "venv directory
> for tests requires Python 3". Stop.
>
> While this doesn't make the tests available automatically for everyone,
> we'll get there when we finally make Python 3 the default (hopefully
> soon), which is already a lot better than what docs/devel/testing.rst
> promises:
>
> These tests are written using the Avocado Testing Framework (which
> must be installed separately) [...]
>
> Maybe time to update the docs to match the improved situation? :-)
>
> Kevin
>
The docs were updated when "make check-acceptance" was used. That
sentence is still true, Avocado must be installed separately, it's just
that "check-venv", used by "check-acceptance" does just that.
It's documented as:
Running tests
-------------
You can run the acceptance tests simply by executing:
.. code::
make check-acceptance
- Cleber.