Ronny Pfannschmidt
2831cb9ab5
unify paths.py and pathlib.py
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
85cc9b8f12
move all the things into _pytest.pathlib
2018-10-11 07:15:08 +02:00
iwanb
c61ff31ffa
Fix #3539 : reload module with assertion rewrite import hook
2018-09-23 13:05:55 +02:00
Anthony Sottile
7122fa5613
Fix UnicodeDecodeError in assertion with mixed non-ascii bytes repr + text
2018-09-19 20:24:00 -07:00
Bruno Oliveira
37d2469266
Use a PurePath instance to do matching against patterns in assertion rewrite
...
This way we don't need to have real file system path, which prevents the
original #3973 bug.
2018-09-17 20:29:09 -03:00
Bruno Oliveira
1df6d28080
Fix assertion rewriter crash if cwd changes mid-testing
...
Unfortunately we need to get a `py.path.local` object to perform the fnmatch
operation, it is different from the standard `fnmatch` module because it
implements its own custom logic. So we need to use `py.path` to perform
the fnmatch for backward compatibility reasons.
Ideally we should be able to use a "pure path" in `pathlib` terms (a path
not bound to the file system), but we don't have those in pylib.
Fix #3973
2018-09-17 20:04:44 -03:00
Bruno Oliveira
69b34f7658
Merge remote-tracking branch 'upstream/master' into release-3.8.0
2018-09-05 18:02:02 -03:00
Bruno Oliveira
d3ca739c00
Use explicit instances when calling warnings.warn_explicit
2018-09-04 16:29:48 -03:00
Bruno Oliveira
a054aa4797
Issue assert rewrite warning if tuple >=1 as suggested in review
2018-09-04 14:45:48 -03:00
Bruno Oliveira
9ae0a3cd85
Do not trigger warning about tuples being always True if the tuple has size != 2
2018-09-04 13:41:11 -03:00
Bruno Oliveira
615c671434
Connect string literals
2018-09-04 13:34:05 -03:00
Bruno Oliveira
56d414177a
Remove nodeid from messages for warnings generated by standard warnings
...
Standard warnings already contain the proper location, so we don't need
to also print the node id
2018-09-04 11:35:34 -03:00
Bruno Oliveira
78ac7d99f5
Deprecate Config.warn and Node.warn, replaced by standard warnings
2018-09-04 11:35:34 -03:00
Bruno Oliveira
eec7081b8d
Make AssertionRewritingrHook use imp_find_module
2018-09-03 10:18:25 -03:00
Bruno Oliveira
4675912d89
Add tests for early rewrite bailout code and handle patterns with subdirectories
2018-09-01 10:59:21 -03:00
Fabio Zadrozny
d53e449296
Improve performance of assertion rewriting. Fixes #3918
2018-08-31 12:27:08 -03:00
Bruno Oliveira
82a7ca9615
Avoid possible infinite recursion when writing pyc files in assert rewrite
...
What happens is that atomic_write on Python 2.7 on Windows will try
to convert the paths to unicode, but this triggers the import of
the encoding module for the file system codec, which in turn triggers
the rewrite, which in turn again tries to import the module, and so on.
This short-circuits the cases where we try to import another file when
writing a pyc file; I don't expect this to affect anything because
the only modules that could be affected are those imported by
atomic_writes.
Fix #3506
2018-08-27 21:29:45 -03:00
Anthony Sottile
99e31f6fb1
Use `bytes` directly instead of `binary_type`
...
`bytes` is an alias for `str` in python2.6+
2018-08-23 18:55:21 -07:00
Anthony Sottile
c2cd337886
py.builtin.exec_ => six.exec_
2018-08-22 23:00:06 -07:00
Anthony Sottile
452e5c1cf0
Fix `TypeError` when the assertion message is `bytes` in python 3.
2018-08-01 15:09:25 -07:00
Anthony Sottile
cbaa7dd56a
Upgrade pre-commit hooks except pyupgrade
2018-06-26 06:35:27 -07:00
Anthony Sottile
1d55c49a9a
Fix `ImportWarning` triggered by explicit relative imports
2018-06-23 07:55:49 -07:00
Ronny Pfannschmidt
eaa882f3d5
switch to src layout
2018-05-26 09:10:38 +02:00