Bruno Oliveira
438ea86137
Fix flaky test_timing_function in Windows
...
This tests fails consistently on Windows due to small time
difference:
> assert float(val) >= 0.03
E assert 0.0299999713898 >= 0.03
E + where 0.0299999713898 = float('0.0299999713898')
Windows time.time() function is not as accurate as linux's,
so relaxed the test a bit.
2015-07-04 15:05:45 -03:00
Bruno Oliveira
d10054a38d
Merge branch 'esiegerman/summary_colors' of github.com:esiegerman/pytest
2015-07-03 18:29:17 -03:00
Kevin Cox
7fa27af408
Add `file` and `line` attributes to junit-xml output.
...
This adds the `file` and `line` attributes to the junit-xml output
which can be used by tooling to identify where tests come from. This can be
used for many things such as IDEs jumping to failures and test
runners evenly balancing tests among multiple executors.
Update test_junitxml.py
Foo.
2015-07-02 18:41:52 -04:00
Eric Siegerman
afcad74be8
PEP8ify parametrized-test parameters
2015-07-02 13:39:05 -04:00
Eric Siegerman
6c395cb58c
Default color is now yellow
...
Passing tests override that default, making the color green; but several other
"boring" statuses (xfailed, xpassed, deselected, skipped) have no effect.
Net effect: if only "boring" tests are seen, or no tests at all, the summary
bar is yellow.
2015-07-02 13:39:05 -04:00
Eric Siegerman
044d874c5b
If there are warnings, make the status bar yellow
...
Also if we see any statuses the code doesn't know about.
2015-07-02 13:39:05 -04:00
Eric Siegerman
e07144aeb4
Add tests for the empty-key special case
2015-07-02 13:39:05 -04:00
Eric Siegerman
7993afae46
test_summary_stats() now prints its parameter values
...
This makes it easier to identify failing tests.
2015-07-02 13:39:05 -04:00
Eric Siegerman
bfc3e48fd5
Factor out build_summary_stats_line(), and add tests
...
--HG--
branch : esiegerman/summary_colors
2015-07-02 13:39:04 -04:00
Bruno Oliveira
9fb1637ce2
Test that deprecated_call keeps internal warnings structures intact
2015-06-26 00:26:59 -03:00
Pieter Mulder
444cdfe6e3
Correct test_deprecated_call_preserves test.
...
Test if we preserve the correct functions.
2015-06-25 17:33:40 +02:00
Bruno Oliveira
3c2fd833ca
Reintroduce get_plugin_manager() for backward-compatibility
...
PyCharm pytest runner depends on this function existing (see #787 ).
Added reference to get_plugin_manager() and PluginManager/PytestPluginManager to docs
2015-06-25 00:48:47 -03:00
holger krekel (rather uses bitbucket/hpk42)
08613b621e
Merge pull request #799 from pytest-dev/noconftest
...
Add a --noconftest option.
2015-06-23 16:53:22 +02:00
holger krekel
ee40ea5f6d
Merge branch 'pytest-2.7'
...
Conflicts:
AUTHORS
_pytest/__init__.py
setup.py
testing/conftest.py
tox.ini
2015-06-23 16:49:05 +02:00
holger krekel
e84c00efae
finish pytest-2.7.2 release
2015-06-23 16:31:24 +02:00
Florian Bruhin
01d067ec2b
Check conftest.py is not loaded with --confcutdir.
...
The test creates a conftest.py with "assert 0" which never should be loaded.
However, if it were loaded, the test would still pass as it never checks if it
was loaded or not.
See #799 .
2015-06-23 10:12:30 +02:00
Florian Bruhin
8664fc4102
Add a --noconftest option.
2015-06-23 09:38:54 +02:00
holger krekel (rather uses bitbucket/hpk42)
080dfb9841
Merge pull request #788 from pytest-dev/issue-767
...
Fix issue where pytest.raises() doesn't always return Exception instance in py26
2015-06-19 13:41:44 +02:00
Edison Gustavo Muenz
48d91def7e
Added workaround to still show the diff on containers with unsortable elements.
...
fix issue #718
2015-06-19 07:51:59 -03:00
Bruno Oliveira
eb73db56c7
Fix issue where pytest.raises() doesn't always return Exception instance in py26
...
Fixes #767
2015-06-19 07:46:47 -03:00
holger krekel
13c01193d6
Merge remote-tracking branch 'origin/pytest-2.7'
2015-06-19 10:03:37 +02:00
Bruno Oliveira
f90b2f845c
unittest.SkipTest now reports original function location
...
Fix #748
2015-06-18 22:27:43 -03:00
Bruno Oliveira
9d4e0365da
Skipif marker report now refers to the skipped function
...
Fix #114
2015-06-18 21:59:44 -03:00
Anatoly Bubenkov
4d6fef36f4
Merge branch 'pytest-2.7'
2015-06-17 13:42:41 +02:00
Bruno Oliveira
af77a23501
Add docs for new tests
2015-06-17 00:04:25 -03:00
Bruno Oliveira
2a1424e563
Merge branch 'pytest-2.7' of github.com:curzona/pytest into pytest-2.7
...
Conflicts:
AUTHORS
CHANGELOG
2015-06-17 00:02:26 -03:00
curzona
9346e18d8c
Test creating directory for junit-xml and resultlog
2015-06-16 19:30:43 -07:00
Punyashloka Biswal
0c05b906d4
backport fix for #713
2015-06-16 21:27:22 -03:00
Bruno Oliveira
a0da7b9774
Mention issue 713 in the test's docstring
2015-06-16 20:42:49 -03:00
Punyashloka Biswal
0b0406fa85
Handle reports that don't have a reprcrash
...
Closes #713 (which happens because ReprFailDoctest
doesn't have a reprcrash)
2015-06-16 18:53:20 -04:00
Bruno Oliveira
b40f760cc3
Change links from bitbucket to GitHub
2015-06-15 18:28:31 -03:00
Ronny Pfannschmidt
8ee73e028f
Merged in jpvanhal/pytest/include-setup-teardown-duration-in-junitxml (pull request #287 )
...
Include setup and teardown in junitxml test durations
2015-06-06 11:50:37 +02:00
Florian Bruhin
ff8d787cd5
Fix monkeypatch.setenv with string and raising=False.
...
Fixes #746 .
2015-05-19 22:59:49 +02:00
holger krekel
d9a44098ce
use new pluggy api (now at 0.3.0) for adding hookcall monitoring
...
and reraise real keyboard interrupts during inline pytest runs
to allow for better stopping of the pytest tests.
--HG--
branch : plug30
2015-05-07 11:02:55 +02:00
holger krekel
bddc88f09e
adapt to pluggy naming, rename pytest.hookspec_opts to pytest.hookspec,s ame with hookimpl_opts
...
--HG--
branch : pluggy1
2015-05-06 10:08:08 +02:00
holger krekel
23538bcd31
- some more adaptation to most recent pluggy API
...
- avoid using pluggin underscore api
- show pluggy version in header
--HG--
branch : pluggy1
2015-05-05 21:53:04 +02:00
holger krekel
a4f2236b36
merge default
...
--HG--
branch : pluggy1
2015-05-05 14:52:16 +02:00
Janne Vanhala
93628fc0eb
Include setup and teardown in junitxml test durations
...
--HG--
branch : include-setup-teardown-duration-in-junitxml
2015-05-01 14:55:52 +03:00
Floris Bruynooghe
aa2ffb9805
Merge fix for issue 731 from pytest-2.7
2015-04-30 21:13:03 +01:00
Floris Bruynooghe
7f554f50e3
Fix collapse false to look at unescaped braces only
...
Sometimes the repr of an object can contain the "\n{" sequence which is
used as a formatting language, so they are escaped to "\\n{". But the
collapse-false code needs to look for the real "\n{" token instead of
simply "{" as otherwise it may get unbalanced braces from the object's
repr (sometimes caused by the collapsing of long reprs by saferepr).
Fixes issue #731 .
--HG--
branch : pytest-2.7
2015-04-30 02:31:12 +01:00
holger krekel
25963e0544
adapt pytest to pluggy's decoratorclass branch
...
--HG--
branch : pluggy1
2015-04-29 16:40:52 +02:00
holger krekel
5ee7ee0850
adapt pytest to using pluggy (current master)
...
--HG--
branch : pluggy1
2015-04-29 16:40:51 +02:00
holger krekel
9aec5cd52d
use runpytest() instead of runpytest_inprocess if a test can run as subprocess as well
...
--HG--
branch : testrefactor
2015-04-28 12:05:08 +02:00
holger krekel
db5649ec6a
streamline pytester API majorly:
...
- integrate conftest into pytester plugin
- introduce runpytest() to either call runpytest_inline (default) or
runpytest_subprocess (python -m pytest)
- move testdir.inline_runsource1 to pdb tests
- strike some unneccessary methods.
- a new section "writing plugins" and some better pytester docs
--HG--
branch : testrefactor
2015-04-28 11:54:53 +02:00
holger krekel
a8afba054a
- refine lsof checking
...
- make runpytest() create an inline testing process instead of
a subprocess one
--HG--
branch : testrefactor
2015-04-28 11:54:46 +02:00
holger krekel
d3e363b97a
- make API between runpytest() and inline_run() more similar
...
- shift a number of tests to become inline_run() tests
--HG--
branch : testrefactor
2015-04-28 11:54:45 +02:00
holger krekel
424e5d1394
make test suite more tolerable against xdist causing warnings itself (which it does
...
currently)
--HG--
branch : plugtestfix
2015-04-27 15:06:47 +02:00
holger krekel
b2d66b9e7b
simplify load_setuptools_entrypoints and refine comments/docstrings
...
--HG--
branch : more_plugin
2015-04-27 14:10:33 +02:00
holger krekel
c54afbe42e
deprecate and warn about __multicall__ usage in hooks, refine docs about hook ordering,
...
make hookwrappers respect tryfirst/trylast
--HG--
branch : more_plugin
2015-04-27 12:50:34 +02:00
holger krekel
8e009ee31c
move consider_setuptools_entrypoints to core pluginmanager
...
--HG--
branch : more_plugin
2015-04-26 00:41:29 +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
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
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
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
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
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
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
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
holger krekel
0b361c62c8
Merged in getsourcelines-error-issue-553-pytest2.7 (pull request #273 )
...
Handle inspect.getsourcelines failures in FixtureLookupError
--HG--
branch : pytest-2.7
2015-04-17 22:31:55 +02:00
holger krekel
5c8e5acf9d
change test module importing behaviour to append to sys.path
...
instead of prepending. This better allows to run test modules
against installated versions of a package even if the package
under test has the same import root. In this example::
testing/__init__.py
testing/test_pkg_under_test.py
pkg_under_test/
the tests will preferrably run against the installed version
of pkg_under_test whereas before they would always pick
up the local version.
--HG--
branch : prefer_installed
2015-04-17 22:25:35 +02:00
holger krekel
e04273df57
fixed regression to 2.6.4 which surfaced e.g. in lost stdout capture printing
...
when tests raised SystemExit.
--HG--
branch : systemexit
2015-04-17 11:47:29 +02:00
Bruno Oliveira
15328c04eb
Handle inspect.getsourcelines failures in FixtureLookupError
...
Fixes #553
--HG--
branch : getsourcelines-error-issue-553-pytest2.7
2015-04-15 19:31:22 -03:00
holger krekel
3ed3e51997
fix issue660: properly report fixture scope mismatches independent
...
from fixture argument ordering.
--HG--
branch : issue660
2015-04-01 18:42:48 +02:00
holger krekel
d2a8866bce
bump verrsion to python2.7, fix a too precise test for windows, regen docs
2015-03-26 09:34:10 +01:00
Anatoly Bubenkov
d94a29e866
merge almarklein/default
2015-03-23 21:25:10 +01:00
Anatoly Bubenkov
ce95437dee
merge with default
...
--HG--
branch : issue463
2015-03-23 20:41:27 +01:00
Brianna Laugher
43e4fcf6dd
Raise specific MarkerError rather than generic ValueError
...
--HG--
branch : issue463
2015-03-23 20:01:58 +01:00
holger krekel
f3580bee2d
fix issue435: make reload() work when assert rewriting is active.
...
Thanks Daniel Hahler.
2015-03-23 10:08:47 +01:00
Brianna Laugher
ac17f20d98
#463
...
Raise a ValueError early if user misspells 'parametrize' as 'parameterize'.
--HG--
branch : issue463
2015-03-21 23:06:25 +01:00
Almar Klein
a9b7de8bf0
address reviewer comments
2015-03-21 17:26:23 +01:00
Almar Klein
0fc75c9622
Storing sys.last_traceback: test, docs and changelog
2015-03-21 17:06:24 +01:00
Bruno Oliveira
eead0365b5
Merged in parametrized-fixture-override (pull request #257 )
...
allow to override parametrized fixtures with non-parametrized ones and vice versa
2015-03-12 09:40:56 -03:00
Daniel Hahler
5d6b0a59c0
Strip docstrings in output with `--fixtures`
...
Fixes https://bitbucket.org/pytest-dev/pytest/issue/550 .
--HG--
branch : strip-docstrings-from-fixtures
2015-03-04 17:00:24 +01:00
Daniel Hahler
c629f6b18b
Fix `reload()` with modules handled via `python_files`
...
If a module exists in `sys.modules` already, `load_module` has to return it.
Fixes https://bitbucket.org/pytest-dev/pytest/issue/435
--HG--
branch : fix-reload
2015-03-04 16:21:27 +01:00
Anatoly Bubenkov
d083153548
fix typo
...
--HG--
branch : parametrized-fixture-override
2015-03-02 20:18:06 +01:00
Ronny Pfannschmidt
41e6b04f0b
Merged in eks/pytest/issue616 (pull request #258 )
...
Add comments
2015-03-02 14:38:10 +01:00
Eric Siegerman
97d5da5c99
Add comments
...
--HG--
branch : issue616
2015-03-01 17:32:00 -05:00
Anatoly Bubenkov
c4623939af
support override of the parametrized fixture on the test level
...
--HG--
branch : parametrized-fixture-override
2015-03-01 15:15:37 +01:00
Anatoly Bubenkov
060609317a
allow to override parametrized fixtures with non-parametrized ones and vice versa
...
--HG--
branch : parametrized-fixture-override
2015-03-01 13:54:43 +01:00