Ran Benita
28761c8da1
Have AssertionRewritingHook derive from importlib.abc.MetaPathFinder
...
This is nice for self-documentation, and is the type required by mypy
for adding to sys.meta_path.
2019-08-16 10:41:52 +03:00
Daniel Hahler
ed2425119f
Merge pull request #5731 from blueyed/assert-compare-maxsize
...
assertrepr_compare: prefer same maxsize
2019-08-12 16:02:41 +02:00
Daniel Hahler
39ba996133
assertion.rewrite: use ast.NameConstant(None) directly
...
`ast.parse("None")` was added/used in 3e6f1fa2d for differences between
Python 2/3, but we do not support py2 anymore.
2019-08-12 07:50:52 +02:00
Daniel Hahler
cb481a354a
assertrepr_compare: prefer same maxsize
...
Previously it would say:
> assert '123456789012...901234567890A' == '1234567890123...901234567890B'"
This makes it look like the "3" might be different already.
This is clearer, and it is OK to have potentially one less char in the
right one:
> assert '123456789012...901234567890A' == '123456789012...901234567890B'"
2019-08-12 03:41:14 +02:00
Bruno Oliveira
d3e1907899
Use OSError subclasses instead of handling errno
2019-08-02 14:17:46 -03:00
Ran Benita
89dfde9535
Add rudimentary mypy type checking
...
Add a very lax mypy configuration, add it to tox -e linting, and
fix/ignore the few errors that come up. The idea is to get it running
before diving in too much.
This enables:
- Progressively adding type annotations and enabling more strict
options, which will improve the codebase (IMO).
- Annotating the public API in-line, and eventually exposing it to
library users who use type checkers (with a py.typed file).
Though, none of this is done yet.
Refs https://github.com/pytest-dev/pytest/issues/3342 .
2019-07-09 12:12:07 -07:00
Anthony Sottile
7ee244476a
Remove astor and reproduce the original assertion expression
2019-06-28 13:38:52 -07:00
Bruno Oliveira
1be49e713a
Remove py<35 compatibility code from rewrite.py
2019-06-26 21:44:10 -03:00
Bruno Oliveira
629eb3ec6a
Move formatting variables under the "has impls" if
...
Small optimization, move the generation of the intermediate
formatting variables inside the 'if _check_if_assertion_pass_impl():'
block.
2019-06-26 19:26:12 -03:00
Bruno Oliveira
fcbe66feba
Restore proper handling of '%' in assertion messages
2019-06-26 18:51:27 -03:00
Bruno Oliveira
eb90f3d1c8
Fix default value of 'enable_assertion_pass_hook'
2019-06-26 17:54:24 -03:00
Victor Maryama
6854ff2acc
Fixed import order pep8.
2019-06-26 19:05:17 +02:00
Victor Maryama
53234bf613
Added config back to AssertionWriter and fixed typo in check_if_assertion_pass_impl function call.
2019-06-26 19:00:31 +02:00
Victor Maryama
6f851e6cbb
Merge remote-tracking branch 'upstream/master' into features-assertion-pass-hook-master
...
# Conflicts:
# src/_pytest/assertion/rewrite.py
2019-06-26 18:12:56 +02:00
Victor Maryama
9a34d88c8d
Explanation variables only defined if failed or passed with plugins implementing the hook.
2019-06-26 18:10:16 +02:00
Victor Maryama
f755ff6af1
Black formatting.
2019-06-26 18:10:16 +02:00
Victor Maryama
d638da5821
Using ini-file option instead of cmd option.
2019-06-26 18:10:16 +02:00
Bruno Oliveira
6a2d844c5d
Fix typo replace circuting with circuiting. ( #5497 )
...
Fix typo replace `circuting` with `circuiting`.
2019-06-26 11:09:22 -03:00
Tim Gates
fdb6e35b1b
Fix typo replace circuting with circuiting.
2019-06-26 20:23:35 +10:00
Victor Maryama
7efdd5063b
Update src/_pytest/assertion/rewrite.py
...
Co-Authored-By: Bruno Oliveira <nicoddemus@gmail.com >
2019-06-26 10:50:27 +02:00
Anthony Sottile
3f3f3e7a29
Merge pull request #5495 from nicoddemus/blueyed/cmp-bytes
...
Improve comparison of byte strings (supersedes #5267 )
2019-06-25 19:16:24 -07:00
Bruno Oliveira
aaf40314d1
Do not attempt to rewrite non-source files ( #5490 )
...
Do not attempt to rewrite non-source files
2019-06-25 20:43:23 -03:00
Bruno Oliveira
3f2344e8f7
Show bytes ascii representation instead of numeric value
2019-06-25 20:40:25 -03:00
Daniel Hahler
8c7eb82363
Fix/improve comparison of byte strings
...
Fixes https://github.com/pytest-dev/pytest/issues/5260 .
2019-06-25 20:15:45 -03:00
Victor Maryama
4db5488ed8
Now dependent on command line option.
2019-06-25 19:49:05 +02:00
Anthony Sottile
b991810f32
Do not attempt to rewrite non-source files
2019-06-25 08:00:20 -07:00
Victor Maryama
2280f28596
Black formatting.
2019-06-25 10:36:01 +02:00
Victor Maryama
f8c9a7b86d
Formatting and removed py2 support.
2019-06-25 10:35:42 +02:00
Bruno Oliveira
f43fb13179
Include pytest version in the cached pyc tags
...
Fix #1671
2019-06-24 20:37:07 -03:00
Anthony Sottile
4cd08f9b52
Switch from deprecated imp to importlib
2019-06-24 09:48:38 -07:00
Victor Maryama
52e695b329
Removed debug code.
2019-06-24 17:47:48 +02:00
Victor Maryama
9a89783fbb
Assertion passed hook
2019-06-24 16:09:39 +02:00
Bruno Oliveira
d8fa434d39
Remove Python 2-only workaround
2019-06-15 10:45:16 -03:00
Anthony Sottile
ccd87f9e80
small mypy fixes
2019-06-06 09:13:02 -07:00
Anthony Sottile
be2be040f9
Clean up u' prefixes and py2 bytes conversions
2019-06-04 17:50:34 -07:00
Anthony Sottile
1b381d5277
Revert "Unroll calls to any #5062 ( #5103 )"
...
This reverts commit 2b9ca34280 , reversing
changes made to 0a57124063 .
2019-06-03 08:42:03 -07:00
Anthony Sottile
2125d04501
Revert "Fix all() unroll for non-generators/non-list comprehensions ( #5360 )"
...
This reverts commit 733f43b02e , reversing
changes made to e4fe41ebb7 .
2019-06-03 08:42:03 -07:00
Anthony Sottile
5dcf85c17e
manual: remove dependence on six
2019-06-03 12:08:02 -03:00
Anthony Sottile
a91fe1fedd
pre-commit run pyupgrade --all-files
2019-06-03 12:08:02 -03:00
Anthony Sottile
3f1ec520fc
pre-commit run reorder-python-imports --all-files
2019-06-03 12:08:01 -03:00
Anthony Sottile
5034399d7a
pre-commit run fix-encoding-pragma --all-files
2019-06-03 12:08:01 -03:00
Bruno Oliveira
4d49ba6529
Drop Python 2.7 and 3.4 support
...
* Update setup.py requires and classifiers
* Drop Python 2.7 and 3.4 from CI
* Update docs dropping 2.7 and 3.4 support
* Fix mock imports and remove tests related to pypi's mock module
* Add py27 and 34 support docs to the sidebar
* Remove usage of six from tmpdir
* Remove six.PY* code blocks
* Remove sys.version_info related code
* Cleanup compat
* Remove obsolete safe_str
* Remove obsolete __unicode__ methods
* Remove compat.PY35 and compat.PY36: not really needed anymore
* Remove unused UNICODE_TYPES
* Remove Jython specific code
* Remove some Python 2 references from docs
Related to #5275
2019-06-02 14:39:11 -03:00
Bruno Oliveira
acdf30a523
Fix all() unroll for non-generators/non-list comprehensions
...
Fix #5358
2019-06-02 12:12:14 -03:00
Daniel Hahler
e032904413
Merge master into features
2019-05-28 01:46:16 +02:00
Bruno Oliveira
2b9ca34280
Unroll calls to any #5062 ( #5103 )
...
Unroll calls to any #5062
2019-05-27 20:17:44 -03:00
Anthony Sottile
13f02af97d
Switch to importlib-metadata
2019-05-27 13:24:08 -07:00
Tomer Keren
22d91a3c3a
Unroll calls to all on python 2
2019-05-25 19:34:08 +03:00
Tomer Keren
322a0f0a33
Fix mention of issue #5062 in docstrings
2019-05-25 19:34:08 +03:00
Tomer Keren
58149459a5
Mark visit_all as a private method
2019-05-25 19:34:08 +03:00
Tomer Keren
437d6452c1
Expand list comprehensions as well
2019-05-25 19:34:08 +03:00