1 new commit in pytest:
https://bitbucket.org/hpk42/pytest/changeset/2e06f917619d/ changeset: 2e06f917619d user: RonnyPfannschmidt date: 2012-06-27 17:26:55 summary: test and implement showing verbose assert repr for py.test -vv affected #: 4 files diff -r 6d5db6fbe405aacc5b828ec1f461f7699fa25664 -r 2e06f917619d045818b48651714c1ea5d59056e4 CHANGELOG --- a/CHANGELOG +++ b/CHANGELOG @@ -46,6 +46,8 @@ - don't show deselected reason line if there is none + - py.test -vv will show all of assert comparisations instead of truncating + Changes between 2.2.3 and 2.2.4 ----------------------------------- diff -r 6d5db6fbe405aacc5b828ec1f461f7699fa25664 -r 2e06f917619d045818b48651714c1ea5d59056e4 _pytest/assertion/__init__.py --- a/_pytest/assertion/__init__.py +++ b/_pytest/assertion/__init__.py @@ -73,8 +73,12 @@ def callbinrepr(op, left, right): hook_result = item.ihook.pytest_assertrepr_compare( config=item.config, op=op, left=left, right=right) + for new_expl in hook_result: if new_expl: + # Don't include pageloads of data unless we are very verbose (-vv) + if len(''.join(new_expl[1:])) > 80*8 and item.config.option.verbose < 2: + new_expl[1:] = ['Detailed information too verbose, truncated'] res = '\n~'.join(new_expl) if item.config.getvalue("assertmode") == "rewrite": # The result will be fed back a python % formatting diff -r 6d5db6fbe405aacc5b828ec1f461f7699fa25664 -r 2e06f917619d045818b48651714c1ea5d59056e4 _pytest/assertion/util.py --- a/_pytest/assertion/util.py +++ b/_pytest/assertion/util.py @@ -121,9 +121,6 @@ if not explanation: return None - # Don't include pageloads of data, should be configurable - if len(''.join(explanation)) > 80*8: - explanation = ['Detailed information too verbose, truncated'] return [summary] + explanation diff -r 6d5db6fbe405aacc5b828ec1f461f7699fa25664 -r 2e06f917619d045818b48651714c1ea5d59056e4 testing/test_assertion.py --- a/testing/test_assertion.py +++ b/testing/test_assertion.py @@ -150,6 +150,29 @@ "*E*'y'*", ]) + +def test_assert_compare_truncate_longmessage(testdir): + testdir.makepyfile(r""" + def test_long(): + a = list(range(200)) + b = a[::2] + a = '\n'.join(map(str, a)) + b = '\n'.join(map(str, b)) + assert a == b + """) + + result = testdir.runpytest() + result.stdout.fnmatch_lines([ + "*too verbose, truncated*", + ]) + + + result = testdir.runpytest('-vv') + result.stdout.fnmatch_lines([ + "*- 197", + ]) + + @needsnewassert def test_assertrepr_loaded_per_dir(testdir): testdir.makepyfile(test_base=['def test_base(): assert 1 == 2']) Repository URL: https://bitbucket.org/hpk42/pytest/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. _______________________________________________ py-svn mailing list py-svn@codespeak.net http://codespeak.net/mailman/listinfo/py-svn