[Pytest-commit] Issue #324: -v output does not include diff that non-verbose output does for long dicts (hpk42/tox)
Brandon Maister
issues-reply at bitbucket.org
Wed Apr 13 10:56:18 EDT 2016
New issue 324: -v output does not include diff that non-verbose output does for long dicts
https://bitbucket.org/hpk42/tox/issues/324/v-output-does-not-include-diff-that-non
Brandon Maister:
given `ex.py`:
```
#!python
def test_long_assertion():
long = 'a' * 50
a = {i: long for i in range(8)}
b = dict(**a)
b[7] = 'short'
assert a == b
```
invoking py.test gives a very helpful error message:
```
$ py.test ex.py
========= test session starts =========
platform darwin -- Python 2.7.5, pytest-2.9.1, py-1.4.31, pluggy-0.3.1
rootdir: /private/tmp, inifile:
plugins: cov-2.2.1
collected 1 items
ex.py F
=================== FAILURES ===================
____________________ test_long_assertion ____________________
def test_long_assertion():
long = 'a' * 50
a = {i: long for i in range(8)}
b = dict(**a)
b[7] = 'short'
> assert a == b
E assert {0: 'aaaaaaaa...aaaaaaa', ...} == {0: 'aaaaaaaaa...aaaaaaa', ...}
E Omitting 7 identical items, use -v to show
E Differing items:
E {7: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'} != {7: 'short'}
E Use -v to get the full diff
ex.py:6: AssertionError
```
However, running with `-v` breaks the diff:
```
$ py.test -v ex.py
================================== test session starts ===================================
platform darwin -- Python 2.7.5, pytest-2.9.1, py-1.4.31, pluggy-0.3.1 -- /Users/bwm/findable/virtualenvs/consumer/bin/python
cachedir: .cache
rootdir: /private/tmp, inifile:
plugins: cov-2.2.1
collected 1 items
ex.py::test_long_assertion FAILED
======================================== FAILURES ========================================
__________________________________ test_long_assertion ___________________________________
def test_long_assertion():
long = 'a' * 50
a = {i: long for i in range(8)}
b = dict(**a)
b[7] = 'short'
> assert a == b
E assert {0: 'aaaaaaaa...aaaaaaa', ...} == {0: 'aaaaaaaaa...aaaaaaa', ...}
E Common items:
E {0: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
E 1: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
E 2: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
E 3: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
E 4: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
E 5: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
E 6: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'}
E Differing items:
E Detailed information truncated (11 more lines), use "-vv" to show
ex.py:6: AssertionError
================================ 1 failed in 0.01 seconds ================================
```
`-vv` does include everything, but it's very verbose when I have dozens of items in my dicts.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pytest-commit/attachments/20160413/970bef72/attachment.html>
More information about the pytest-commit
mailing list