Edoardo Batini
e9a67e6702
Adjust test involving FixtureLookupErrorRepr
...
I added a starting 'E' to the expected error messages.
The tests were still passing after the previous patch but I think it's
better to have stricter tests.
2016-07-23 23:45:07 +02:00
Diego Russo
1704b7d265
Test case for overriding autouse fixtures
...
Test case for overriding autouse fixture with a parametrized fixture.
The test covers the problem explained in the issue 1601
Adding Diego Russo to AUTHORS
2016-07-23 16:53:39 +02:00
JJ
f26fa5a441
changed error message for unused parametrize name
2016-07-23 16:49:20 +02:00
Romain Dorgueil
d5a70acd48
Simplify test in test_doctest_report_none_or_only_first_failure.
2016-07-23 15:58:13 +02:00
Romain Dorgueil
e229a27e8b
using @pytest.mark.parametrize instead of calling one test many times from another as suggested by @nicoddemus in pr #1754
2016-07-23 15:21:59 +02:00
Romain Dorgueil
1a33025a76
Refactors test to be in its own class, as discussed with @nicoddemus.
2016-07-23 15:16:23 +02:00
Romain Dorgueil
fd8e019cc1
Choose the doctest output format in case of failure, still work in progress as a few checks fail (related to #1749 )
2016-07-23 14:40:46 +02:00
Bruno Oliveira
05f3422d7c
Make monkeypatch invocation-scoped
2016-07-20 22:05:49 -03:00
Bruno Oliveira
4f2bf965cb
Merge remote-tracking branch 'upstream/features' into invocation-scoped-fixtures
2016-07-20 21:16:27 -03:00
Bruno Oliveira
6aea164b6d
Add more tests for invocation scoped fixtures
2016-07-20 21:02:36 -03:00
Bruno Oliveira
e0f08a73ab
Merge branch 'features' into conftest-exception-printing
2016-07-20 19:33:36 -03:00
Ronny Pfannschmidt
3fd8257c17
add test for --maxfail=NUM overiding -x
2016-07-20 17:20:10 +02:00
Ronny Pfannschmidt
8a73a2ad60
Merge pull request #1734 from nicoddemus/issue-1728-inconsistent-setup-teardown
...
setup_* and teardown_* functions argument now optional
2016-07-15 14:59:22 +02:00
Bruno Oliveira
ff8fb4950e
setup_* and teardown_* functions argument now optional
...
setup_module, setup_function and setup_method
extra argument are now optional and may be omitted.
Fix #1728
2016-07-14 23:41:40 -03:00
Floris Bruynooghe
d1852a48b7
Remove assertion reinterpretation
...
The assertion reinterpretation is an old backwards compatibility
mode which was no longer being maintained on feature-parity with
the assertion rewriting mode. It was also responsible for some
dubious patching of builtins and test with side-effects would
suddenly start passing. Since re-writing has been the default for
a long time and plugins are now also re-written it is time to
retire reinterpretation.
2016-07-15 00:33:39 +01:00
Bruno Oliveira
3328cd2620
Make assert in test_str_args_deprecated more resilient
...
This attempts to fix CI which broke because of this test.
Other warnings introduced in the future could break
this test.
2016-07-14 18:37:59 -03:00
Bruno Oliveira
350ebc9167
Merge pull request #1730 from RedBeardCode/pytest-1536
...
Added confcutdir in testing/test_conftest.py::test_conftest_import_or…
2016-07-14 17:02:58 -03:00
Floris Bruynooghe
24fbbbef1f
Merge pull request #1641 from flub/rewrite-plugins
...
Rewrite plugins
2016-07-14 19:39:15 +01:00
RedBeardCode
22bb43413f
Added confcutdir in testing/test_conftest.py::test_conftest_import_order and
...
testing/python/fixture.py::TestAutouseManagement::()::
test_class_function_parametrization_finalization to avoid problems with
abandoned conftest.py files in /tmp dir.
Fixes #1536
2016-07-14 18:15:38 +02:00
Floris Bruynooghe
51ee7f8734
Fixup things after rebase
...
Some changes to make things work on top of current features branch.
2016-07-14 12:42:29 +01:00
Bruno Oliveira
ab0b6faa5f
Deprecate support for passing command-line as string to pytest.main()
...
Fixes #1723
2016-07-14 08:11:43 -03:00
Bruno Oliveira
1266ebec83
Merge remote-tracking branch 'upstream/features' into warnings-displayed-by-default
...
# Conflicts:
# CHANGELOG.rst
# testing/test_terminal.py
2016-07-13 18:45:15 -03:00
Daniel Hahler
3cfebdd7c5
funcarg_prefix_warning: remove newline
...
Followup to https://github.com/pytest-dev/pytest/pull/1718 .
2016-07-13 18:33:24 +02:00
Floris Bruynooghe
743f59afb2
Introduce pytest.register_assert_rewrite()
...
Plugins can now explicitly mark modules to be re-written. By default
only the modules containing the plugin entrypoint are re-written.
2016-07-13 17:31:09 +01:00
Floris Bruynooghe
a98e3cefc5
Enable re-writing of setuptools-installed plugins
...
Hook up the PEP 302 import hook very early in pytest startup so
that it gets installed before setuptools-installed plugins are
imported. Also iterate over all installed plugins and mark them
for rewriting. If an installed plugin is already imported then
a warning is issued, we can not break since that might break
existing plugins and the fallback will still be gracefull to
plain asserts.
Some existing tests are failing in this commit because of the new
warning triggered by inline pytest runs due to the hypothesis
plugin already being imported. The tests will be fixed in the next
commit.
2016-07-13 17:29:19 +01:00
Ronny Pfannschmidt
c4f20a1834
Merge pull request #1712 from anntzer/custom-debugger
...
Allow passing a custom Pdb subclass via --pdbcls.
2016-07-12 16:45:07 +02:00
Antony Lee
7ee3dd1cb5
Add tests for custom pdb class.
...
(and edit CHANGELOG)
2016-07-11 20:07:29 -07:00
Bruno Oliveira
458ecae1df
Replace all usages of "pytest_funcarg__" for @pytest.fixture
2016-07-11 22:21:52 -03:00
Bruno Oliveira
ad4125dc0d
Deprecate "pytest_funcarg__" prefix to declare fixtures
...
Fixes #1684
2016-07-11 22:21:50 -03:00
Bruno Oliveira
5506dc700c
Deprecate yield tests
...
Closes #16
Closes #1324
2016-07-11 22:21:49 -03:00
Bruno Oliveira
0dd1c8bf14
Add test to ensure capsys and capfd error out when using "getfixturevalue" inside a test
2016-07-11 20:48:38 -03:00
Bruno Oliveira
0ca06962e9
Improve docs
2016-07-11 20:33:16 -03:00
Bruno Oliveira
fb4da00a32
Merge remote-tracking branch 'upstream/features' into invocation-scoped-fixtures
2016-07-11 20:09:13 -03:00
Bruno Oliveira
8ed055efd8
Add acceptance test for invocation-scoped fixtures
2016-07-09 22:52:07 -03:00
Ronny Pfannschmidt
8c49561470
split most fixture related code into own plugin
2016-07-09 20:36:00 +02:00
Ronny Pfannschmidt
b9a91dc112
merge from master to features
2016-07-06 11:51:48 +02:00
aostr
94e4a2dd67
* implemented changes recommended by nicoddemus
2016-07-05 15:22:27 +02:00
Javier Domingo Cansino
0171cfa30f
Fixing link to issue and creating testcase that shows that it finds the line in the stderr lines
2016-07-05 10:39:12 +01:00
Steffen Allner
b650c3c118
Implement --setup-show cli flag
...
to also be able to see fixture setup with normal test execution.
2016-07-03 22:30:51 +02:00
Ronny Pfannschmidt
1451a1ab00
remove unsupported python versions from code/source xfail
2016-06-30 10:03:40 +02:00
Bruno Oliveira
ccd395ffe0
Merge pull request #1659 from RonnyPfannschmidt/failtest-586
...
xfailing test for #568
2016-06-27 07:38:14 -03:00
Ronny Pfannschmidt
76756c0c0b
mark tests: use better name of the test for #568
2016-06-27 11:57:21 +02:00
Bruno Oliveira
5891061ac1
Merge pull request #1675 from kvas-it/issue-1562
...
Add warning for assertions on tuples #1562
2016-06-26 16:09:15 -03:00
RedBeardCode
0e2ebc96ff
Remove deprecated cmd options
...
Fixes #1657
2016-06-26 19:26:04 +02:00
aostr
1ce4670062
* removed tailing whitespaces
2016-06-26 06:51:57 +02:00
Vasily Kuznetsov
6d4cee2159
Add a test for indirect use of tuple in the assert that should not cause a warning
2016-06-26 02:21:51 +02:00
Vasily Kuznetsov
c17027e576
Warn about asserts on tuples ( fixes #1562 )
2016-06-25 19:21:48 +02:00
aostr
e04d9ff80b
* now showing pytest warnings summary by default.
...
* added ``--disable-pytest-warnings` flag to let users disable the warnings summary.
* extended/changed unit tests for the changes in the pytest core.
2016-06-25 18:16:13 +02:00
RedBeardCode
e2f550156e
Improve of the test output for logical expression with brackets.
...
Fixes #925
2016-06-25 18:10:36 +02:00
Ted Xiao
856e6cab75
add --override-ini option to overrides ini values
...
Signed-off-by: Ted Xiao <xiao.xj@gmail.com>
2016-06-25 23:45:32 +08:00
holger krekel
13a188fe37
Merge pull request #1647 from sallner/features
...
Add new options to report fixture setup and teardown
2016-06-25 16:38:37 +02:00
Ronny Pfannschmidt
95b83958f4
add xfailing test for issue #568
2016-06-25 15:49:23 +02:00
Bruno Oliveira
c519b9517a
Merge pull request #1663 from aostr/master
...
Rename the default plugin "pdb" into "debugging"
2016-06-25 09:56:54 -03:00
Bruno Oliveira
df17f862fa
Merge pull request #1648 from blueyed/simplify-Argument-__repr__
...
Simplify Argument.__repr__
2016-06-25 09:26:50 -03:00
aostr
9a5224e2f8
Renamed the pdb module and changed unit tests accordingly
2016-06-25 12:37:31 +02:00
Danielle Jenkins
9877bf47e3
Improve commenting for setupplan unittest.
2016-06-25 12:21:31 +02:00
Florian Bruhin
757f37f445
Don't ignore ImportError with setuptools plugins
...
This was added in b2d66b9e7b
but is a bad
idea. When a plugin can't be imported, commandline options (optionally
set in pytest.ini) could be undefined, which means pytest bails out
much earlier before showing the warning, which is hard to debug.
Fixes #1479 , also see #1307 and #1497
2016-06-25 09:56:22 +02:00
Daniel Hahler
939407ef63
Simplify Argument.__repr__
...
I have came across this when noticing that universal-ctags fails to parse
this correctly (https://github.com/universal-ctags/ctags/issues/997 ).
2016-06-25 09:31:31 +02:00
Omar Kohl
d81f23009b
Raise CollectError if pytest.skip() is called during collection
...
pytest.skip() must not be used at module level because it can easily be
misunderstood and used as a decorator instead of pytest.mark.skip, causing the
whole module to be skipped instead of just the test being decorated.
This is unexpected for users used to the @unittest.skip decorator and therefore
it is best to bail out with a clean error when it happens.
The pytest equivalent of @unittest.skip is @pytest.mark.skip .
Adapt existing tests that were actually relying on this behaviour and add a
test that explicitly test that collection fails.
fix #607
2016-06-24 20:56:21 +02:00
Tom Viner
77689eb486
Fixes #1503 no longer collapse false explanations
2016-06-24 15:35:24 +02:00
Tom Viner
df9918eda3
issue1625, name getfuncargvalue to getfixturevalue
2016-06-24 10:08:19 +02:00
Vasily Kuznetsov
c6af737d4e
Fix fixture parameter display when ids is a function
2016-06-23 10:54:22 +02:00
Vasily Kuznetsov
1a5e530b98
Fix capturing with --setup-only/--setup-plan
2016-06-23 10:23:04 +02:00
Florian Bruhin
6359e75ff8
Trivial spelling fix in runtest_setup.py
2016-06-22 20:18:00 +02:00
Stefan Zimmermann
69bab4ab04
added check for already existing option names to OptionGroup.addoption()
2016-06-22 18:01:35 +02:00
Steffen Allner
dd97a2e7c8
Merge from upstream
2016-06-22 17:51:48 +02:00
Vasily Kuznetsov
f7d50dfa91
Add a test for handling of dynamic requests for fixtures from other fixtures
2016-06-22 17:24:55 +02:00
Vasily Kuznetsov
61992b4e22
Implement --setup-plan option
2016-06-22 16:45:36 +02:00
Ronny Pfannschmidt
18ef7de96b
merge from master again
2016-06-22 16:03:52 +02:00
Ronny Pfannschmidt
e96cd51a2a
Merge remote-tracking branch 'upstream/features' into merge-master
2016-06-22 16:03:00 +02:00
Ronny Pfannschmidt
f7585c7549
Merge pull request #1635 from Avira/master
...
Add test for change in pull request #1631
2016-06-22 15:49:09 +02:00
Ronny Pfannschmidt
083f64100d
merge master into features
2016-06-22 14:39:33 +02:00
Oliver Bestwalter
db79ed5c4d
Add tests to make sure expected entry points exist ( #1629 )
2016-06-22 14:28:53 +02:00
Vasily Kuznetsov
1a75139f72
Fix the tests
2016-06-22 13:25:46 +02:00
Steffen Allner
7d19f83982
Add test for setuponly option
2016-06-22 12:00:45 +02:00
Oliver Bestwalter
7d87a1b127
Add test for failing assertion
...
Should contain function name that caused the failure (see pull request #1631 ).
2016-06-22 11:23:50 +02:00
Tom Viner
98adf204b2
issue 1553: Include terminal newlines in diffs
2016-06-22 09:50:15 +02:00
Bruno Oliveira
c3ee1c17bc
Merge pull request #1620 from tomviner/issue460/parameterized-subrequest
...
Issue 460: Fail on getfuncargvalue(<fixture with params>)
2016-06-21 13:43:06 -03:00
Bruno Oliveira
4350f499b2
Merge branch 'issue1629' of https://github.com/davehunt/pytest into features
2016-06-21 18:37:14 +02:00
Bruno Oliveira
573866bfad
Merge remote-tracking branch 'upstream/features' into issue-1619-conftest-assert-rewrite
2016-06-21 18:10:19 +02:00
Dave Hunt
ef9dd14963
Introduce pytest command as recommended entry point
...
Fixes #1629
2016-06-21 16:16:57 +02:00
Omar Kohl
ede7478dcc
Exit pytest on collection error (without executing tests)
...
Add --continue-on-collection-errors option to restore the previous behaviour:
Execute tests (that were successfully collected) even when collection errors
happen.
Some tests had to be modified e.g. because the return code changed to 2
(EXIT_INTERRUPTED) instead of 1 (EXIT_TESTSFAILED) because an Interrupted
exception is raised on collection error.
Implemented via pair programming with:
Oleg Pidsadnyi <oleg.pidsadnyi@gmail.com>
closes #1421
2016-06-21 13:32:34 +02:00
Tom Viner
5854a71ece
Issue 460: getfuncargvalue fixture w. params err
2016-06-21 11:29:21 +02:00
Bruno Oliveira
3a81d2e012
conftest files now use assertion rewriting
...
Fix #1619
2016-06-20 23:13:29 +02:00
Daniel Hahler
e9d7989140
Ignore hidden files (.testmondata) in test_pytest_collect_file
...
`test_pytest_collect_file` fails if you run the tests using `--testmon`,
because pytest-testmon will put its DB there as `.testmondata`.
2016-06-20 22:30:36 +02:00
Florian Bruhin
54872e94b4
Fix test name typo
2016-06-20 18:44:34 +02:00
Florian Bruhin
4f2db6c08d
Merge pull request #1616 from palaviv/pytest.raises-message
...
Pytest.raises custom error message
2016-06-20 18:43:12 +02:00
palaviv
ca093673fb
pytest.raises accept cutom message only when used as context manager
2016-06-19 21:24:47 +03:00
Bruno Oliveira
d81ee9acfb
Merge pull request #1597 from taschini/pyargs-fix
...
Ensure that a module within a namespace package can be found by --pyargs
2016-06-19 14:20:52 -03:00
Bruno Oliveira
72bf11cbe9
Add disabled() method to capsys and capfd
...
Fix #1599
2016-06-19 19:14:36 +02:00
palaviv
e6ff01ada3
CR fixes
2016-06-16 21:09:15 +03:00
palaviv
d21886c005
pytest.raises accpets custom message
2016-06-16 20:15:32 +03:00
Greg Price
2a3cbdf4d1
Cut a dead test helper function
...
This appears to have been unused since commit
320835d
"split out pytest-xdist related reporting to the plugin"
in July 2010. It's the only caller outside of _pytest/runner.py
of the `call_and_report` helper function there, so cutting it out
makes that more of a pure helper function and makes it slightly
easier to understand the code in _pytest/runner.py .
2016-06-15 18:26:10 -07:00
Bruno Oliveira
308396ae3c
Merge pull request #1606 from hackebrot/show-fixtures-per-test
...
Show fixtures per test
2016-06-14 09:54:18 -03:00
taschini
4d9e293b4d
Incorporated feedback ( #1597 ).
...
Fixed problem caused in a test on Windows by file left open by PyPy and not immediately garbage collected.
2016-06-14 07:12:40 +02:00
taschini
e2e6e31711
Ensure that a module within a namespace package can be found by --pyargs.
2016-06-14 07:12:40 +02:00
Raphael Pierzina
adc50ac72f
Change format for test function locations
2016-06-12 15:58:32 +01:00
Guyzmo
accd962c9f
Fixed issue shadowing error when missing argument on teardown_method
...
When the method argument is missing on teardown_method, the traceback is
100% internal to pytest, which with default options get pruned. Then
that traceback is empty, leading to a new exception as a traceback shall
not be empty.
This PR fixes that issue by pushing back the last stack on the
traceback, when the stacktrace is empty after pruning. Then the output
is still pruned, but gives meaningful information with the item where it
failed on the stack.
* fixes issue #1604
Signed-off-by: Guyzmo <guyzmo+github@m0g.net>
2016-06-12 03:45:24 +02:00
Raphael Pierzina
b47f155d74
Implement tests for --fixtures-per-test
2016-06-12 00:17:50 +01:00
Bruno Oliveira
d712428d33
Fix custom name for yield_fixtures
2016-06-08 21:07:49 -03:00
Bruno Oliveira
366879db27
Make normal fixtures work with "yield"
2016-06-08 21:07:47 -03:00
marscher
09d163aa3a
[exception handling] Fix case the current working directory (CWD) gets deleted during testing.
...
Fixes #1235 .
2016-06-08 15:18:23 +02:00
Thomas Grainger
74862b8f2f
Don't mark empty doctest files as skipped, fixes #1578
2016-06-01 19:19:14 +01:00
Ronny Pfannschmidt
b5bd4d959d
merge master to features
2016-06-01 08:13:26 +02:00
Raphael Pierzina
fb8ad714b1
Implement a test for showfixtures to show fixtures with same name
2016-05-31 11:47:16 +01:00
Ronny Pfannschmidt
158f3cfaea
merge master
2016-05-31 11:24:53 +02:00
Ronny Pfannschmidt
d217b52508
fix #510 by adding a describing skip marker on empty parameterize
2016-05-30 14:34:38 +02:00
Bruno Oliveira
8c1be624a6
Merge pull request #1554 from RonnyPfannschmidt/merge-master
...
Merge master into features
2016-05-24 11:09:33 -03:00
Bruno Oliveira
5ab5a11544
Merge pull request #1565 from tomviner/issue1544/ignore-build-dist-dirs
...
Issue 1544: norecursedirs build & dist dirs
2016-05-23 19:30:20 -03:00
TomV
d6dfb1a393
issue 1544: norecursedirs build & dist dirs
2016-05-23 21:02:29 +01:00
Ronny Pfannschmidt
85393d34b6
Merge pull request #1561 from AbdealiJK/ajk/1558_feature
...
unittest.UnitTestCase: Allow __test__ for methods
2016-05-19 10:17:28 +02:00
AbdealiJK
d4c9fa9f1a
unittest.UnitTestCase: Allow __test__ for methods
...
__test__ needs to be checked for methods of a class too. Earlier,
this was not done, and all methods in a class was assumed to be
a test. This commit adds the appropriate condition to ensure that
if the __test__ is set to False, it does not collect that method.
Fixes https://github.com/pytest-dev/pytest/issues/1558
2016-05-19 08:19:57 +05:30
Ronny Pfannschmidt
ec5e05834f
fix typo
2016-05-18 21:35:31 +02:00
Ronny Pfannschmidt
eab762ea99
Merge branch 'master' into merge-master
2016-05-13 19:37:41 +02:00
Ronny Pfannschmidt
c49863aa63
merge next chunk from master and fix changelog linting issue
2016-05-13 19:36:47 +02:00
Ronny Pfannschmidt
01d2ff804b
Merge commit '56156bb119194014129ac08c4a2c370f0b893104' into merge-master
2016-05-13 17:55:02 +02:00
John Towler
0d07b64571
Fixes Issue 1549
2016-05-05 11:29:05 -07:00
Ronny Pfannschmidt
98dd2ce75c
document reason for #1540
2016-04-28 16:22:31 +02:00
Ronny Pfannschmidt
308e76e19c
add xfailing test for #1540
2016-04-28 16:11:30 +02:00
Ronny Pfannschmidt
6cc56b4a1b
Merge pull request #1535 from palaviv/parametrize-test-ids-hook
...
introduce pytest_make_parametrize_id hook
2016-04-27 16:16:16 +02:00
palaviv
9733127951
pytest_make_parametrize_id receive config object
2016-04-26 10:23:57 +03:00
Bruno Oliveira
fdee88f086
Merge pull request #1520 from omarkohl/invalid_test_module_name
...
Raise CollectError if import test module fails
2016-04-25 21:42:41 -03:00
palaviv
b9faf78d51
Added test_pytest_make_parametrize_id
2016-04-25 17:48:28 +03:00
Omar Kohl
56855893ca
Raise CollectError if import test module fails
...
One of the reasons for failing to import the test module is invalid Python
identifiers in the full package path of the test module.
fix #1426
2016-04-23 13:50:48 +02:00
Florian Bruhin
75160547f2
Use a callable __tracebackhide__ for filtering
...
While this leads to slightly more complicated user code for the common
case (checking if the exception is of a given type) it's easier to
implement and more flexible.
2016-04-20 11:09:27 +02:00
Florian Bruhin
4c552d4ef7
Fix tests for python 2.6
2016-04-20 10:36:13 +02:00
Florian Bruhin
b607f6728f
Filter selectively with __tracebackhide__
...
When __tracebackhide__ gets set to an exception type or list/tuple of
exception types, only those exceptions get filtered, while the full
traceback is shown if another exception (e.g. a bug in a assertion
helper) happens.
2016-04-20 10:25:33 +02:00
MengJueM
1a37035d71
Add test test_absolute_win32_path
2016-04-20 01:27:37 +08:00
TomV
99c4b6fdc3
issue 1496 - xfail with condition keyword
2016-04-19 18:12:37 +01:00
Martin Prusse
7ce5873da2
Perform a "unicode aware" check for maximum recursion depth error
...
Avoid errors `UnicodeErrosr`s due non maximum recursion depth errors
when checking for those errors.
2016-04-08 23:32:18 -03:00
Ronny Pfannschmidt
0f7aeafe7c
Merge pull request #1486 from roolebo/fix-issue-138
...
Fix issue #138 - support chained exceptions
2016-04-03 19:21:57 +02:00
Bruno Oliveira
e3bc6faa2b
Merge pull request #1470 from ceridwen/features
...
Escape both bytes and unicode strings for "ids" in Metafunc.parametrize
2016-04-03 13:48:30 -03:00
Omar Kohl
c578226d43
Implement ExceptionInfo.match() to match regexp on str(exception)
...
This implements similar functionality to
unittest.TestCase.assertRegexpMatches()
closes #372
2016-04-03 11:22:44 +02:00
Ceridwen
23a8e2b469
Add .hypothesis to .gitignore and try an older version of Hypothesis for 2.6
2016-04-02 11:47:37 -04:00
Ceridwen
491b30c5d9
Add Hypothesis test for _idval and fix bug it found
2016-04-01 22:45:44 -04:00
Ceridwen
b631fc0bc1
Fix test_escaped_parametrized_names_xml
2016-04-01 21:30:45 -04:00
Tyler Goodlet
053c052190
Always lstrip() keyword expression
2016-04-01 13:10:05 -04:00
Ceridwen
9b438d56e8
Fix a test_unicode_idval_python2 (now test_unicode_idval) and associated string handling on Python 3
2016-04-01 12:27:17 -04:00
palaviv
b8c15a0215
improved idmaker name selection in case of duplicate ids
2016-03-23 00:20:58 +02:00
Quentin Pradet
653a53226a
Add strict parameter to xfail marker doc
2016-03-22 16:01:51 +04:00
Quentin Pradet
1fbd19b8cb
Fix pytest.mark.skip mark when used in strict mode
2016-03-22 15:40:34 +04:00
palaviv
7885e43b78
Merge remote-tracking branch 'upstream/features' into allow-none-as-parametrized-test-id
2016-03-20 18:57:17 +02:00
Roman Bolshakov
a736e26734
Merge remote-tracking branch 'pytest-dev/master' into fix-issue-138
2016-03-20 01:04:22 +03:00
Roman Bolshakov
fbc5ba08d9
Fix issue #138
2016-03-20 01:02:17 +03:00
palaviv
4b0237c8ee
added test for unique names when recievieng identical ids in parametrize
2016-03-19 21:42:47 +02:00
palaviv
877ca5a0bf
added test for None in paramtrized ids list
2016-03-19 21:38:24 +02:00
palaviv
a8cfd54871
added test for None in idmaker
2016-03-19 21:23:49 +02:00
Bruno Oliveira
5fcce8a7d6
Merge branch 'master' into merge-master-into-features
2016-03-18 18:26:56 -03:00
Tareq Alayan
fa6acdcfd4
junitxml: add properties node in testsuite level
...
The commit allow users to add a properties node in testsuite level see
example below:
<testsuite errors="0" failures="0" name="pytest" skips="1" tests="1"
time="11.824">
<properties>
<property name="ARCH" value="PPC"/>
<property name="OS" value="RHEL 7.2"/>
<property name="TestPlanURL" value="https://url .."/>
<property name="Automated" value="True"/>
</properties>
<testcase classname="git.....>
</testcase>
</testsuite>
The current situation is that properties node can be added to every
testcase node. However, sometimes we need some global properties that
applies to all testcases and give better description for the testsuite
itself.
2016-03-16 13:24:33 +02:00
Kale Kundert
5ceee08590
Fix CHANGELOG merge conflicts.
2016-03-14 11:55:50 -07:00
palaviv
1ee3d40dbe
allow parametrized nodes to be specified from command line
2016-03-13 23:37:21 +02:00
Kale Kundert
916c0a8b36
Fix Decimal() and __ne__() errors.
2016-03-11 16:29:18 -08:00
Kale Kundert
42a7e0488d
Properly handle inf, nan, and built-in numeric types.
...
This commit also:
- Dramatically increases the number of unit tests , mostly by borrowing
from the standard library's unit tests for math.isclose().
- Refactors approx() into two classes, one of which handles comparing
individual numbers (ApproxNonIterable) and another which uses the
first to compare individual numbers or sequences of numbers.
2016-03-11 08:49:26 -08:00
Ronny Pfannschmidt
4636bf6160
Merge pull request #1391 from malinoff/issue1342
...
LastFailed now creates .cache only when needed. Fixes #1342
2016-03-11 11:18:50 +01:00
Mike Lundy
9577120592
Allow custom fixture names for fixtures
...
When defining a fixture in the same module as where it is used, the
function argument shadows the fixture name, which a) annoys pylint and
b) can lead to bugs where you forget to request a fixture into a test
method.
This allows one to define fixtures with a different name than the name
of the function, bypassing that problem.
2016-03-09 14:58:54 -08:00
Bruno Oliveira
7a186df271
Improve error message when a plugin fails to import
2016-03-08 19:18:13 -03:00
Kale Kundert
bf97d5b817
Use the plus/minus unicode symbol in the repr string.
...
This was a challenge because it had to work in python2 and python3,
which have almost opposite unicode models, and I couldn't use the six
library. I'm also not sure the solution I found would work in python3
before python3.3, because I use the u'' string prefix which I think was
initially not part of python3.
2016-03-07 16:40:41 -08:00
Kale Kundert
dd28e28b34
Make a few stylistic improvements.
2016-03-07 10:10:54 -08:00
Kale Kundert
6f5e1e386a
Add a convenient and correct way to compare floats.
2016-03-07 10:10:54 -08:00
Ronny Pfannschmidt
6d4b14d7ee
Merge pull request #1438 from Bachmann1234/issue-1437
...
Make a good faith effort to display a bytestring when one is provided…
2016-03-06 06:48:32 +01:00
Ronny Pfannschmidt
fd0010e6e9
Merge pull request #1439 from pytest-dev/fix-1178
...
Support pytest.fail with non-ascii characters
Fixes #1178
2016-03-06 06:42:35 +01:00
Matt Bachmann
8ce32b0795
When a regex pattern contains bytes instead of a string use escape_encode to turn it into a string before further processing. Thanks @nicoddemus for the review and tips!
2016-03-05 21:04:34 -05:00
Bruno Oliveira
5d4703852e
Add test when using native strings with non-ascii chars
2016-03-05 19:34:15 -03:00
Bruno Oliveira
d8403d793f
Fix decoding issue while formatting SyntaxErrors during collection
...
This happens only in Python 2, as in Python 3 we receive
the "badline" in the exception is already properly encoded
Fix #578
2016-03-05 16:58:50 -03:00
Bruno Oliveira
24d3e01548
pytest.fail with non-ascii characters raises an internal pytest error
...
Fix #1178
2016-03-05 16:09:01 -03:00
TomV
3d2b7aeea5
issue469: junit parsing nodeid, add method test
2016-03-03 09:12:56 +00:00
TomV
28530836c9
issue469: add fix junit double colon split issue
2016-03-02 22:18:57 +00:00
Matt Williams
891e029518
Add a new doctest_namespace fixture
...
This fixture can be used to inject names into the namespace in which
your doctests run.
2016-03-02 12:43:57 +00:00
Lukas Bednar
7e758a9dc6
junit: allow multiple properties with same name
...
It might happen that test can be affected by two or more bugs.
I need to be able to track them all.
2016-02-29 16:00:26 +01:00
Florian Bruhin
c9927bb66f
Merge pull request #1414 from rygwdn/indexerror
...
catch IndexError exceptions when getting exception source location
2016-02-26 18:53:10 +01:00
Ryan Wooden
d98d655094
Simplify IndexError test.
2016-02-26 08:25:49 -04:00
Anatoly Bubenkov
cf9a09e988
catch IndexError exceptions when getting exception source location
2016-02-26 08:18:12 -04:00
Bruno Oliveira
d9ede1bac2
Add test for unconditional skip with reason
2016-02-25 20:02:34 -03:00
Bruno Oliveira
5f90907509
Fix skip/xfail markers in parametrized arguments
...
Fix #1412
2016-02-25 19:13:09 -03:00
Bruno Oliveira
96a331e32f
Display collect progress only when in a terminal
...
Fix #1397
2016-02-20 14:38:30 -02:00
Dmitry Malinovsky
e4d361b093
LastFailed now creates .cache only when needed. Fixes #1342
2016-02-16 11:42:04 +06:00
Bruno Oliveira
0eeb466f11
Fix strict xfail: it should behave exactly like xfail when a test fails
2016-02-15 19:18:48 -02:00
Bruno Oliveira
ee88679c54
Fix bug in strict xfail: test was not being actually called
2016-02-15 18:43:45 -02:00
Bruno Oliveira
7823838e69
Add strict option to xfail, making tests which XPASS to actually fail the suite
...
Fix #1355
2016-02-14 20:52:27 -02:00
Bruno Oliveira
a965386b9e
Add bool type to addini
2016-02-14 20:52:27 -02:00
Marcin Biernat
1b431d6644
fix formatting utf-8 error explanation
2016-02-12 20:28:06 +01:00
Ronny Pfannschmidt
bfa2fadac1
fix issue #1366 by showing a note on the --fulltrace option
2016-02-10 20:27:50 +01:00
Bruno Oliveira
51694b8295
Merge branch 'master' into issue1290-at-operator
2016-02-06 09:31:42 -02:00
TomV
7d107018e8
Fix #1290 : Py3.5's @ operator/assertion rewriting.
2016-02-05 23:09:57 +00:00
Ronny Pfannschmidt
de1a9f574c
merge from master
2016-02-05 00:10:28 +01:00
Georgy Dyuldin
79722ae89b
Add expected exceptions to 'DID NOT RAISE' msg
2016-02-03 14:12:41 +03:00
Bruno Oliveira
9f85d4c952
mark test_comments as xfail on pypy
...
while migrating this code it was noticed that this test was failing even
on the original py repository, so it was decided to xfail it and investigate
later
2016-01-25 23:18:04 -02:00
Bruno Oliveira
7a6f902f6f
Drop assertionnew and assertionold from _pytest._code
2016-01-25 23:18:04 -02:00
Bruno Oliveira
a912d3745b
Moved py.code code over to py.test
...
Fix #103
2016-01-25 23:18:04 -02:00
Ronny Pfannschmidt
b825af2e66
pass trough annotated exceptions
2016-01-23 19:31:17 +01:00
Ronny Pfannschmidt
60e9698530
fix issue 1338
2016-01-23 19:12:51 +01:00
Ronny Pfannschmidt
9e6bb74d71
reformat monkeypatch core plugin/its tests
2016-01-23 19:12:51 +01:00
Bruno Oliveira
199fcf93d4
Merge branch 'master' into 'features'
2016-01-22 18:32:45 -02:00
Georgy Dyuldin
b28b3cc271
Add captured stdout to jUnit report on setup error
2016-01-20 20:13:01 +03:00
Bruno Oliveira
7b13c4bec0
Fix flakes
2016-01-14 21:01:57 -02:00
Ronny Pfannschmidt
bc32e45bb6
Merge pull request #1314 from The-Compiler/ci-verbose
...
Always show full comparison output if on CI.
2016-01-11 10:05:15 +01:00
Florian Bruhin
3e5c9038ec
Always show full comparison output if on CI.
...
When you don't get enough information with a test running on a CI, it's quite
frustrating, for various reasons:
- It's more likely to be a flaky test, so you might not be able to reproduce
the failure.
- Passing -vv is quite bothersome (creating a temporary commit and reverting
it)
For those reasons, if something goes wrong on CI, it's good to have as much
information as possible.
2016-01-11 08:45:04 +01:00
Ronny Pfannschmidt
b2c0864fbf
Merge pull request #1318 from nicoddemus/doctest-unicode-error
...
Fix decode error in Python 2.7 when docstrings contain a non-ascii character
2016-01-11 08:37:24 +01:00
foxx
f46de68804
Fixes bug with stdout/stderr capture on pdb
2016-01-09 12:04:26 +00:00
Bruno Oliveira
3c19cfcd9a
Fix decode error in Python 2.7 when docstrings contain a non-ascii character
...
Fix #628
2016-01-08 23:10:02 -02:00
Bruno Oliveira
b8784c28c9
Merge branch 'master' into 'features'
2016-01-08 21:51:34 -02:00
Bruno Oliveira
369d9ecaa5
pytest warnings emitted during ``pytest_terminal_summary`` are now properly displayed.
...
Fix #1305
2016-01-04 00:07:45 -02:00
Ronny Pfannschmidt
6c170201d6
Merge branch 'master' into features
2016-01-02 23:56:01 +01:00
Ronny Pfannschmidt
bf4de4bd68
Merge pull request #1294 from nicoddemus/doctest-bytes-literals
...
Doctest bytes literals
2016-01-01 18:18:08 +01:00
Bruno Oliveira
1bdf71730a
Complement #1255 by adding tests and docs
...
Fix #1242
2015-12-30 18:24:59 -02:00
Bruno Oliveira
a0edbb75a4
Implement ALLOW_BYTES doctest option
...
Fix #1287
2015-12-29 20:55:19 -02:00
Ulrich Petri
8d49abb0d1
Make monkeypatch differentiate ImportError sources
...
Previously `monkeypatch` assumed that any `ImportError` was caused by
a mistake in the specified import path. However this assumption is false
in case the import target itself causes an `ImportError`.
Fixes : #900
2015-12-27 22:44:23 +01:00
Ronny Pfannschmidt
ec5a429c77
junitxml tests: extend with extra items
2015-12-17 22:30:27 +01:00
Ronny Pfannschmidt
713069ebd4
implement review comments for #1266
2015-12-17 22:27:01 +01:00
Bruno Oliveira
81588d7f63
Remove obsolete "oldinterpret" module
2015-12-16 16:16:22 -02:00
Bruno Oliveira
af893aab26
Remove code related to support python <= 2.5
...
Fix #1226
2015-12-16 16:16:22 -02:00
Ronny Pfannschmidt
8bf7e7cc4b
fixes #1259 - take finalized nodes out of the mapping
...
this allows double node id usage for file based items
2015-12-16 19:09:44 +01:00
Bruno Oliveira
6ac31088c5
Merge branch 'master' into merge-master-into-features
2015-12-11 23:13:50 -02:00
aselus-hub
1216a27b44
added docstrign to inection collection test.
2015-12-10 15:19:08 -08:00
aselus-hub
74f7efd2a3
added line comparison that is pytest-sugar agnostic.
2015-12-10 15:10:55 -08:00
aselus-hub
34db8aed34
added verification that test actually passed.
2015-12-10 15:02:57 -08:00
aselus-hub
af54e09759
nit: fixed newline
2015-12-10 14:46:51 -08:00
aselus-hub
dfaeefd692
added test to verify injection.
2015-12-10 14:45:36 -08:00
Bruno Oliveira
86b6ce5042
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2015-12-10 19:41:14 -02:00
Bruno Oliveira
8b61a332ba
Merge remote-tracking branch 'bukzor/features-merge-master' into features
2015-12-10 19:03:55 -02:00
David Vierra
ccfd962170
Add "no -rP" case to test_pass_output_reporting
2015-12-08 17:33:03 -10:00
David Vierra
b417d7cb79
Add tests to test_terminal.py for -rp and -rP
2015-12-08 15:54:23 -10:00
Bruno Oliveira
1c46462991
Fix deprecated_call regression introduced in 2.8.4
...
Fix #1238
2015-12-08 22:40:05 -02:00
Buck Golemon
5ccb7b1ced
update test_recwarn to new style
2015-12-08 11:08:33 -08:00
Buck Golemon
eabf2f9091
Merge branch 'master' into features
...
Conflicts:
AUTHORS
_pytest/__init__.py
_pytest/hookspec.py
_pytest/recwarn.py
testing/test_recwarn.py
2015-12-07 14:28:59 -08:00
Ronny Pfannschmidt
7b7737bf96
handle duplicate test ids via collection and xdist each reporting
2015-12-07 21:54:25 +01:00
Ronny Pfannschmidt
04e9ae75c8
add xfailing test for double test id failure
2015-12-07 21:54:25 +01:00
Ronny Pfannschmidt
5eef6a2821
junitxml: fix python3 compat of the tests
2015-12-07 21:54:25 +01:00
Ronny Pfannschmidt
5f5a7995b9
reintroduce junitxml report order and debug cleanups
2015-12-07 21:54:24 +01:00
Ronny Pfannschmidt
0528e5b45f
junitxml: intermediate, move testcase generation to NodeReporter
2015-12-07 21:54:24 +01:00
Ronny Pfannschmidt
9b04958303
junitxml: keep track of custom property insert order
...
+ review: should we allow the same key multile times
2015-12-07 21:54:24 +01:00
Ronny Pfannschmidt
d0107c898e
junitxml restrucutre stat generation - use node tags
2015-12-07 21:54:24 +01:00
Ronny Pfannschmidt
9128fec4c4
junitxml: simplify the api used for testing junitml
2015-12-07 21:54:24 +01:00
Ronny Pfannschmidt
80bcf8d624
junitxml: simplify tests by creating a api wrapper
2015-12-07 21:54:24 +01:00
Ronny Pfannschmidt
b8df5446c0
junitxml: yapf clean the tests
2015-12-07 21:54:24 +01:00
Bruno Oliveira
14bc3c4009
Fix pastebin when captured output contains non-ascii characters
...
Fix #1219
2015-12-03 20:07:18 -02:00
Bruno Oliveira
a54e4e64cd
Merge remote-tracking branch 'upstream/master' into pastebin-py3
2015-12-01 23:51:14 -02:00
Bruno Oliveira
6a2ebddc7c
Decode urlopen response in pastebin
...
Fix #1198
2015-12-01 23:33:37 -02:00
Florian Bruhin
0d2668017d
Fix spelling mistake in #1207 .
2015-11-30 17:33:34 +01:00
Florian Bruhin
aba55a0fb2
Fix terminal output if no tests were run.
...
Before:
==== in 0.00 seconds ====
After:
==== no tests run in 0.00 seconds ====
2015-11-30 17:24:40 +01:00
Ronny Pfannschmidt
b5d65e5139
Merge pull request #1206 from The-Compiler/collect-getattr
...
Don't collect classes with truthy __getattr__.
2015-11-30 17:23:47 +01:00
Florian Bruhin
ba9146c131
Don't collect classes with truthy __getattr__.
...
When we have a metaclass which returns something truthy (like a method) in its
__getattr__, we collected the class because pytest thought its __test__
attribute was set to True.
We can work around this to some degree by assuming __test__ will always be set
to an explicit True if that's what the user has intended, and if it's something
other than that, this is probably a mistake.
Fixes #1204 .
2015-11-30 16:41:13 +01:00
Florian Bruhin
c790f7475e
Fix getting line number with nasty __getattr__.
...
When an object has a custom __getattr__ which always returns a non-int, we
tried to get compat_co_firstlineno from it and checked it was a integer, which
caused an exception if such a class is mistakenly collected.
If we still mistakenly collect such a class (which is likely to be something
other than a test), we now skip it with a warning (because it probably has an
__init__) instead of producing an error.
See #1204 .
2015-11-30 16:13:15 +01:00
mehdy
f9b1e39b8a
fix #1198 - decoding monkeypatched data to unicode
2015-11-29 19:42:50 +03:30
Bruno Oliveira
603d81ef2f
deprecated_call now uses monkey patching strategy to capture warnings
...
similar to what we had in 2.7, with a few enhancements
Fix #1190
2015-11-26 16:48:58 -02:00
Ronny Pfannschmidt
df767cca8f
Merge pull request #1188 from nicoddemus/pytest_enter_pdb
...
Pass pytest config object to pytest_enter_pdb
2015-11-23 20:55:33 +01:00
Bruno Oliveira
b3166a538c
Pass pytest's config object to pytest_enter_pdb
2015-11-23 14:42:21 -02:00
Bruno Oliveira
7d6edb9ca5
Fix unittest.skip decorator test and separate the fix into a different, self-doc function
2015-11-04 19:54:18 -02:00
Lee Kamentsky
313050b15b
Suggested edits by Bruno.
...
Moved fix to TestCaseFunction.setup. Added myself to AUTHORS and added entry to CHANGELOG
2015-11-04 15:30:16 -05:00
Lee Kamentsky
1833547936
Added test for issue #1169
...
(I undid my fix, checked for failure, redid my fix and it passes)
2015-11-04 14:24:22 -05:00
Bruno Oliveira
311b0a9683
Fix situation where a traceback entry "path" returns a str object
...
Fix #1133
2015-10-16 20:18:14 -03:00
Michael Birtwell
a3bda59a30
collection: Prevent non-function callables from being collected
...
Fixes issue 331
previously to this change the collection code would issue a warning for
when ever it encountered a variable that looked like a test but wasn't a
function saying that it wouldn't collect it because it wasn't a function.
This fixes the logic so that if that warning is issued it really isn't
collected.
However previously special cases existed to support tests that were
created using functools.wraps and functools.partial. So the condition for
issuing that warning has been updated to take that in to account
Also try the old way of detecting functions just for proper integration
with mock.path in python 2.7 the get_real_func returned the unbound method
2015-10-12 22:23:18 +01:00
Ronny Pfannschmidt
db077555f6
Merge pull request #1102 from nicoddemus/doctest-fixtures-fix
...
Fix autouse fixtures and doctest modules
2015-10-10 14:21:53 +02:00
Buck Golemon
67236d6de3
strengthen the ini assertion
2015-10-09 09:58:12 -07:00
Buck Golemon
0e55a8793f
all tests pass
2015-10-09 09:58:12 -07:00
Buck Golemon
49d46a0059
an ugly patch to fix all but the most important part =/
2015-10-08 10:44:58 -07:00
Buck Golemon
616d8251f3
unit tests of Config.fromdictargs. currently failing
2015-10-08 10:44:58 -07:00
TomV
707226298a
issue1035 add test for classes setting __getattr__
2015-10-08 09:08:32 +01:00
Bruno Oliveira
a14c77aeba
Fix problems when mixing autouse fixtures and doctest modules
...
The main problem was that previously DoctestModule was setting
up its fixtures during collection, instead of letting
each DoctestItem make its own fixture setup
Fix #1100
Fix #1057
2015-10-03 16:07:14 -03:00
Michael Aquilina
8984177448
TestXFail also shouldnt explicitly inherit from object
2015-10-03 17:12:44 +01:00
Michael Aquilina
00d0c74657
Update reason in test to prevent confusing with test_no_reason
2015-10-03 17:01:21 +01:00
Michael Aquilina
fc0bd9412c
Test that "unconditional skip" is the default reason if none given
2015-10-03 17:00:16 +01:00
Michael Aquilina
5ff9a0ff54
Remove redundant comments
2015-10-03 16:59:27 +01:00
Michael Aquilina
25d74a5919
Dont explicitly inherit from object
2015-10-03 16:55:04 +01:00
Michael Aquilina
213dbe7a5f
newlines
2015-10-03 16:42:15 +01:00
Michael Aquilina
9e57954b03
First argument in pytest.mark.skip is a reason
2015-10-03 16:42:15 +01:00
Michael Aquilina
1b5aa2868d
Check no reason displayed if none specified
2015-10-03 16:42:15 +01:00
Michael Aquilina
04545f8a54
classes inherit from object
2015-10-03 16:42:15 +01:00
Michael Aquilina
d1628944a6
Update skippings tests for better coverage
2015-10-03 16:42:15 +01:00
Michael Aquilina
771aef9ddb
Add a test_skip_class test
2015-10-03 16:42:15 +01:00
Michael Aquilina
f144666f8b
Work towards test coverage of mark.skip
2015-10-03 16:42:14 +01:00
Michael Aquilina
4e94135d36
Remove incorrect use of pytest.mark.skip
2015-10-03 16:42:14 +01:00
Bruno Oliveira
f3cee8f0b5
Merge remote-tracking branch 'upstream/master' into param-ids-fix
2015-10-01 07:58:55 -03:00
Bruno Oliveira
d1e00f6e19
Detect dynamic code explicitly in filter_traceback
2015-09-30 17:32:49 -03:00
Bruno Oliveira
11f100813e
Fix internal error when filtering tracebacks where one entry was generated by an exec() statement
...
Fix #995
2015-09-29 22:29:43 -03:00
Bruno Oliveira
b64470443f
Fix SystemError when using unicode_escape on Python 3
...
Fix #1087
2015-09-29 18:20:30 -03:00
Bruno Oliveira
8633c4cefd
Fix encoding errors for parametrized tests with unicode parameters in py2
...
Fix #1085
2015-09-29 17:57:49 -03:00
Ronny Pfannschmidt
04deea3c6d
fix flaky get_user fallback tests
2015-09-29 21:00:12 +02:00
holger krekel
cb58eaa611
Merge remote-tracking branch 'upstream/master' into features
...
Conflicts:
_pytest/__init__.py
testing/test_recwarn.py
2015-09-29 15:56:41 +02:00
holger krekel
a73d517bee
Merge pull request #1080 from vodik/master
...
fix #1034 : Add missing nodeid on pytest_logwarning call in addhook. Thanks Simon Gomizelj for the PR.
2015-09-29 09:07:43 +02:00
Simon Gomizelj
b3727438d6
Add missing nodeid on pytest_logwarning call in addhook.
...
Otherwise KeyError: 'nodeid' gets thrown, killing pytest. This may fix
issue 1034, but the details of it may be caused by something similar
somewhere else.
2015-09-28 20:23:54 -04:00
Eric Hunsberger
4194c9cce2
Check `deprecated_call` specific to deprecation
...
`deprecated_call` used to accept any warning. As of #897 , it
is now specific to DeprecationWarnings, and another commit in
this PR extends this to PendingDeprecationWarnings. This commit
makes sure this stays the case.
2015-09-28 12:35:24 -04:00
Eric Hunsberger
e8261e0c77
`deprecated_call` detects pending warnings again
...
`deprecated_call` now looks for PendingDeprecationWarnings,
as it did previously but was broken by #897 . Fixes #1037 .
Also added a test so this does not happen again.
2015-09-28 12:11:52 -04:00
holger krekel
4e3a807733
fix issue #1073 -- shortcut plugin hook lookup if the attrname is not
...
prefixed with pytest_.
2015-09-28 13:34:28 +02:00
holger krekel
0c05ca1fd5
Merge branch 'master' into features
2015-09-26 10:03:42 +02:00
Bruno Oliveira
748da0e5d7
Fix xml generation when used with pytest-xdist
...
pytest_runtest_logreport must be careful to not depend on setup/call/teardown
being called sequentially in that order, as xdist will call them as they are reported
from the slaves
Fix #1064
2015-09-26 03:21:24 -03:00
holger krekel
4867554eec
Merge branch 'master' into features
2015-09-23 16:42:42 +02:00
Bruno Oliveira
e1063678f1
escape bytes when creating ids for parametrized values
2015-09-22 23:18:09 -03:00
Bruno Oliveira
661495e5c5
Write failing test for parametrized tests with unmarshable parameters
...
Related to #1030 ; committing directly to pytest repository to
get feedback from others on how to proceed.
2015-09-22 23:18:07 -03:00
Ronny Pfannschmidt
7f776fe19a
skip chmod using cache access warning tests on windows
2015-09-22 20:49:11 +02:00
Ronny Pfannschmidt
ea9a491fb3
add an acceptance test for cache write errors
2015-09-22 20:24:37 +02:00
Ronny Pfannschmidt
29f4da93d4
handle access errors when writing cache files silently as pytest warning, fixes #1039
2015-09-22 16:28:19 +02:00
Ronny Pfannschmidt
36924b59bd
Merge branch '653-deprecated-context-manager' of https://github.com/chiller/pytest into features
2015-09-22 15:14:06 +02:00
holger krekel
41d61ed221
Merge pull request #1023 from RonnyPfannschmidt/fix-877
...
Fix 877
2015-09-22 11:17:02 +02:00
Galaczi Endre
beaa8e55bd
Fixes #653 use deprecated_call as context_manager
2015-09-21 19:01:23 +01:00
Andy Freeland
b1c9b8b415
Make tmpdir resiliant to user ids that do not exist
...
Previously, the tmpdir fixture would fail if the current process's user
id does not correspond to a valid user (e.g. running pytest in a Docker
container with 'docker run -u').
2015-09-18 21:26:19 -04:00
Ronny Pfannschmidt
49c99a41ea
reencode non-ascii python2 assertion reprs, fixes #877
...
i decided against using a warning since the problem goes away with python3
the support code can be removed once we drop python2 in 10 years or so
2015-09-19 00:30:01 +02:00
Ronny Pfannschmidt
1aca998f3f
Merge pull request #1012 from lukas-bednar/junitxml_plugin
...
junitxml: align custom properties with junit format
2015-09-18 16:01:22 +02:00
Bruno Oliveira
e4d5f88257
Fix install cx_freeze
2015-09-17 23:32:27 -03:00
Bruno Oliveira
3a8e375efe
Fix import
2015-09-17 14:52:51 -03:00
Bruno Oliveira
f5f3a2a928
Fix flaky failure about unused shutil
2015-09-17 12:54:02 -03:00
Bruno Oliveira
6bca5a1c25
Use temporary directory for cx_freeze testing
2015-09-17 11:54:44 -03:00
Lukas Bednar
02a2272cfe
junitxml: move custom properties to properties element
...
<testsuite>
<testcase>
<properties>
<property name="ABC" value="XYZ" />
<property name="DEF" value="ZYX" />
</properties>
</testcase>
</testsuite>
2015-09-17 15:56:41 +02:00
holger krekel (rather uses bitbucket/hpk42)
3bcda48ba4
Merge pull request #1009 from mdboom/deprecation-warnings
...
avoid deprecation warnings, introduce helpers.
2015-09-17 13:37:26 +02:00
Florian Bruhin
f978b545c5
Merge pull request #1016 from hpk42/importappend3
...
revert importing test module behaviour to prepend by default
2015-09-17 12:41:28 +02:00
Michael Droettboom
7f71ce0ab2
Reorganize tests
2015-09-16 16:52:37 -04:00
holger krekel
a62d12634c
revert importing test module behaviour to prepend by default
2015-09-16 22:12:20 +02:00
holger krekel (rather uses bitbucket/hpk42)
886ac82c43
Merge pull request #1013 from nicoddemus/issue1010
...
Make tmpdir more resilient in case environment variables required by getpass are missing
2015-09-16 21:57:44 +02:00
Florian Bruhin
2575053697
Merge pull request #1015 from hpk42/cache-integration
...
refined pytest-cache integration
2015-09-16 21:46:46 +02:00
Bruno Oliveira
130e6cf8a2
Use temproot as a fallback if the current user couldn't be obtained
2015-09-16 16:42:07 -03:00
holger krekel
45065e4e2e
refine command line option naming and docs
2015-09-16 20:41:22 +02:00
Bruno Oliveira
558e5406e8
test_get_user should execute on windows only
2015-09-16 13:06:39 -03:00
Bruno Oliveira
1150e87e31
Extract get_user logic into a separate function
2015-09-16 12:47:50 -03:00
Bruno Oliveira
6676aeda5a
Make tmpdir more resilient in case environment variables required by getpass are missing
...
Fix #1010
2015-09-16 12:20:07 -03:00
Michael Droettboom
9a84c9edb6
Add tests for argument formatting
2015-09-16 11:02:48 -04:00
Michael Droettboom
a0cefb3213
Use inspect.signature instead of inspect.getargspec
2015-09-16 06:33:53 -04:00
Bruno Oliveira
a13f23d218
Merge branch 'master' into vendor-pluggy
2015-09-14 12:22:18 -03:00
Ronny Pfannschmidt
cd475c7b27
minor flake8 fixes
2015-09-13 19:55:44 +02:00
Ronny Pfannschmidt
1e107e6bd1
restrucure pytest.main.wrap_session to allow for non-testrun wraps
2015-09-13 19:55:44 +02:00
Ronny Pfannschmidt
2e87cf4a62
create the previously missing cache fixture
...
there was a disabled test
2015-09-13 19:55:44 +02:00
Ronny Pfannschmidt
1de38a25fc
use flake8 in the flakes testenv
...
and extend the ignored errors list so pytest is clean
we def have to trim down that one
2015-09-13 19:55:44 +02:00
Ronny Pfannschmidt
e035f57535
s/--cache/--show-cache/
2015-09-13 19:55:44 +02:00
Ronny Pfannschmidt
e20216a1a8
merge the pytest-cache plugin into core
2015-09-13 19:55:44 +02:00
Bruno Oliveira
41d2faccea
Merge branch 'issue_960' of https://github.com/Akasurde/pytest
2015-09-12 10:57:23 -03:00
Abhijeet Kasurde
dd69394598
Added testcase and help for report option
...
Fix added to show help of new reporting option 'a'.
Also, added testcase for checking reporting functionality
with option 'a'.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2015-09-11 12:24:45 +05:30
Bruno Oliveira
0b3f1b4a7c
Create `_pytest.vendored_packages` and _pytest._pluggy
...
- Replace imports from "pluggy" to "_pytest._pluggy"
- Fallback to import "pluggy" from global namespace if
not found in _pytest.vendored_packges
2015-09-07 13:01:54 -03:00
Bruno Oliveira
8625eb643e
Merge pull request #986 from RonnyPfannschmidt/early-logging
...
replay initial warnings when terminalreporter is loaded
2015-09-02 19:10:53 -03:00
Ronny Pfannschmidt
76f0988551
turn the pytest_logwarning hook historic
2015-09-02 18:49:49 +02:00
Ronny Pfannschmidt
348e519437
Merge pull request #962 from nicoddemus/doctest-skip
...
Make doctest SKIP option register doctests as SKIPPED rather than PASSED
2015-09-01 12:31:35 +02:00
Ronny Pfannschmidt
7292212d5a
Merge pull request #976 from nicoddemus/ren-warnings-on-terminal
...
Rename "warnings" to "pytest-warnings" in terminal output
2015-09-01 07:56:42 +02:00
Bruno Oliveira
4ad56e84a8
Make doctest SKIP option register doctests as SKIPPED rather than PASSED
...
Fix 957
2015-08-31 21:25:11 -03:00
Florian Bruhin
19791546da
Add docstring.
2015-08-31 15:11:57 +02:00
Florian Bruhin
885e461ae3
Fix overriding of fixtures with parametrization.
...
Fixes #979 , see #926 .
2015-08-31 14:38:39 +02:00
Bruno Oliveira
c0eec5d61c
Merge pull request #975 from nicoddemus/fix-regression-parse-known-args
...
Fix regression caused by changing the signature for parse_known_args
2015-08-29 23:44:32 -03:00
Brianna Laugher
c493f263b6
Merge branch 'Elizaveta239-master' closes #908
2015-08-29 17:34:35 +10:00
Bruno Oliveira
dd7112d5ea
Show a few diff lines when truncating string diffs
...
Fix #934
2015-08-27 22:20:13 -03:00
Brianna Laugher
b49bedcf0c
Merge branch 'master' of git://github.com/Elizaveta239/pytest into Elizaveta239-master
2015-08-28 11:10:22 +10:00
Bruno Oliveira
e59471766a
Rename "warnings" to "pytest-warnings" in terminal output
...
Fix #970
2015-08-27 19:59:52 -03:00
Bruno Oliveira
4533a50542
Fix regression caused by changing the signature for parse_known_args
...
Fix #973
2015-08-27 19:35:32 -03:00
Bruno Oliveira
42b43a7d7b
Paths after normal options are now properly used to discover rootdir and ini files
...
Fix #949
2015-08-25 22:08:05 -03:00
elizabeth
e67d66a5d4
Merge branch 'pytest-dev'
...
# Conflicts:
# AUTHORS
2015-08-24 22:55:11 +03:00
Ronny Pfannschmidt
b25e41e348
Merge pull request #956 from nicoddemus/record-xml-property
...
add preliminary support for extended junit xml properties
2015-08-24 09:13:04 +02:00
Bruno Oliveira
70da93145d
Improve docs and using warning system for record_xml_property fixture
2015-08-23 11:56:27 -03:00
elizabeth
06585f5bdd
Always report error about parametrize data that doesn't correspond to fixtures in test functions.
2015-08-23 13:42:40 +03:00
David Diaz
2ddbac1f98
Correcting implementation based on pull request feed back
2015-08-21 14:31:53 -06:00
Ronny Pfannschmidt
287df16c9c
Merge pull request #817 from nicoddemus/non-collection-exit-error
...
return non-zero exit code if no tests are collected
2015-08-21 18:30:57 +02:00
Bruno Oliveira
d7d418cd47
Fix forked_run_report in pytest.xdist 1.13
2015-08-20 21:17:27 -04:00
David Diaz
24212fd97f
Add support to record custom properties on xml output
2015-08-20 17:55:38 -06:00
Bruno Oliveira
2ffd37b816
return non-zero exit code if no tests are collected
...
Fix #812
Fix #500
2015-08-18 07:35:02 -03:00
Ronny Pfannschmidt
7758bcd141
terminalwriter: extract plugin printing logic and add positive unittests
2015-08-17 09:10:01 +02:00
Bruno Oliveira
d749021a31
Fix coverage
...
Also make sure a test that doesn't set ALLOW_UNICODE fails
on Python 2 and passes Python 3.
2015-08-12 22:49:41 -03:00
Bruno Oliveira
420823070b
Add ALLOW_UNICODE doctest option
...
When enabled, the ``u`` prefix is stripped from unicode strings in
expected doctest output. This allows doctests which use unicode
to run in Python 2 and 3 unchanged.
Fix #710
2015-08-12 22:16:44 -03:00
Markus Unterwaditzer
41cef6f5f2
Don't skip fixtures that are substrings of params
...
Bug introduced with
https://bitbucket.org/pytest-dev/pytest/pull-requests/257/allow-to-override-parametrized-fixtures
Fix #736
2015-08-11 00:41:21 +02:00
Bruno Oliveira
e103932aad
Reintroduce hasplugin to PytestPluginManager
...
Fix #932
2015-08-09 19:30:49 -03:00
TomV
e130a0257d
add test for @nose.tools.istest
2015-08-08 21:08:05 +01:00
Bruno Oliveira
729b5e9b2f
Merge pull request #923 from The-Compiler/parametrize-idfunc
...
Generate parametrize IDs for enum/re/class objects.
2015-08-08 15:09:54 -03:00
Brianna Laugher
36b86af4b9
Added more test cases
2015-08-08 19:20:09 +02:00
Brianna Laugher
40fa7b25c5
Merge branch 'master' of git://github.com/Elizaveta239/pytest into Elizaveta239-master
...
Fixed merge conflict in CHANGELOG
2015-08-08 18:54:53 +02:00
Florian Bruhin
b59376bea4
Alert user about other parametrize spellings.
2015-08-07 07:51:59 +02:00
Florian Bruhin
13c5456868
Generate parametrize IDs for enum/re/class objects.
2015-08-07 07:37:59 +02:00
Bruno Oliveira
2bbe709bce
Use testdir fixture in test_double_test to ensure controlled environment for execution
...
Because the test relies that two subsequent tests try to use pytest.warns to capture
the exact same warning, it is better to use testdir to ensure test execution
occurs in the order we expect (which might be different with pytest-xdist or
pytest-random for example)
2015-08-06 22:30:01 -03:00
Eric Hunsberger
39f1471e93
Warnings always raised in WarningsRecorder
...
This ensures that if tests for warnings are run more than once,
the warning is still raised as expected.
2015-08-06 15:05:01 -04:00
Bruno Oliveira
02e742b7a6
Move WarningsChecker import in test to a local import to workaround flakes issue
...
See #897 for discussion
2015-08-04 19:27:13 -03:00
elizabeth
657ca97dbd
Some refactorings after code review
2015-08-04 00:02:03 +03:00
elizabeth
db9809d6dc
Update test for error in 'indirect' parameter
2015-08-02 23:53:44 +03:00
elizabeth
63bac67fb5
Add test for bad value in argument 'indirect'
2015-08-02 23:06:24 +03:00
elizabeth
15b865f502
Rewrite test using @pytest.fixture
2015-08-02 20:30:23 +03:00
elizabeth
2fc7aede0b
Request #714 : Apply indirect=True on particular argnames
2015-08-02 16:40:40 +03:00
Eric Hunsberger
52b4eb6c46
Added `warns` to assert warnings are thrown
...
Works in a similar manner to `raises`, but for warnings instead
of exceptions. Also refactored `recwarn.py` so that all the
warning recording and checking use the same core code.
2015-07-30 23:28:32 -04:00
Bruno Oliveira
4302972c23
Use pytest-of-$user as base directory for tmpdir_factory
...
Before tmpdir_factory, pytest used to create a link named "pytest-$user" to the current numbered directory. Use
a different name so there's no conflict when running different pytest versions.
Fix #894
2015-07-28 20:57:48 -03:00
Florian Bruhin
2ab4bf13ab
Document and test stacking of parametrize.
...
Closes #815 .
2015-07-26 14:39:13 +02:00
jakubo
e8f4819876
Test file run twice fails if it contains marked class #683
2015-07-26 12:15:29 +02:00
Floris Bruynooghe
e68fa641ff
Merge reset-capgture-on-reeadouterr-errors
...
Merge branch 'reset-capture-on-readouterr-errors' of github.com:davidszotten/pytest into merge-capmerge
2015-07-26 11:39:03 +02:00
David Szotten
3e6bee2fc6
fail if snap is removed in the future
2015-07-26 01:28:00 +02:00
David Szotten
983d249680
reset capture even if readouterr throws
...
otherwise that exception (and all following output) end up in /dev/null
2015-07-26 01:15:51 +02:00
Floris Bruynooghe
251fc68ef9
Merge fix for #751
...
Merge branch 'fix-751' of github.com:JanBednarik/pytest into jb-fix-751
2015-07-25 19:03:44 +02:00
Jan Bednařík
f78d87ee38
Issue #751 - test.
2015-07-25 15:38:11 +02:00
Floris Bruynooghe
80ee620459
Merge pull request #881 from maartenq/master
...
setuptools not present issue deprecating gentest
2015-07-25 15:03:50 +02:00
Floris Bruynooghe
023687d8d0
Merge pull request #872 from nicoddemus/confcutdir-inifile
...
Avoid detecting conftest files upwards from setup.cfg/pytest.ini/tox.ini by default
2015-07-25 14:03:24 +02:00
Maarten
e3d60024aa
setuptools not present issue deprecating gentest
2015-07-25 13:50:40 +02:00
Bruno Oliveira
033def0a7a
Workaround for cmdexec bug on Windows
...
This bug fails the entire pytest suite when executed with the
--lsof option in Python 2 on Windows.
2015-07-24 19:24:31 -03:00
Bruno Oliveira
9f94e443ff
Merge remote-tracking branch 'upstream/pytest-2.7'
...
Conflicts:
testing/conftest.py
2015-07-24 19:24:21 -03:00
Bruno Oliveira
91e8e59cea
Merge pull request #860 from nicoddemus/warn-plugins-as-str-main
...
Make passing plugins as str objects a more obvious failure
2015-07-24 19:13:39 -03:00
Bruno Oliveira
4f1ae8c45e
Workaround for cmdexec bug on Windows
...
This bug fails the entire pytest suite when executed with the
--lsof option in Python 2 on Windows.
2015-07-24 18:05:30 -03:00
Eric Hunsberger
3cd19a7e45
Use monkeypatch for setting modules in tests
...
Instead of directly setting `sys.modules`. This ensures that they
get removed at the end of the test.
2015-07-24 12:34:06 -04:00
Eric Hunsberger
d104487282
importorskip: Allow non-integer version strings
...
Use `pkg_resources.parse_version` to parse version strings.
This can handle 'dev', 'rc', alpha and beta version strings,
among others.
2015-07-24 12:34:06 -04:00
Bruno Oliveira
35bbcc39a2
Interpret strings to "plugins" arg in pytest.main() as module names
...
See #855
2015-07-23 23:37:09 -03:00
Bruno Oliveira
ab9e246ab0
Avoid detecting conftest files upwards from setup.cfg/pytest.ini/tox.ini files by default
...
As discussed in #82
2015-07-23 23:21:07 -03:00
Bruno Oliveira
df29120abe
Merge branch 'pytest-2.7'
...
Conflicts:
_pytest/config.py
_pytest/genscript.py
_pytest/mark.py
tox.ini
2015-07-23 22:35:51 -03:00
Bruno Oliveira
ce96973ed5
Merge pull request #864 from pytest-dev/consider-color-yes-everywhere
...
Consider --color option in more places which deal with TerminalWriters
2015-07-23 08:03:52 -03:00
Floris Bruynooghe
0e26de2218
Merge pull request #867 from nicoddemus/autouse-yield-fixture-class
...
Fix autouse fixtures defined in a TestCase subclass
2015-07-22 01:25:21 +02:00
Bruno Oliveira
31cfbac1f4
Fix autouse fixtures defined in a TestCase subclass
2015-07-20 19:28:54 -03:00
Anatoly Bubenkov
6af7172204
Merge branch 'pytest-2.7'
2015-07-19 15:25:04 +02:00
Bruno Oliveira
953916df49
Report correct reason when using multiple skip/xfail markers
2015-07-18 18:18:45 -03:00
Bruno Oliveira
2f7d0f8bd9
Consider --color option in more places which deal with TerminalWriters
2015-07-18 16:39:55 -03:00
Bruno Oliveira
dcdc823dd2
Support for tests created with functools.partial
...
Fix #811
2015-07-16 20:37:03 -03:00
Bruno Oliveira
aa25fb05a9
Make sure marks in subclasses don't change marks in superclasses
...
Fix #842
2015-07-16 19:29:16 -03:00
Bruno Oliveira
74bc50e97c
Fix flakes
2015-07-15 20:45:35 -03:00
Bruno Oliveira
0f52856f99
Use a subdirectory in the TEMP directory to speed up tmpdir creation
...
Fix #105
2015-07-15 20:03:58 -03:00
Bruno Oliveira
d6033037ac
Consider session fixtures for doctest docstrings in modules
...
Fixes #768
2015-07-13 12:29:09 -03:00