[PATCH] tests: fix assert rewriting in non-test modules like api_base.py

Thomas De Schampheleire patrickdepinguin at gmail.com
Sun Dec 30 20:25:46 UTC 2018


# HG changeset patch
# User Thomas De Schampheleire <thomas.de_schampheleire at nokia.com>
# Date 1546201530 -3600
#      Sun Dec 30 21:25:30 2018 +0100
# Node ID c49907186a9e1f706a19d35952b8f24a6a6ed718
# Parent  08ccc957e6bc3b170ce2c5db4a63574b51528a79
tests: fix assert rewriting in non-test modules like api_base.py

pytest rewrites assert statements in tests so it can print details about the
values involved when the assert fails.

Since pytest 3.0.0, this was no longer the case for files/modules that are
not discovered as test modules, i.e. starting with 'test_'. Examples are:
    api/api_base.py
    models/common.py
    base.py
    fixture.py

Commit 790aeeddcab598d2aacbbecf86830b608ca8b32b attempted to fix that
problem, but seems incorrect. A trailing dot should not be there.

diff --git a/kallithea/tests/__init__.py b/kallithea/tests/__init__.py
--- a/kallithea/tests/__init__.py
+++ b/kallithea/tests/__init__.py
@@ -22,5 +22,7 @@ import pytest
 
 if getattr(pytest, 'register_assert_rewrite', None):
     # make sure that all asserts under kallithea/tests benefit from advanced
-    # assert reporting with pytest-3.0.0+.
-    pytest.register_assert_rewrite('kallithea.tests.')
+    # assert reporting with pytest-3.0.0+, including api/api_base.py,
+    # models/common.py etc.
+    # See also: https://docs.pytest.org/en/latest/assert.html#advanced-assertion-introspection
+    pytest.register_assert_rewrite('kallithea.tests')


More information about the kallithea-general mailing list