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
Bruno Oliveira
5ec2a17f08
--fixtures only shows fixtures from first file
...
Fix #833
2015-07-12 17:32:39 -03:00
Bruno Oliveira
7445c5bd70
Add support for PEP302 get_data API
...
Fix #808
2015-07-11 14:13:43 -03:00
Bruno Oliveira
1baa1a4d01
Merge pull request #822 from nicoddemus/extra-usage-info
...
Print inifile and rootdir when there's usage errors
2015-07-11 13:43:20 -03:00
Bruno Oliveira
8a6aa5e17e
Print inifile and rootdir when there's usage errors
...
Related to #821
2015-07-10 21:56:12 -03:00
Bruno Oliveira
854e603f84
Add new testdirs ini option
...
Fix #694
2015-07-10 21:52:47 -03:00
Bruno Oliveira
ae4c8b8635
Merge pull request #787 from pytest-dev/pluggy-bc-fix
...
Reintroduce get_plugin_manager() for backward-compatibility
2015-07-08 19:28:01 -03:00
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
Ronny Pfannschmidt
1e6e373913
Merged in issue616 (pull request #252 )
...
fix issue616 - conftest visibility fixes.
2015-02-28 10:02:58 +01:00
holger krekel
c3ca44b46f
change links to go to the new pytest-dev bitbucket team's repo location
...
--HG--
branch : docs_community
2015-02-27 12:27:40 +01:00
holger krekel
28c2327f73
move conftest visibility tests and their setup into a class, accomodates @nicoddemus 's comment
...
--HG--
branch : issue616
2015-02-27 09:51:53 +01:00
holger krekel
660b84a052
Merged in cpcloud/pytest/ignore-doctest-import-errors (pull request #243 )
...
Add option to ignore import errors in doctests
2015-02-26 21:59:54 +01:00
holger krekel
d73e689991
fix issue616 - conftest visibility fixes. This is achieved by
...
refactoring how nodeid's are constructed. They now are always
relative to the "common rootdir" of a test run which is determined by
finding a common ancestor of all testrun arguments.
--HG--
branch : issue616
2015-02-26 21:56:44 +01:00
Phillip Cloud
c773ea664b
Add test for command line usage
...
--HG--
branch : ignore-doctest-import-errors
2015-02-26 12:39:36 -05:00
Ronny Pfannschmidt
415c76b255
Merged in tush/pytest/junit-verbose-failures (pull request #240 )
...
Made failure message in junit xml report more informative
2015-02-22 19:13:07 +01:00
Marc Abramowitz
777bde7c60
Remove xfail_if_pdbpp_installed from test_pdb.py
...
--HG--
branch : remove_pdbpp_xfail
2015-02-19 03:22:05 -08:00
Marc Abramowitz
e19f3c260f
Remove pdbpp xfails; don't seem necessary anymore
...
It seems that they're no longer necessary as the tests pass now
[marca@marca-mac2 pytest]$ pip freeze
backports.inspect==0.0.2
fancycompleter==0.4
funcsigs==0.2
ordereddict==1.1
-e hg+ssh://hg@bitbucket.org/antocuni/pdb@4bda65ac8f8cc9b1850e0301669aac39200f2f9a#egg=pdbpp-fix_pytest_doctest_NoneType_object_has_no_attribute_lower
py==1.4.26
Pygments==1.6
pyrepl==0.8.4
-e hg+ssh://hg@bitbucket.org/hpk42/pytest@5fc366c50b56a94638c959be8456d2cb3c7e7c1c#egg=pytest-dev
wmctrl==0.1
[marca@marca-mac2 pytest]$ py.test testing/test_doctest.py --tb=short
============================================================================= test session starts ==============================================================================
platform darwin -- Python 2.7.9 -- py-1.4.26 -- pytest-2.7.0.dev1
collected 22 items
testing/test_doctest.py ......................
========================================================================== 22 passed in 1.61 seconds ===========================================================================
See https://bitbucket.org/antocuni/pdb/issue/24/doctests-fail-when-pdbpp-is-installed
--HG--
branch : remove_pdbpp_xfail
2015-02-19 03:03:56 -08:00
Dave Hunt
912c8f0540
Use monkeypatch to set the PYTEST_ADDOPTS environment variable in the test.
...
--HG--
branch : env-addopts
2015-01-29 10:52:01 +00:00
Dave Hunt
7325a5fe2e
Support setting configuration using the PYTEST_ADDOPTS environment variable.
...
--HG--
branch : env-addopts
2015-01-23 20:09:42 +00:00
tush home
9f4d0be895
Failure message in junit xml report now are more informative
...
--HG--
branch : junit-verbose-failures
2015-01-20 01:45:26 +03:00
Ronny Pfannschmidt
5941b2e071
fix issue 655: crude workarounds around python2/3 exception leaks
2015-01-09 19:55:49 +01:00
TomV
f6caf230f8
fix for issue615: _format_boolop must escape %
...
fix test for issue615: expression must eval False
--HG--
branch : format_boolop_percent6
2014-10-27 08:57:58 +00:00
holger krekel
5f2444d2a2
Merged in nicoddemus/pytest/fix-pastebin (pull request #228 )
...
Fix --pastebin option
2014-10-23 09:08:30 +02:00
Bruno Oliveira
537dca477b
Fixing --pastebin option by using a POST request instead of a XMLRPC call
...
fixes #614
--HG--
branch : fix-pastebin
2014-10-22 21:52:40 -02:00
Floris Bruynooghe
8d19ccb56f
Merged in pfctdayelise/pytest/issue351 (pull request #161 )
...
Fixes issue351: Add ability to specify parametrize ids as a
callable, to generate custom test ids. + tests, docs
Hg branch merge
2014-10-22 23:18:01 +01:00
Bruno Oliveira
b928928942
added support for glob-style patterns to python_classes and python_functions config options
...
fixes #600
--HG--
branch : python-classes-glob
2014-10-16 19:27:10 -03:00
TomV
f8623a6668
test for issue615: compound assert with percent
...
--HG--
branch : assert_percent_test
2014-10-13 09:26:18 +01:00
holger krekel
cea9367739
Merged in HolgerPeters/pytest (pull request #221 )
...
Make doctest flags configurable
2014-10-09 17:05:48 +02:00
holger krekel
8c91ffc701
some docs and refined semantics for wrappers
2014-10-09 12:21:01 +02:00
holger krekel
c58770bfef
re-scan methods during plugin register and unregister and not
...
during hook calling anymore. Simplify register/getplugin api of PluginManager
2014-10-09 10:47:32 +02:00
holger krekel
5999368002
remove all occurences of "__multicall__" on hook impls in pytest/*.
...
also simplify pytest_runtest_markereport hook in _pytest/skipping.py
while touching the code anyway.
2014-10-08 20:23:40 +02:00
Holger Peters
787b0212d1
Add a doctest for module docstrings
2014-10-08 15:54:08 +02:00
Holger Peters
f66e0825b2
Add configuration option for doctest flags
2014-10-08 14:31:17 +02:00
holger krekel
c3d1986101
- refactor wrapped call support to also accomodate
...
pytest.mark.hookwrapper
- introduce a CallOutcome class to hold the result/excinfo status of
calling a function.
- rename add_method_controller to add_method_wrapper
2014-10-08 11:27:14 +02:00
Floris Bruynooghe
ab005a4261
Functional tests for id function
...
--HG--
branch : issue351
2014-10-08 00:11:32 +01:00
holger krekel
b6e619413f
merge pytest default
2014-10-07 18:11:15 +02:00
holger krekel
68f3818562
fix add_method_controller to deal properly in the event of exceptions.
...
add a docstring as well.
2014-10-07 16:16:47 +02:00
Anatoly Bubenkov
a298077461
merge with default
2014-10-07 01:06:15 +02:00
Anatoly Bubenkov
a759da0208
Escape % character in the assertion message. closes #604
2014-10-07 01:01:21 +02:00
holger krekel
c45b7012f5
docs for "pytest_addhooks" hook. Thanks Bruno Oliveira.
...
updated plugin index docs. Thanks Bruno Oliveira.
fix issue557: with "-k" we only allow the old style "-" for negation
at the beginning of strings and even that is deprecated. Use "not" instead.
This should allow to pick parametrized tests where "-" appeared in the parameter.
2014-10-06 14:26:03 +02:00
holger krekel
818a412d29
simplify internal pytester machinery
2014-10-06 13:37:57 +02:00
holger krekel
2cb0145bce
fix issue557: with "-k" we only allow the old style "-" for negation
...
at the beginning of strings and even that is deprecated. Use "not" instead.
This should allow to pick parametrized tests where "-" appeared in the parameter.
2014-10-06 12:11:48 +02:00
pytry
ba8ae427e2
Added test for ValueError in custom assert message with % sign (issue #604 )
...
https://bitbucket.org/hpk42/pytest/issue/604/valueerror-unsupported-format-character-in
2014-10-05 14:49:15 +02:00
holger krekel
3d84f35850
simplify method to record calls
2014-10-04 15:49:31 +02:00
holger krekel
d8f4663f49
factor out a small "wrapping" helper
2014-10-04 15:49:31 +02:00
holger krekel
69ff29bf44
remove overhead for tracing of hook calls and remove some old unused code
2014-10-02 15:25:42 +02:00
holger krekel
c7c4f62f77
optimize argument slicing when calling plugin hooks
2014-10-01 14:55:54 +02:00
holger krekel
f250e912eb
simplify _scan_plugin implementation and store argnames on HookCaller
2014-10-01 13:57:35 +02:00
holger krekel
28c785a0d1
call scanning of plugins directly, code is shifted from helpconfig.py to core.py
2014-10-01 12:20:11 +02:00
Anatoly Bubenkov
9a0f2a9fb7
Improve assertion failure reporting on iterables, by using ndiff and pprint.
2014-09-27 01:29:47 +00:00
Floris Bruynooghe
62b8712ca9
Let xfail work on non-python Items
...
For some reason xfail was only implemented on non-python Item
instances. This removes this guard which means plugins creating new
items can raise pytest.xfail.Exception and it will work as expected.
2014-09-23 23:55:26 +01:00
holger krekel
be503f1c43
Merged in wosc/pytest (pull request #204 )
...
Introduce pytest_enter_pdb hook
2014-09-23 14:04:47 +02:00
holger krekel
5abca55412
Merged in nicoddemus/pytest (pull request #203 )
...
fix issue575: xunit-xml reporting collection errors as failures
2014-09-22 19:25:34 +02:00
holger krekel
79d2edcbff
Merged in flub/pytest (pull request #207 )
...
Show both user assertion msg as explanation (issue549)
2014-09-22 19:16:10 +02:00
David Szotten
35eec99d41
stop leaking file descriptors
...
tripps --lsof on os x but not on linux. there's possibly a bug in the leak
detector (not investigated here)
--HG--
branch : stop_leaking_fds
2014-09-22 13:56:07 +01:00
David Szotten
bc4eecbbac
add `encoding` attr to DontReadFromInput
...
required by https://docs.python.org/2/library/stdtypes.html#file.encoding
and used e.g. by ipdb at _import_ time
--HG--
branch : dontreadfrominput-encoding
2014-09-22 12:19:27 +01:00
Wolfgang Schnerring
1408c9f077
Introduce pytest_enter_pdb hook
2014-09-18 14:58:42 +02:00
Bruno Oliveira
418607846a
fix issue575: xunit-xml reporting collection errors as failures
2014-09-15 22:04:46 -03:00
holger krekel
b6dcfd4377
fix conftest related fixture visibility issue: when running with a
...
CWD outside a test package pytest would get fixture discovery wrong.
Thanks to Wolfgang Schnerring for figuring out a reproducable example.
--HG--
branch : conftest-nodeid
2014-09-15 12:44:16 +02:00
Floris Bruynooghe
c692a0ee9c
Remove jython from tested python versions
...
After testing with the jython 2.7 beta it seems it will require some
work to get jython back working. So for now remove it from this list
so it doesn't get picked up by normal test runs.
2014-09-06 18:44:18 +01:00
Floris Bruynooghe
a8dfe34bfb
Merged in uweschmitt/pytest/default (pull request #194 )
2014-09-05 23:57:18 +01:00
Floris Bruynooghe
7d9d502a01
Use py3k compatible .__getattr__() code
...
From the python-dev thread it seemed like using
object.__getattribute__(self, 'name') is the cleanest way of
implementing a class wich uses .__getattr__() and should be
pickelable. That only works on new-style classes so this also turns
HookProxy into a new-style class on py2.
This also re-writes the test to not use cPickle so it runs on py3k.
2014-09-05 23:55:14 +01:00
holger krekel
745737e337
strike python2.5 from test code cc @flub
2014-09-05 09:50:40 +02:00
Floris Bruynooghe
eae1055fb0
Merged in nocoddemus/pytest/cx_freeze-support (pull request #189 )
2014-09-03 21:55:46 +01:00
holger krekel
2e1c36bbb6
merged in flub/pytest (PR #195 )
2014-09-02 12:33:19 +02:00
Benjamin Peterson
d4cd1aad8e
improvements to rewrite cache invalidation
...
- stat the source path before it is read.
- Validate the source size in addition to mtime.
2014-09-01 16:51:27 -04:00
Floris Bruynooghe
39a297afe6
Improve test by also matching expected output
2014-08-30 21:57:01 +01:00
Floris Bruynooghe
37bd1e03cb
Show user assertion messages and instrospection together
...
User provided messages, or any valid expression given as second
argument to the assert statement, are now shown in addition to the
py.test introspection details. Formerly any user provided message
would entirely replace the introspection details.
Fixes issue549.
2014-08-23 18:14:25 +02:00
uweschmitt
d1bde69c1e
added smoke test for bug fixed in 3716:dc080608b6d1
2014-08-19 12:57:37 +02:00
Floris Bruynooghe
424479cf0f
Escape newlines in repr for assertion rewriting
...
The assertion formatting mini-language depends on newlines being
escaped. Unfortunately if the repr of an object contained
newlines the rewriting module did not escape those, which is now
fixed.
Fixes issue453.
2014-08-18 20:07:38 +02:00