- pytester was creating a 'pexpect' directory to serve as temporary dir, but due to the fact that
xdist adds the current directory to sys.path, that directory was being considered as candidate
for import as a package. The directory is empty and a warning was being raised about
it missing __init__ file, which is now turned into an error by our filterwarnings config
in pytest.ini.
- Decided to play it safe and ignore any warnings during `pytest.importorskip`.
- pytest-xdist and execnet raise two warnings which should be fixed upstream:
pytest-dev/pytest-xdist/issues/133
this allows a clear addition of parameterization parameters that carry along marks
instead of nesting multiple mark objects and destroying the possibility of creating
function valued parameters,
it just folders everything together into one object carrfying parameters, and the marks.
Change XML file structure in the manner that failures in call and errors
in teardown in one test will appear under separate testcase elements in
the XML report.
In the xml report we now have two occurences for the system-out tag if
the testcase writes to stdout both on call and teardown and fails in
teardown.
This behaviour is against the xsd.
This patch makes sure that the system-out section exists only
once per testcase.
This has the benefical side-effect of not calling the original
warnings.showwarnings function, which in its original form
only writes the formatted warning to sys.stdout.
Calling the original warnings.showwarnings has the effect that nested WarningsRecorder all catch the warnings:
with WarningsRecorder() as rec1:
with WarningsRecorder() as rec2:
warnings.warn(UserWarning, 'some warning')
(both rec1 and rec2 sees the warning)
When running tests with `testdir`, the main pytest session would then see the warnings created by
the internal code being tested (if any), and the main pytest session would end up with warnings as well.