holger krekel
0c961deeaa
fix some doc strings
...
--HG--
branch : more_plugin
2015-04-26 00:22:34 +02:00
holger krekel
32165d82b1
introduce a new subset_hook_caller instead of remove make_hook_caller
...
and adapat and refine conftest/global plugin management accordingly
--HG--
branch : more_plugin
2015-04-26 00:10:52 +02:00
holger krekel
d422247433
specialize make_hook_caller to work with a subset of the registered plugins.
...
--HG--
branch : more_plugin
2015-04-25 22:13:42 +02:00
holger krekel
a042c57227
ensure proper get_name references
...
--HG--
branch : more_plugin
2015-04-25 20:42:41 +02:00
holger krekel
3a1374e69c
simplify plugins bookkeeping further, refine API
...
--HG--
branch : more_plugin
2015-04-25 20:17:32 +02:00
holger krekel
1c0582eaa7
simplify addition of method and scanning of plugins
...
--HG--
branch : more_plugin
2015-04-25 18:15:42 +02:00
holger krekel
1e883f5979
simplify tracing mechanics by simply going through an indirection
...
--HG--
branch : more_plugin
2015-04-25 18:15:39 +02:00
holger krekel
9c5495832c
avoid direct circular reference between config and pluginmanager
...
--HG--
branch : more_plugin
2015-04-25 18:14:41 +02:00
holger krekel
7364647f2f
fix issue732: make sure removed plugins remove all hook callers.
...
--HG--
branch : more_plugin
2015-04-25 18:14:39 +02:00
holger krekel
4e116ed503
make pytest_plugin_registered a historic hook
...
--HG--
branch : more_plugin
2015-04-25 13:38:30 +02:00
holger krekel
e7a2e53108
Streamline data structures
...
--HG--
branch : more_plugin
2015-04-25 13:38:29 +02:00
holger krekel
2f8a1aed6e
properly perform hook calls with extra methods
...
--HG--
branch : more_plugin
2015-04-25 11:29:11 +02:00
holger krekel
a63585dcab
introduce historic hook spec which will memorize calls to a hook
...
in order to call them on later registered plugins
--HG--
branch : more_plugin
2015-04-25 11:29:11 +02:00
holger krekel
ea50ef1588
split plugin documentation into "using" and "writing plugins",
...
referencing each other. Also add tryfirst/trylast examples.
--HG--
branch : more_plugin
2015-04-25 11:29:11 +02:00
holger krekel
d2a5c7f99b
add documented hookimpl_opts and hookspec_opts decorators
...
so that one doesn't have to use pytest.mark or function-attribute setting anymore
--HG--
branch : more_plugin
2015-04-25 11:29:11 +02:00
holger krekel
bbbb6dc2e3
remove _do_register indirection between PluginManager and PytestPluginManager
...
--HG--
branch : more_plugin
2015-04-25 11:29:11 +02:00
holger krekel
f41528433b
also incrementally remove plugins from hook callers
...
--HG--
branch : more_plugin
2015-04-25 11:29:11 +02:00
holger krekel
02a4042dca
incrementally update hook call lists instead of regenerating the whole
...
list on each registered plugin
--HG--
branch : more_plugin
2015-04-25 11:29:11 +02:00
holger krekel
b03c1342ac
allow to register plugins with hooks that are only added later
...
--HG--
branch : more_plugin
2015-04-25 11:29:11 +02:00
holger krekel
d8e91d9fee
Merged in hpk42/pytest-patches/plugin_no_pytest (pull request #278 )
...
Refactor pluginmanagement
2015-04-25 09:08:21 +02:00
Bruno Oliveira
a4ddec1157
Remove duplicated step in CONTRIBUTING
...
--HG--
branch : contributing-fix
2015-04-25 00:48:11 -03:00
holger krekel
9020bf48b7
remove useless check
...
--HG--
branch : plugin_no_pytest
2015-04-24 14:09:57 +02:00
holger krekel
237ac8562f
minimize HookCaller attributes: avoid passing in hookrelay to HookCallers
...
--HG--
branch : plugin_no_pytest
2015-04-24 13:02:49 +02:00
holger krekel
feb4b2249a
remove some redundancy when parsing import spec
...
--HG--
branch : plugin_no_pytest
2015-04-23 13:15:34 +02:00
holger krekel
95dd2eb1da
streamline and document handling of builtin module special casing.
...
--HG--
branch : plugin_no_pytest
2015-04-23 12:39:11 +02:00
holger krekel
8fde2f98ae
merge default
...
--HG--
branch : plugin_no_pytest
2015-04-23 12:35:15 +02:00
holger krekel
2b80caf1af
merge cxfreeze fix
2015-04-23 12:07:12 +02:00
holger krekel
b4a655af52
Merged in nicoddemus/pytest/cx_freeze_ubuntu (pull request #280 )
...
Fix py27-cxfreeze tox environment
--HG--
branch : pytest-2.7
2015-04-23 12:03:14 +02:00
Floris Bruynooghe
e450218daa
Merge _pytest fixture reintroduction from pytest-2.7 branch
...
This was accidentally removed while some plugins depend on it.
2015-04-23 00:55:58 +01:00
Floris Bruynooghe
0cc9d7e6b6
Merged in hpk42/pytest-patches/reintroduce_pytest_fixture (pull request #279 )
...
reintroduced _pytest fixture of the pytester plugin
--HG--
branch : pytest-2.7
2015-04-23 00:52:13 +01:00
Bruno Oliveira
6fe5493c3c
Fix py27-cxfreeze tox environment
...
Use a custom script to install a patched version of cx_freeze,
as required in Ubuntu 14.04 systems
--HG--
branch : cx_freeze_ubuntu
2015-04-22 19:46:06 -03:00
holger krekel
a3aebfaefe
accomodate Floris' comments. (The reason was i just reinstanted the old code :)
...
--HG--
branch : reintroduce_pytest_fixture
2015-04-22 21:04:36 +02:00
holger krekel
9d5182eaad
reintroduced _pytest fixture of the pytester plugin which is used
...
at least by pytest-xdist.
--HG--
branch : reintroduce_pytest_fixture
2015-04-22 17:06:00 +02:00
holger krekel
27589eb7e1
reshuffle pluginmanager methods and add some docstrings.
...
--HG--
branch : plugin_no_pytest
2015-04-22 16:42:41 +02:00
holger krekel
d5db9faba8
shuffle PluginManager method order to first have the public API
...
and then the internal.
--HG--
branch : plugin_no_pytest
2015-04-22 16:34:42 +02:00
holger krekel
715a235b45
remove shutdown logic from PluginManager and add a add_cleanup() API
...
for the already existing cleanup logic of the config object.
This simplifies lifecycle management as we don't keep two
layers of shutdown functions and also simplifies the pluginmanager
interface.
also add some docstrings.
--HG--
branch : plugin_no_pytest
2015-04-22 16:33:20 +02:00
holger krekel
f746c190ac
slight cleanup of plugin register() functionality
...
--HG--
branch : plugin_no_pytest
2015-04-22 14:54:28 +02:00
holger krekel
d632a0d5c2
merge conftest management into PytestPluginManager
...
--HG--
branch : plugin_no_pytest
2015-04-22 14:15:42 +02:00
holger krekel
894d7dca22
avoid undocumented special casing of "pytest_" prefix
...
--HG--
branch : plugin_no_pytest
2015-04-22 13:44:37 +02:00
holger krekel
20d6c0b560
simplify exception capturing
...
--HG--
branch : plugin_no_pytest
2015-04-22 13:37:42 +02:00
holger krekel
c08dfdc330
move bookkeeping of conftest plugins in core pluginmanager to PytestPluginManager
...
--HG--
branch : plugin_no_pytest
2015-04-22 13:33:01 +02:00
holger krekel
7049ebe4e2
avoid prepend to register api as it's redundant wrt to hooks
...
--HG--
branch : plugin_no_pytest
2015-04-22 13:31:46 +02:00
holger krekel
1ef49ac5ab
minimize HookRelay to become a pure container, refactor initialization and
...
tests of plugin management to be a bit better split between pytest
and pytest-independent bits
--HG--
branch : plugin_no_pytest
2015-04-22 13:31:46 +02:00
holger krekel
db650de372
remove redundant py check as our setup.py excludes py <=1.4 already
...
--HG--
branch : plugin_no_pytest
2015-04-22 10:04:13 +02:00
Floris Bruynooghe
d9885388d0
Merge pull request #277 from pytest-2.7 branch
...
This removes the drone.io badge from the README as it doesn't make
sense to have it on the cheeseshop status page.
Fixes issue #726 .
2015-04-21 15:04:08 +01:00
Floris Bruynooghe
a6b5f583a7
Merged in hpk42/pytest-patches/nodrone (pull request #277 )
...
strike drone badge as it doesn't make sense on PYPI (where the README is rendered)
--HG--
branch : pytest-2.7
2015-04-21 15:01:42 +01:00
holger krekel
cfe9c9c169
strike drone badge as it doesn't make sense on PYPI (where the README is rendered)
...
--HG--
branch : nodrone
2015-04-21 15:55:48 +02:00
Floris Bruynooghe
240cd1f28d
Merge cleaning of sys.modules after pytester.inline_run()
...
Merged in schettino72/pytest/pytester-inline-run-clean-sys-modules
(pull request #278 ).
2015-04-21 11:00:32 +01:00
Floris Bruynooghe
31af381c56
Merged in hpk42/pytest-patches/prefer_installed (pull request #275 )
...
change test module importing behaviour to append to sys.path
2015-04-21 10:47:33 +01:00
Eduardo Schettino
bc0ecd1d06
pytester: add method ``TmpTestdir.delete_loaded_modules()``
...
, and call it from ``inline_run()`` to allow temporary modules to be reloaded.
--HG--
branch : pytester-inline-run-clean-sys-modules
2015-04-21 10:18:04 +08:00