-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
py27-xdist and py27-nobyte failing on master #2843
Comments
I took a few minutes today to investigate this, and the reason seems to in the traceback filtering function. Lines 29 to 49 in b61cbc4
I've changed the function to log the paths to a file: diff --git a/_pytest/python.py b/_pytest/python.py
index 6c130f9..8b9a962 100644
--- a/_pytest/python.py
+++ b/_pytest/python.py
@@ -43,9 +43,16 @@ def filter_traceback(entry):
is_generated = '<' in raw_filename and '>' in raw_filename
if is_generated:
return False
- # entry.path might point to an inexisting file, in which case it will
- # alsso return a str object. see #1133
+ # entry.path might point to an non-existing file, in which case it will
+ # also return a str object. see #1133
p = py.path.local(entry.path)
+ with open(r'C:\pytest\log.txt', 'a') as f:
+ f.write('filter_traceback\n')
+ f.write('p = {} {!r}\n'.format(p, p))
+ f.write(' _pytest = {}\n'.format(_pytest.__file__))
+ f.write(' cutdir1 = {} {!r}\n'.format(cutdir1, cutdir1))
+ f.write(' cutdir2 = {} {!r}\n'.format(cutdir2, cutdir2))
+ f.write(' cutdir3 = {} {!r}\n'.format(cutdir3, cutdir3))
return p != cutdir1 and not p.relto(cutdir2) and not p.relto(cutdir3) And here is what I get for the first call of the py27 normal
py27-xdist
py36 normal
py36 xdist
I'm posting this to see if anybody has an idea and for my own future reference. |
@nicoddemus just a note, pluggy is a package by now and on top of features |
Thanks, I also realized that. But I don't have an explanation why the paths are relative to |
its potentially related to execnet and the subprocesses |
The "filter_traceback" function was not filtering the frames that belonged to the pytest internals. "filter_traceback" was receiving *relative* paths when running with xdist, and full paths in non-distributed runs; for this reason the traceback function did not consider the received path to be relative to the pytest internal modules. Fix pytest-dev#2843
The "filter_traceback" function was not filtering the frames that belonged to the pytest internals. "filter_traceback" was receiving *relative* paths when running with xdist, and full paths in non-distributed runs; for this reason the traceback function did not consider the received path to be relative to the pytest internal modules. Fix pytest-dev#2843
Both AppVeyor and Travis are failing in the current
master
. Here's the Travis output:The text was updated successfully, but these errors were encountered: