[PATCH] tests: fix assertion rewriting in some tests with pytest-3.0.0+

Mads Kiilerich mads at kiilerich.com
Sat Sep 10 11:51:00 UTC 2016


On 09/09/2016 04:03 PM, Thomas De Schampheleire wrote:
> # HG changeset patch
> # User Thomas De Schampheleire <thomas.de.schampheleire at gmail.com>
> # Date 1473428048 -7200
> #      Fri Sep 09 15:34:08 2016 +0200
> # Node ID 6889d3b7435f1c4bb91d24a3af7774323ecbc778
> # Parent  59639343672495cb89be54b98f1d6d3a4c44307c
> tests: fix assertion rewriting in some tests with pytest-3.0.0+
>
> Since pytest 3.0.0, asserts present in modules that are not directly seen by
> pytest as 'test modules', are no longer rewritten to have improved
> reporting, unless they are explicitly marked as up-for-rewriting.
>
> This is e.g. the case for asserts in files like
> kallithea/tests/api/api_base.py and kallithea/tests/models/common.py.
>
> See
> http://doc.pytest.org/en/latest/changelog.html#id13
> http://doc.pytest.org/en/latest/writing_plugins.html#assertion-rewriting
>
> diff --git a/kallithea/tests/__init__.py b/kallithea/tests/__init__.py
> --- a/kallithea/tests/__init__.py
> +++ b/kallithea/tests/__init__.py
> @@ -42,6 +42,10 @@ from routes.util import URLGenerator
>   from webtest import TestApp
>   import pytest
>   
> +# make sure that all asserts under kallithea/tests benefit from advanced assert
> +# reporting, before importing these modules.
> +pytest.register_assert_rewrite('kallithea.tests')

But also, why was it changed in pytest? What is the point in not having 
it enabled everywhere?

It sounds like something that also (and perhaps better?) could be set in 
pytest.ini?

/Mads


More information about the kallithea-general mailing list