Jurko Gospodnetić
d85a3ca19a
add changelog entry
2017-12-17 12:47:50 +01:00
Jurko Gospodnetić
f3c9c6e8a8
fix restoring Python state after in-process pytest runs
...
Now each in-process pytest run saves a snapshot of important global Python
state and restores it after the test completes, including the list of loaded
modules & the Python path settings.
Previously only the loaded package data was getting restored, but that was
also reverting any loaded package changes done in the test triggering the
pytest runs, and not only those done by the pytest runs themselves.
Updated acceptance tests broken by this change, which were only passing before
by accident as they were making multiple pytest runs with later ones depending
on sys.path changes left behind by the initial one.
2017-12-17 12:47:50 +01:00
Jurko Gospodnetić
67bd60d5c6
clean up Testdir taking snapshots & restoring global Python state
...
Now extracted to new CwdSnapshot, SysModulesSnapshot & SysPathsSnapshot
classes, each saving the state they are interested in on instantiation
and restoring it in its `restore()` method.
2017-12-17 12:47:50 +01:00
Bruno Oliveira
d87279115d
Merge pull request #3041 from segevfiner/capture-no-disable-progress
...
Use classic console output when -s is used
2017-12-16 12:34:34 -02:00
Bruno Oliveira
0a2735a275
Reword changelog entry
2017-12-16 12:33:34 -02:00
Segev Finer
370daf0441
Use classic console output when -s is used
...
Fixes #3038
2017-12-16 15:00:23 +02:00
Bruno Oliveira
db4df5833a
Merge pull request #3030 from nicoddemus/leak
...
Fix memory leak caused by fixture values never been garbage collected
2017-12-14 19:20:34 -02:00
Bruno Oliveira
b17c6e5f89
Merge pull request #3028 from thisch/removelogger
...
Remove logger parameter from catching_logs
2017-12-13 20:56:48 -02:00
Bruno Oliveira
c3f63ac143
Fix memory leak caused by fixture values never been garbage collected
...
The leak was caused by the (unused) `FixtureRequest._fixture_values`
cache.
This was introduced because the `partial` object (created to call
FixtureDef.finish() bound with the Request) is kept alive
through the entire session when a function-scoped fixture depends
on a session-scoped (or higher) fixture because of the nested
`addfinalizer` calls.
FixtureDef.finish() started receiving a request object in order to
obtain the proper hook proxy object (#2127 ), but this does not seem
useful at all in practice because `pytest_fixture_post_finalizer`
will be called with the `request` object of the moment the fixture value
was *created*, not the request object active when the fixture value
is being destroyed. We should probably deprecate/remove the request
parameter from `pytest_fixture_post_finalizer`.
Fix #2981
2017-12-13 19:49:06 -02:00
Thomas Hisch
3862b0b28d
Remove logger parameter from catching_logs
...
The logger parameter of catching_logs is not used anywhere. The main
motivation for removing the logger parameter is that it removes the
logger = logger or logging.getLogger(logger)
line. IMO there are too many occurences of the string 'logg' ;)
2017-12-13 21:13:59 +01:00
Ronny Pfannschmidt
476d4df1b7
Merge pull request #3010 from cryvate/fix-issue-2985
...
Improve handling of pyargs
2017-12-13 13:56:42 +01:00
Ronny Pfannschmidt
52449903c3
Merge pull request #3023 from nicoddemus/preparse-deprecated
...
Add param annotations and types to hookspec
2017-12-13 13:51:20 +01:00
Ronny Pfannschmidt
506c9c91c0
Merge pull request #3025 from anntzer/dont-rewrite-plugin
...
Respect PYTEST_DONT_REWRITE for plugins too.
closes #2995
2017-12-13 12:34:51 +01:00
Bruno Oliveira
38f34e2fa1
Merge pull request #3012 from thisch/merge_contextmanagers
...
Integrate logging_using_handler into catching_logs
2017-12-13 06:59:48 -02:00
Bruno Oliveira
ba41015ef6
Merge pull request #3021 from jurko-gospodnetic/cleanup
...
Code cleanup
2017-12-13 06:58:18 -02:00
Bruno Oliveira
ebfc1c49d1
Fix changelog formatting
2017-12-13 06:58:07 -02:00
Antony Lee
45e7734b1a
Change set ops to use methods instead of operators.
2017-12-13 00:54:57 -08:00
Bruno Oliveira
8ce6e39b1c
Small formatting to CHANGELOG
2017-12-13 06:52:37 -02:00
Antony Lee
c8e7d1ae34
Respect PYTEST_DONT_REWRITE for plugins too.
2017-12-12 17:43:17 -08:00
Bruno Oliveira
7b5d4d01ed
Add param annotations and types to hookspec
...
Also mention which hook to use instead of the deprecated
pytest_cmdline_preparse
Fix #3022
2017-12-12 18:01:31 -02:00
Jurko Gospodnetić
a4f4579f19
add changelog entry
2017-12-12 13:41:31 +01:00
Jurko Gospodnetić
e4da9bacdf
fix `actial` --> `actual` typo
2017-12-12 12:55:32 +01:00
Henk-Jaap Wagenaar
1e295535c3
Move _patched_find_module to module namespace.
2017-12-12 09:53:06 +00:00
Henk-Jaap Wagenaar
3ca1e4b7f0
Make patch for issue in pkgutil.ImpImporter local by using contextmanager.
2017-12-12 08:43:01 +00:00
Henk-Jaap Wagenaar
dc19624248
Improve testing comments and code of issue 2985 (symlink in pyargs).
2017-12-12 08:26:40 +00:00
Bruno Oliveira
f8f1a52ea0
Merge remote-tracking branch 'upstream/master' into features
2017-12-11 22:18:50 -02:00
Bruno Oliveira
5c6d7739bc
Merge pull request #3015 from jurko-gospodnetic/code-cleanup
...
Code cleanup
2017-12-11 22:15:50 -02:00
Bruno Oliveira
771b5c8852
Merge pull request #3019 from srinivasreddy/rm_ast
...
remove '_ast' module; and redirect '_ast' references to 'ast'
2017-12-11 22:12:40 -02:00
Bruno Oliveira
fc5ec5807e
Add changelog for 3018
2017-12-11 17:40:35 -02:00
Srinivas Reddy Thatiparthy
fc544dc660
remove redundant checking because
...
* isinstance([], Sequence) is True
* isinstance((), Sequence) is True
2017-12-12 00:10:59 +05:30
Srinivas Reddy Thatiparthy
7792587b3f
remove unnecessary import
2017-12-12 00:03:38 +05:30
Srinivas Reddy Thatiparthy
c2cd239d35
remove _ast reference from test cases as well
2017-12-11 23:24:47 +05:30
Srinivas Reddy Thatiparthy
cb0ba18f53
remove '_ast' module; and redirect '_ast' references to 'ast'
2017-12-11 23:14:17 +05:30
Jurko Gospodnetić
3b85e0c3a9
simplify test_conftest_found_with_double_dash() test code
2017-12-11 15:10:04 +01:00
Jurko Gospodnetić
73bc6bacfa
add changelog entry
2017-12-09 13:34:58 +01:00
Jurko Gospodnetić
8e8a953ac6
fix test name typo
2017-12-09 13:34:58 +01:00
Jurko Gospodnetić
852b96714e
use spaces consistently instead of some of them being
2017-12-09 13:34:57 +01:00
Jurko Gospodnetić
dd64f1a4a9
fix tox.ini comment typos
2017-12-09 13:34:57 +01:00
Jurko Gospodnetić
41a6ec6f31
touch up test_cmdline_python_namespace_package() test code
2017-12-09 13:34:56 +01:00
Jurko Gospodnetić
7feab7391d
simplify test_pdb_collection_failure_is_shown test data setup code
2017-12-09 13:34:56 +01:00
Jurko Gospodnetić
f0bfe9de3d
shorten some test code
2017-12-09 13:34:56 +01:00
Jurko Gospodnetić
596937e610
remove extra whitespace
2017-12-09 13:34:55 +01:00
Jurko Gospodnetić
57fcd3f57e
remove corpse code comments
2017-12-09 13:34:55 +01:00
Jurko Gospodnetić
65f5383106
fix comment & docstring typos, line wrapping & wording
2017-12-09 13:34:54 +01:00
Ronny Pfannschmidt
964c29cb93
Merge pull request #3014 from nicoddemus/cap-named-tuple
...
Change capture docs to use namedtuple
2017-12-09 09:38:39 +01:00
Bruno Oliveira
38fb6aae78
Change capture docs to use namedtuple
2017-12-08 18:34:29 -02:00
Bruno Oliveira
1c5b887dfd
Fix spelling of pytest in CHANGELOG
2017-12-08 09:04:42 -02:00
Thomas Hisch
ba209b5230
Integrate logging_using_handler into catching_logs
...
logging_using_handler is only used in catching_logs. Therefore it makes
sense to remove one of the many context managers from the logging
plugin.
2017-12-07 16:34:53 +01:00
Henk-Jaap Wagenaar
b62fd79c0c
Fix issue 2985.
2017-12-07 15:12:44 +00:00
Bruno Oliveira
655146e522
Merge remote-tracking branch 'upstream/master' into features
2017-12-05 22:30:35 -02:00