Bruno Oliveira
17c544e793
Introduce new pytest_report_collectionfinish hook
...
Fix #2622
2017-07-27 10:44:29 -03:00
Bruno Oliveira
3d89905114
Merge remote-tracking branch 'upstream/master' into features
2017-07-26 19:01:28 -03:00
Lawrence Mitchell
a546a612bd
Fix nondeterminism in fixture collection order
...
fixtures.reorder_items is non-deterministic because it reorders based
on iteration over an (unordered) set. Change the code to use an
OrderedDict instead so that we get deterministic behaviour, fixes #920 .
2017-07-26 14:41:10 +01:00
Bruno Oliveira
dd294aafb3
Merge pull request #2557 from blueyed/EncodedFile-name
...
capture: ensure name of EncodedFile being a string
2017-07-26 10:39:10 -03:00
Lawrence Mitchell
b39f957b88
Add test of issue #920
2017-07-26 14:38:38 +01:00
Bruno Oliveira
80f4699572
approx raises TypeError in Python 2 for comparison operators other than != and ==
2017-07-25 20:07:10 -03:00
Daniel Hahler
0603d1d500
capture: ensure name of EncodedFile being a string
...
Fixes https://github.com/pytest-dev/pytest/issues/2555 .
2017-07-25 20:37:37 +02:00
Daniel Hahler
869eed9898
Fix lineno offset in show_skipped
...
The line number is 0-based here, so add 1.
2017-07-25 15:19:47 +02:00
Bruno Oliveira
73c6122f35
Merge remote-tracking branch 'upstream/master' into features
2017-07-24 21:12:51 -03:00
Nguyễn Hồng Quân
d40d77432c
Add test case for DoctestItem.reportinfo()
2017-07-24 23:07:45 +07:00
Bruno Oliveira
bda07d8b27
Ignore socket warnings on windows for trial tests
2017-07-22 21:44:18 -03:00
Bruno Oliveira
0726d9a09f
Turn warnings into errors in pytest's own test suite
...
Fix #2588
2017-07-22 21:44:18 -03:00
Bruno Oliveira
6461dc9fc6
Merge pull request #2600 from RonnyPfannschmidt/mark_explicit_params
...
fix #2540 , introduce mark.with_args
2017-07-21 10:42:25 -03:00
Ronny Pfannschmidt
65b2de13a3
fix #2540 , introduce mark.with_args
2017-07-21 13:37:09 +02:00
Bruno Oliveira
7341da1bc1
Introduce pytest.mark.filterwarnings
2017-07-20 22:31:49 -03:00
Bruno Oliveira
22f54784c2
Add "fix-lint" tox environment to fix linting errors
2017-07-20 22:12:15 -03:00
Bruno Oliveira
abb5d20841
Merge branch 'master' into features
2017-07-20 22:10:58 -03:00
Bruno Oliveira
da12c52347
Fix: do not load hypothesis during test_logging_initialized_in_test
...
A recent release seem to have added a "logging" import to the top-level,
which breaks test_logging_initialized_in_test
2017-07-20 21:43:24 -03:00
Floris Bruynooghe
56e6b4b501
Merge pull request #2578 from Llandy3d/2375
...
Provides encoding attribute on CaptureIO
2017-07-20 23:14:14 +02:00
Bruno Oliveira
d44565f385
Merge remote-tracking branch 'upstream/master' into fix-flake8-errors
2017-07-19 17:57:30 -03:00
Bruno Oliveira
24da938321
Fix additional flake8 errors
2017-07-19 17:42:21 -03:00
Bruno Oliveira
26ee2355d9
Merge remote-tracking branch 'upstream/features' into fix-flake8-errors
2017-07-19 17:09:05 -03:00
Bruno Oliveira
c92760dca8
Merge branch 'fix-flake8-issues'
2017-07-19 17:03:36 -03:00
Bruno Oliveira
2d4f1f022e
Introduce PYTEST_CURRENT_TEST environment variable
...
Fix #2583
2017-07-19 10:01:50 -03:00
Bruno Oliveira
7b1870a94e
Fix flake8 in features branch
2017-07-17 21:16:14 -03:00
Bruno Oliveira
4fd92ef9ba
Merge branch 'fix-flake8-issues' into features
2017-07-17 21:05:39 -03:00
Andras Tim
b49e8baab3
Fixed E731 flake8 errors
...
do not assign a lambda expression, use a def
2017-07-17 01:44:23 +02:00
Andras Tim
15610289ac
Fixed E712 flake8 errors
...
comparison to True should be ‘if cond is True:’ or ‘if cond:’
2017-07-17 01:44:23 +02:00
Andras Tim
5ae59279f4
Fixed E704 flake8 errors
...
multiple statements on one line (def)
2017-07-17 01:44:23 +02:00
Andras Tim
85141a419f
Fixed E701 flake8 errors
...
multiple statements on one line (colon)
2017-07-17 01:44:23 +02:00
Andras Tim
7d2ceb7872
Fixed E501 flake8 errors
...
line too long (> 120 characters)
2017-07-17 01:44:23 +02:00
Andras Tim
b9e318866e
Fixed E402 flake8 errors
...
module level import not at top of file
2017-07-17 01:44:23 +02:00
Andras Tim
45ac863069
Fixed E401 flake8 errors
...
multiple imports on one line
2017-07-17 01:44:23 +02:00
Andras Tim
7248b759e8
Fixed E303 flake8 errors
...
too many blank lines (3)
2017-07-17 01:44:23 +02:00
Andras Tim
b840622819
Fixed E302 flake8 errors
...
expected 2 blank lines, found 0
2017-07-17 01:44:23 +02:00
Andras Tim
17a21d540b
Fixed E301 flake8 errors
...
expected 1 blank line, found 0
2017-07-17 01:44:23 +02:00
Andras Tim
4730c6d99d
Fixed E272 flake8 errors
...
multiple spaces before keyword
2017-07-17 01:44:23 +02:00
Andras Tim
c9a081d1a3
Fixed E271 flake8 errors
...
multiple spaces after keyword
2017-07-17 01:44:22 +02:00
Andras Tim
195a816522
Fixed E265 flake8 errors
...
block comment should start with ‘# ‘
2017-07-17 01:44:22 +02:00
Andras Tim
8f3eb6dfc7
Fixed E261 flake8 errors
...
at least two spaces before inline comment
2017-07-17 01:44:22 +02:00
Andras Tim
b226454582
Fixed E251 flake8 errors
...
unexpected spaces around keyword / parameter equals
2017-07-17 01:44:22 +02:00
Andras Tim
4c24947785
Fixed E241 flake8 errors
...
multiple spaces after ‘,’
2017-07-17 01:44:22 +02:00
Andras Tim
617e510b6e
Fixed E231 flake8 errors
...
missing whitespace after ‘,’, ‘;’, or ‘:’
2017-07-17 01:44:22 +02:00
Andras Tim
4b22f270a3
Fixed E226 flake8 errors
...
missing whitespace around arithmetic operator
2017-07-17 01:44:22 +02:00
Andras Tim
2e8caefcab
Fixed E225 flake8 errors
...
missing whitespace around operator
2017-07-17 01:44:22 +02:00
Andras Tim
3fabc4d219
Fixed E222 flake8 errors
...
multiple spaces after operator
2017-07-17 01:44:22 +02:00
Andras Tim
f640e0cb04
Fixed E221 flake8 errors
...
multiple spaces before operator
2017-07-17 01:44:22 +02:00
Andras Tim
ebb6d0650b
Fixed E203 flake8 errors
...
whitespace before ‘:’
2017-07-17 01:44:22 +02:00
Andras Tim
ba0a4d0b2e
Fixed E202 flake8 errors
...
whitespace before ‘)’
2017-07-17 01:28:17 +02:00
Andras Tim
1ff54ba205
Fixed E201 flake8 errors
...
whitespace after ‘(‘
2017-07-17 01:28:17 +02:00
Andras Tim
df54bf0db5
Fixed E131 flake8 errors
...
continuation line unaligned for hanging indent
2017-07-17 01:28:16 +02:00
Andras Tim
cf97159009
Fixed E128 flake8 errors
...
continuation line under-indented for visual indent
2017-07-17 01:28:16 +02:00
Andras Tim
57438f3efe
Fixed E127 flake8 errors
...
continuation line over-indented for visual indent
2017-07-17 01:28:16 +02:00
Andras Tim
e855a79dd4
Fixed E126 flake8 errors
...
continuation line over-indented for hanging indent
2017-07-17 01:28:16 +02:00
Andras Tim
051d76a63f
Fixed E124 flake8 errors
...
closing bracket does not match visual indentation
2017-07-17 01:28:16 +02:00
Andras Tim
4b20b9d8d9
Fixed E123 flake8 errors
...
closing bracket does not match indentation of opening bracket’s line
2017-07-17 01:28:16 +02:00
Andras Tim
425665cf25
Fixed E122 flake8 errors
...
continuation line missing indentation or outdented
2017-07-17 01:28:16 +02:00
Andras Tim
0be97624b7
Fixed E121 flake8 errors
...
continuation line under-indented for hanging indent
2017-07-17 01:28:16 +02:00
Andras Tim
6146ac97d9
Fixed E101 flake8 errors
...
indentation contains mixed spaces and tabs
2017-07-17 01:28:16 +02:00
Andras Tim
6af2abdb53
Fixed flake8 warnings
...
W191 indentation contains tabs
W292 no newline at end of file
W293 blank line contains whitespace
W391 blank line at end of file
2017-07-17 01:28:16 +02:00
Llandy Riveron Del Risco
ba9a76fdb3
Provides encoding attribute on CaptureIO
...
Fix #2375
2017-07-16 14:29:00 +02:00
Martin Altmayer
e5169a026a
#2574 : --fixtures, --fixtures-per-test keep indentation of docstring
2017-07-15 13:33:11 +02:00
Ronny Pfannschmidt
1485a3a902
Merge pull request #2566 from jmsdvl/iss2518
...
Detect and warn/ignore local python installations
2017-07-13 10:44:04 +02:00
John Still
67fca04050
update docs and note; add virtualenv collection tests
2017-07-11 23:14:38 -05:00
Bruno Oliveira
d9aaab7ab2
Merge remote-tracking branch 'upstream/master' into features
2017-07-10 17:51:59 -03:00
Pauli Virtanen
8a7d98fed9
Make YIELD_TEST warning less spammy
...
Emit it only once per each generator, rather than for each generated
function. Also add information about which test caused it to be emitted.
2017-07-10 21:41:09 +02:00
V.Kuznetsov
7a9fc69435
tests for ini option cache_dir
2017-07-07 13:07:33 +03:00
Ronny Pfannschmidt
ef62b86335
Merge pull request #2492 from kalekundert/features
...
Add support for numpy arrays (and dicts) to approx.
2017-07-06 11:46:51 +02:00
Bruno Oliveira
221f42c5ce
Change --strict help message to clarify it deals with unregistered markers
...
Fix #2444
2017-07-04 20:14:57 -03:00
Kale Kundert
8524a57075
Add "approx" to all the repr-strings.
2017-07-03 22:44:37 -07:00
Nathaniel Waisbrot
9b9fede5be
allow staticmethods to be detected as test functions
...
Allow a class method decorated `@staticmethod` to be collected as a test
function (if it meets the usual criteria).
This feature will not work in Python 2.6 -- static methods will still be
ignored there.
2017-06-29 07:44:36 -04:00
Bruno Oliveira
3de93657bd
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2017-06-24 00:47:48 -03:00
Bruno Oliveira
22b7701431
Merge pull request #2480 from nicoddemus/issue-2469-deprecated-call-ctx
...
deprecated_call context manager captures warnings already raised
2017-06-22 10:53:28 -03:00
Ronny Pfannschmidt
5e832017d5
Merge pull request #2487 from nicoddemus/recursion-error-2486
...
Fix internal error when trying to detect the start of a recursive traceback
2017-06-22 13:40:32 +02:00
Ronny Pfannschmidt
19b12b22e7
store pristine marks on function.pytestmark
...
fixes #2516
2017-06-22 10:48:45 +02:00
Kale Kundert
50769557e8
Skip the numpy doctests.
...
They seem like more trouble that they're worth.
2017-06-15 14:53:27 -07:00
Kale Kundert
8badb47db6
Implement suggestions from code review.
...
- Avoid importing numpy unless necessary.
- Mention numpy arrays and dictionaries in the docs.
- Add numpy to the list of tox dependencies.
- Don't unnecessarily copy arrays or allocate empty space for them.
- Use code from compat.py rather than writing py2/3 versions of things
myself.
- Avoid reimplementing __repr__ for built-in types.
- Add an option to consider NaN == NaN, because sometimes people use NaN
to mean "missing data".
2017-06-15 09:19:10 -07:00
Ronny Pfannschmidt
4e57a39067
Merge pull request #2468 from nicoddemus/collection-report-2464
...
Fix incorrect "collected items" report when specifying tests on the command-line
2017-06-14 10:57:57 +02:00
Ronny Pfannschmidt
af0344e940
Merge pull request #2500 from nicoddemus/issue-2434-doctest-modules
...
Fix decode error in Python 2 for doctests in docstrings
2017-06-14 05:52:44 +02:00
Bruno Oliveira
4e4ebbef5a
Improve test to ensure the expected function is re-raised
2017-06-13 20:16:48 -03:00
Bruno Oliveira
b09d60c60a
Fix decode error in Python 2 for doctests in docstrings
...
Fix #2434
2017-06-13 19:41:34 -03:00
Ryan Fitzpatrick
5a856b6e29
handle and reraise subrequest finalizer exceptions
2017-06-12 21:26:42 -04:00
Kale Kundert
9f3122fec6
Add support for numpy arrays (and dicts) to approx.
...
This fixes #1994 . It turned out to require a lot of refactoring because
subclassing numpy.ndarray was necessary to coerce python into calling
the right `__eq__` operator.
2017-06-11 19:27:41 -07:00
Bruno Oliveira
8bb589fc5d
Fix internal error when trying to detect the start of a recursive traceback.
...
Fix #2486
2017-06-09 19:26:26 -03:00
Ronny Pfannschmidt
917b9a8352
Merge pull request #2476 from nicoddemus/fix-2459-numpy-comparison
...
Fix internal error when a recursion error occurs and frames contain objects that can't be compared
2017-06-07 20:34:36 +02:00
Bruno Oliveira
2127a2378a
Fix internal error with recursive tracebacks with that frames contain objects that can't be compared
...
Fix #2459
2017-06-07 14:40:13 -03:00
Bruno Oliveira
620ba5971f
deprecated_call context manager captures warnings already raised
...
Fix #2469
2017-06-06 22:40:04 -03:00
Bruno Oliveira
9d41eaedbf
Issue UnicodeWarning only for non-ascii unicode
...
Fix #2463
2017-06-05 10:43:15 -03:00
Bruno Oliveira
46d157fe07
Fix collection report when collecting a single test item
2017-06-03 20:39:53 -03:00
Bruno Oliveira
87e4a28351
Fix incorrect collected items report when specifying tests on the command-line
...
Fix #2464
2017-06-03 20:39:53 -03:00
Segev Finer
f74f14f038
Fix --help with required options
...
This works by adding an argparse Action that will raise an exception in
order to skip the rest of the argument parsing. This prevents argparse
from quitting due to missing required arguments, similar to the way that
the builtin argparse --help option is implemented by raising SystemExit.
Fixes : #1999
2017-06-01 21:29:50 +03:00
Andreas Pelme
ac9c8fcdab
Failing test for issue #2121
2017-05-31 08:25:04 +02:00
Bruno Oliveira
1dee443c2b
Merge pull request #2445 from nicoddemus/warnings-remove-filter
...
No longer override existing warning filters during warnings capture
2017-05-30 18:14:01 -03:00
Bruno Oliveira
32e2642233
No longer override existing warning filters during warnings capture
...
Fix #2430
2017-05-30 17:17:36 -03:00
Bruno Oliveira
f96a1d89c5
pytest.deprecated_call now captures PendingDeprecationWarning in context manager form
...
Fix #2441
2017-05-30 12:52:18 -03:00
Bruno Oliveira
836dc451f4
Fix unicode issue while running doctests in Python 2
...
Fix #2434
2017-05-26 07:35:14 -03:00
wanghui
d7a5c5716f
Add UnicodeWarning for unicode warnings in Python2
2017-05-26 13:12:02 +08:00
wanghui
c39689da41
Correct warnings with unicode message.
2017-05-25 17:59:42 +08:00
Bruno Oliveira
f39f416c5d
Improve tests a bit
...
Use a normal function instead of a lambda
Parametrize test about suite name option
2017-05-12 17:52:50 -03:00
Dmitri Pribysh
c9282f9e94
Transition to using ini option for suite name
2017-05-12 17:48:50 -03:00
Dmitri Pribysh
fe7d89f033
Add '--junit-suite-name' CLI option
2017-05-12 17:48:50 -03:00
Bruno Oliveira
f3b359f5b8
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
...
# Conflicts:
# _pytest/capture.py
# _pytest/compat.py
# _pytest/python.py
# testing/python/collect.py
# testing/test_mark.py
2017-05-03 19:04:53 -03:00
Vitaly Lashmanov
60b8339166
Issue #2383 - Show the correct error message when collect "parametrize" func with wrong args and add test for this case.
2017-04-29 14:32:09 +03:00
Bruno Oliveira
25371ddbfd
Merge pull request #2315 from RonnyPfannschmidt/namespace-hook
...
remove pytest internal usage of the namespace hook
2017-04-21 16:24:20 -03:00
Kodi Arfer
dcefb287fc
Try not to assume a module's file extension is .py
2017-04-19 12:26:56 -07:00
Bruno Oliveira
0baf5e1499
Fix test that expected "unknown hook" error on stderr
2017-04-11 21:55:12 -03:00
Bruno Oliveira
83c508eea3
Verify hooks after collection completes
...
Fix #1821
2017-04-11 21:55:12 -03:00
Bruno Oliveira
78ac1bf5d1
Merge pull request #2350 from nicoddemus/future-imports-rewrite
...
Ensure rewritten modules don't inherit __future__ flags from pytest
2017-04-11 20:59:05 -03:00
Bruno Oliveira
1125786e78
Improve --lf/--ff test as commented during review
2017-04-11 17:55:55 -03:00
Jonas Obrist
0ab85e7a9c
Changed behavior if --lf and --ff are both used.
...
When using both --last-failed/--lf and --failed-first/--ff pytest would
run all tests with failed tests first (as if --lf was not provied). This
patch changes it so that when using both flags, only the last failed
tests are run. This makes it easier to set --ff as the default behavior
via the config file and then selectively use --lf to only run the last
failed tests.
2017-04-10 17:46:13 +09:00
Bruno Oliveira
1b5f898dc5
Ensure rewritten modules don't inherit __future__ flags from pytest
...
In a recent refactoring we enabled all __future__ features in pytest
modules, but that has the unwanted side effect of propagating those
features to compile()'d modules inside assertion rewriting, unless
we pass dont_inherit=False to compile().
2017-04-06 15:00:36 -03:00
reut
333ce9849d
added acceptance test for unicode plugin names
2017-04-06 10:54:47 +00:00
Bruno Oliveira
58ac4faf0c
Fix exception formatting while importing test modules
...
Fix #2336
2017-03-29 14:43:13 -03:00
Ronny Pfannschmidt
4d31ea8316
add a comment explaining the modimport tests
2017-03-28 11:45:06 +02:00
Ronny Pfannschmidt
bb750a7945
add missed file
2017-03-28 11:45:06 +02:00
Bruno Oliveira
74b54ac0ec
Fix errors related to warnings raised on pypy test environment
...
For some reason pypy raises this warning in the line that the catch_warnings block was added:
______________________________ ERROR collecting ______________________________
C:\ProgramData\chocolatey\lib\python.pypy\tools\pypy2-v5.4.1-win32\lib-python\2.7\pkgutil.py:476: in find_loader
loader = importer.find_module(fullname)
c:\pytest\.tox\pypy\site-packages\_pytest\assertion\rewrite.py:75: in find_module
fd, fn, desc = imp.find_module(lastname, path)
<builtin>/?:3: in anonymous
???
E ImportWarning: Not importing directory 'c:\users\bruno\appdata\local\temp\pytest-of-Bruno\pytest-3192\testdir\test_cmdline_python_package0' missing __init__.py
2017-03-21 22:32:41 -03:00
Bruno Oliveira
916d272c44
Fix test on linux
2017-03-20 23:44:50 -03:00
Bruno Oliveira
fa56114115
Clean up warnings generated by pytest's own suite
2017-03-20 22:13:17 -03:00
Bruno Oliveira
9f85584656
Merge remote-tracking branch 'upstream/features' into integrate-pytest-warnings
2017-03-20 19:59:05 -03:00
Ronny Pfannschmidt
e368fb4b29
implement pytest.param
...
this allows a clear addition of parameterization parameters that carry along marks
instead of nesting multiple mark objects and destroying the possibility of creating
function valued parameters,
it just folders everything together into one object carrfying parameters, and the marks.
2017-03-17 16:53:43 +01:00
Bruno Oliveira
4d947077bb
Fix test in py26 that expected a floor division error message
2017-03-16 23:07:03 -03:00
Bruno Oliveira
e5021dc9dc
Replace py.builtin.print_() calls by builtin print() function
2017-03-16 22:46:51 -03:00
Bruno Oliveira
42a5d6bdfa
Add __future__ imports to all pytest modules
...
This prevents silly errors from creeping in Python 2 when testing in Python 3
2017-03-16 22:45:40 -03:00
Bruno Oliveira
78194093af
Improve warning representation in terminal plugin and fix tests
2017-03-16 21:57:32 -03:00
Bruno Oliveira
be5db6fa22
Capture warnings around the entire runtestprotocol
...
This is necessary for the warnings plugin to play nice with the
recwarn fixture
2017-03-16 21:54:41 -03:00
Bruno Oliveira
0baed781fe
Merge remote-tracking branch 'upstream/features' into integrate-pytest-warnings
2017-03-16 20:02:06 -03:00
Bruno Oliveira
337f891d78
Fixed tests
2017-03-16 20:01:47 -03:00
Xander Johnson
dc6890709e
Change ValueError to io.UnsupportedOperation in capture.py. Resolves issue #2276
2017-03-14 18:55:58 -03:00
Bruno Oliveira
3c07072bfd
Fix test_recwarn in Python 3.6
...
No longer test for implementation details of recwarn since warnings.catch_warnings has changed
significantly in 3.6.
2017-03-13 19:52:35 -03:00
Bruno Oliveira
22864b75ee
Refactor recwarn to use warnings.catch_warnings instead of custom code
...
Since we dropped 2.5, we can now use warnings.catch_warnings to do the
"catch warnings" magic for us, simplifying the code a bit.
2017-03-13 19:28:36 -03:00
Bruno Oliveira
1e0cf5ce4d
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
...
# Conflicts:
# AUTHORS
# CHANGELOG.rst
# _pytest/pytester.py
2017-03-10 15:54:05 -03:00
fbjorn
cee578e327
Fix trailing whitespace in terminal output
2017-03-05 23:20:55 +03:00
Bruno Oliveira
272afa9422
Display node ids and the warnings generated by it
...
The rationale of using node ids is that users can copy/paste it to run a chosen test
2017-03-04 20:53:42 -03:00
Bruno Oliveira
de09023e45
Also capture warnings during setup/teardown
2017-03-04 16:15:03 -03:00
Bruno Oliveira
e24081bf76
Change warning output
2017-03-04 15:59:20 -03:00
Omer Hadari
6a52fe1650
fixed internal error on unprintable raised AssertionErrors
2017-03-04 10:26:46 +02:00
Katerina Koukiou
26e50f1162
junitxml: adjust junitxml output file to comply with JUnit xsd
...
Change XML file structure in the manner that failures in call and errors
in teardown in one test will appear under separate testcase elements in
the XML report.
2017-03-02 15:10:25 +01:00
Anthony Sottile
6ba3475448
Make capsys more like stdio streams in python3. Resolves #1407 .
2017-02-23 17:46:27 -08:00
Katerina Koukiou
d3a6be4130
junitxml: Fix double system-out tags per testcase
...
In the xml report we now have two occurences for the system-out tag if
the testcase writes to stdout both on call and teardown and fails in
teardown.
This behaviour is against the xsd.
This patch makes sure that the system-out section exists only
once per testcase.
2017-02-22 16:39:20 +01:00
Bruno Oliveira
82785fcd40
Use warnings.catch_warnings instead of WarningsRecorder
...
This has the benefical side-effect of not calling the original
warnings.showwarnings function, which in its original form
only writes the formatted warning to sys.stdout.
Calling the original warnings.showwarnings has the effect that nested WarningsRecorder all catch the warnings:
with WarningsRecorder() as rec1:
with WarningsRecorder() as rec2:
warnings.warn(UserWarning, 'some warning')
(both rec1 and rec2 sees the warning)
When running tests with `testdir`, the main pytest session would then see the warnings created by
the internal code being tested (if any), and the main pytest session would end up with warnings as well.
2017-02-18 13:08:14 -02:00
Bruno Oliveira
a7643a5fbe
Merge branch 'features' into integrate-pytest-warnings
2017-02-18 11:03:15 -02:00
Michal Wajszczuk
fb0b90646e
New-style classes implemented for python 2.7 - #2147
2017-02-16 20:28:17 +01:00
Bruno Oliveira
9c809f5ad0
Merge pull request #2255 from scop/spelling
...
Spelling fixes
2017-02-15 18:41:49 -02:00
Ville Skyttä
ede4e9171f
Spelling fixes
2017-02-15 17:00:58 +02:00
Bruno Oliveira
9eb1d73951
--override-ini now correctly overrides some fundamental options like "python_files"
...
#2238
2017-02-08 23:03:33 -02:00
Bruno Oliveira
6a097aa0f1
Merge branch 'master' into allow_skipping_unittests_with_pdb_active
2017-02-08 20:30:14 -02:00
Ran Benita
3a0a0c2df9
Ignore errors raised from descriptors when collecting fixtures
...
Descriptors (e.g. properties) such as in the added test case are
triggered during collection, executing arbitrary code which can raise.
Previously, such exceptions were propagated and failed the collection.
Now these exceptions are caught and the corresponding attributes are
silently ignored.
A better solution would be to completely skip access to all custom
descriptors, such that the offending code doesn't even trigger. However
I think this requires manually going through the instance and all of its
MRO for each and every attribute checking if it might be a proper
fixture before accessing it. So I took the easy route here.
In other words, putting something like this in your test class is still
a bad idea...:
@property
def innocent(self):
os.system('rm -rf /')
Fixes #2234 .
2017-02-07 14:27:34 +02:00
Vidar Tonaas Fauske
832c89dd5f
Test for `pytest.mark.xfail` with non-Python Item
2017-02-03 17:13:05 +01:00
Bruno Oliveira
abbff681ba
Fix '{0}' format for py26
2017-02-02 18:01:44 -02:00
Thomas Kriechbaumer
43662ce789
allow error message matching in pytest.raises
2017-02-02 19:52:33 +01:00
mbyt
ad56cd8027
extract a _handle_skip method, secure PY2 branch
2017-02-02 05:01:51 +01:00
mbyt
d1c725078a
Allow to skip unittests if --pdb active
...
closes #2137
2017-01-31 04:47:31 +01:00
Ronny Pfannschmidt
3b47cb45e6
Merge pull request #2222 from RonnyPfannschmidt/features
...
merge master into features
2017-01-26 13:48:10 +01:00
Ronny Pfannschmidt
713bdc1f9f
merge master into features
2017-01-26 12:00:52 +01:00
Ravi Chandra
0e58c3fa80
updates for PR review #2198
2017-01-21 16:47:49 +13:00
Ravi Chandra
c848d0a771
Pass parameter name to `make_parametrize_id` hook function
2017-01-21 16:46:45 +13:00
Ronny Pfannschmidt
e0c48b4fe7
Merge pull request #2212 from nicoddemus/pytester-rewrite
...
Assert statements of the pytester plugin again benefit from assertion rewriting
fixes #1920
2017-01-20 10:04:12 +01:00
Bruno Oliveira
7b4368f3f4
Merge pull request #2184 from eli-b/parseoutcomes-explicit-failure
...
Fail assert_outcomes() on missing terminal report
2017-01-19 21:38:54 -02:00
Bruno Oliveira
c477f09177
Assert statements of the pytester plugin again benefit from assertion rewriting
...
Fix #1920
2017-01-19 21:33:51 -02:00
Ronny Pfannschmidt
123289a88e
fixes #2208 by introducing a iteration limit
2017-01-19 11:38:15 +01:00
Bruno Oliveira
7cd7c283dd
Refactor plugin specs handling into an isolated function
2017-01-12 14:31:35 -02:00
Bruno Oliveira
043aadeaf2
Consider plugins loaded by PYTEST_PLUGINS for assertion rewrite
...
Fix #2185
2017-01-11 17:15:16 -02:00
Eli Boyarski
e18b2a427a
Fail assert_outcomes() on missing terminal report
...
Currently if the terminal report of testdir.runpytest() is missing,
assert_outcomes() on its output fails because parseoutcomes()
returns an unexpected value (None).
It's better to fail parseoutcomes() directly.
2017-01-11 17:09:37 +02:00
Jeff Widman
6d81c684cc
Switch monkeypatch fixture to yield syntax
2017-01-04 15:06:52 -08:00
Loïc Estève
7930a8373d
Newline for flake8
2017-01-03 10:57:19 -02:00
Loïc Estève
0bd8159b60
Add a test when multiple classes are specified in warns
2017-01-03 10:57:19 -02:00
Loïc Estève
6fd0394c63
pytest.warns checks for subclass relationship
...
rather than class equality. This makes it more similar to
pytest.raises.
2017-01-03 10:57:19 -02:00
Rafael Bertoldi
a9193a1531
No longer silently ignore errors in parametrize callable ids
2017-01-02 17:26:17 -02:00
Bruno Oliveira
402fbe503a
Merge branch 'master' into merge-master-into-features
2016-12-27 23:31:26 -02:00
Bruno Oliveira
091148f843
Merge pull request #2136 from hroncok/i2132
...
Tests: Check for ModuleNotFoundError on Python 3.6+
2016-12-27 23:10:58 -02:00
Bruno Oliveira
718f0b0255
Merge pull request #2130 from malinoff/fix-2129
...
Use inspect to properly detect generators. Fixes #2129
2016-12-27 22:11:46 -02:00
Bruno Oliveira
515fb09995
Move module error compatibility code to _pytest.compat
2016-12-27 22:01:22 -02:00
Miro Hrončok
1680eeb3a3
Tests: Check for ModuleNotFoundError on Python 3.6+
...
Those tests originally checked for ImportError. Since Python 3.6
ModuleNotFoundError is raised in this context instead, the tests didn't work
as they are text based (so exception inheritance does not save the day).
Fixes https://github.com/pytest-dev/pytest/issues/2132
2016-12-27 23:15:12 +01:00
Andreas Pelme
0bb8a4a36d
Fixed #2148 - parse directory names properly when args contains ::.
...
This commit also improves readbility in get_dirs_from_args by using self
documenting local functions.
get_dirs_from_args also now only returns directories that actually exists,
and not files to avoid confusion.
This commit also removes redundant checks in get_common_ancestor that
was already performed in get_dirs_from_args..
2016-12-27 15:28:56 +01:00
Loïc Estève
c5f0b751f4
Improve error message when pytest.warns fail
...
The error message contains the expected type of warnings and the
warnings that were captured. Add tests.
2016-12-20 13:45:39 +01:00
Bruno Oliveira
caee5ce489
Avoid importing asyncio directly because that in turn initializes logging ( #8 )
2016-12-13 21:54:20 -02:00
Bruno Oliveira
45eb9b566c
Move compat tests to a single file using testdir
...
This avoids having to resort to skipping modules in conftest.py file and avoids flake8 errors
2016-12-13 21:28:07 -02:00
Dmitry Malinovsky
3a59acf69f
Use inspect to properly detect generators. Fixes #2129
2016-12-11 21:59:11 +06:00
Dmitry Malinovsky
522d59e844
Use session.config.hook instead of ihook. Fixes #2124
2016-12-10 16:45:40 +06:00
Bruno Oliveira
57c4489916
Use a simple ``+-`` ASCII string in the string representation of pytest.approx In Python 2
...
Fix #2111
2016-12-02 20:01:53 -02:00
Bruno Oliveira
81528ea81f
Remove hook proxy cache
...
Fix #2016
2016-12-02 07:32:11 -02:00
Bruno Oliveira
bc0f7e6243
Fix false-positive assert rewrite warnings when using 'pytest_plugins'
...
pytest would emit false positive warnings about assertion-rewrite when a
module appears multiple times in plugins which depend
on other plugins using the 'pytest_plugins' mechanism
2016-12-01 15:50:08 -02:00
Luke Murphy
c856537e71
Add warning for incorrect passing args to `-o`.
2016-12-01 13:20:42 +01:00
Bruno Oliveira
669332b7e0
Merge pull request #2101 from wheerd/doctest-encoding
...
Added doctest encoding command line option
2016-11-30 17:43:42 -02:00
Luke Murphy
f5afd8cb54
Add missing `__test__` check for test discovery.
2016-11-30 17:05:42 +01:00
Manuel Krebber
f8fef07b4c
Fixed the tests for python 2.6
2016-11-30 14:19:07 +01:00
Manuel Krebber
c043bbb854
Changed the doctest_encoding option to an ini option.
...
Parametrized the tests for it.
2016-11-30 11:43:33 +01:00
Manuel Krebber
929912de29
Changed the tests to pass on python 2 as well.
2016-11-29 14:51:17 +01:00
Manuel Krebber
d254c6b0ae
Added some tests for --docstring-encoding option. Added option to specify encoding for internal testdir._makefile() for the tests.
2016-11-29 12:29:16 +01:00
Luke Murphy
4e1609b12e
Add `type` validation.
...
Argparse driven argument type validation is added for the
`--junit-xml` and `--confcutdir` arguments.
The commit partially reverts #2080 . Closes #2089 .
2016-11-28 02:16:01 +01:00
Bruno Oliveira
b30a6d22c5
Merge branch 'master' into merge-master-into-features
2016-11-27 17:30:40 -02:00
Luke Murphy
6c5475660a
Add test case for #595 .
...
This new test proves that reports do not capture stdout
by default when skipped.
2016-11-26 18:49:24 +01:00
Bruno Oliveira
33c0b06fdf
Fix error in approx's repr with complex numbers
...
Fix #2082
2016-11-24 15:33:12 -02:00
Bruno Oliveira
629d8e9fd6
Show an error if --confcutdir is not a valid directory
...
Fixes #2078
2016-11-23 09:49:11 -02:00
Ronny Pfannschmidt
a5b5090c72
Merge pull request #2070 from nedbat/bug2038
...
Don't fail if imp can't find the source for a .pyc file. #2038
2016-11-22 17:45:29 +01:00
Bruno Oliveira
bd343ef757
Merge remote-tracking branch 'upstream/features' into integrate-pytest-warnings
2016-11-22 14:35:39 -02:00
Bruno Oliveira
5ce551e469
Merge pull request #2075 from pytest-dev/master
...
Merge master into features after fixing flake8 errors
2016-11-22 14:10:31 -02:00
Bruno Oliveira
26ca5a702e
Add tests and integrated the original code into the core
2016-11-21 08:26:43 -02:00
Bruno Oliveira
984d4ce5ec
Fix test_excinfo_getstatement that broke because of whitespace changes
2016-11-20 19:12:42 -02:00
Bruno Oliveira
1eb5a690d4
Fix flake8 E305 and E306 errors
...
These errors started to appear with flake8-3.1.1, while they don't appear with
version 3.1.0 (weird).
2016-11-20 18:59:15 -02:00
Ned Batchelder
06bb61bbe3
Don't fail if imp can't find the source for a .pyc file. #2038
2016-11-20 13:09:32 -05:00
Bruno Oliveira
6876ba9ba6
Merge pull request #1995 from mattduck/feat/restructure-assert-truncation
...
Restructure truncation of assertion messages
2016-11-13 19:07:35 -02:00
Bruno Oliveira
efc54b2e56
Merge branch 'master' into merge-master-features
2016-11-11 18:56:53 -02:00
Bruno Oliveira
1130b9f742
Fix the stubborn test about cyclic references left by pytest.raises
...
In Python 2, a context manager's __exit__() leaves sys.exc_info with the exception values even when it was supposed
to suppress the exception, so we explicitly call sys.exc_clear() which removes the traceback and allow the object
to be released.
Also updated the test to not depend on the immediate destruction of the object but instead to ensure it is not being
tracked as a cyclic reference.
Fix #1965
2016-11-08 22:20:27 -02:00
Michael Seifert
552c7d4286
added test (thanks @nicoddemus) and added links in Changelog
2016-11-08 22:13:02 -02:00
Dan Wandschneider
e46e653794
Clean up unittest TestCase objects after tests are complete ( #1649 ).
...
Fix #1649
Users of unittest style TestCases will create expensive objects
in setUp. We should clean up TestCase instances that are lying
around so that they don't fill up memory.
2016-11-07 18:32:56 -08:00
Bruno Oliveira
006a901b86
Properly handle exceptions in multiprocessing tasks
...
Fix #1984
2016-11-03 10:48:43 -02:00
Georgy Dyuldin
e2bb4f893b
Fix teardown error message in generated xUnit XML
...
It was "test setup failure" even error happens on test teardown.
2016-11-02 15:50:32 +03:00
Mathieu Clabaut
6f93ffb5d4
Report teardown output on test failure
...
Until now, teardown stdout/stderr output was not reported upon test failure.
However such output is sometime necessary to understand the failure.
fix #442
2016-10-30 09:52:46 +01:00
Ronny Pfannschmidt
e9668d75b8
turn RecordedWarning into a namedtuple
...
fixes #2013
2016-10-24 15:23:53 +02:00
Ronny Pfannschmidt
35d154f580
Merge pull request #2011 from nicoddemus/false-rewrite-warnings
...
Fix false-positive warnings from assertion rewrite hook
2016-10-24 12:19:23 +02:00
Jason R. Coombs
f2c01c5407
Restore pexpect tests and bypass isalive/wait on macOS. Ref #2022 .
2016-10-21 12:36:42 -04:00
Jason R. Coombs
60a347aeb5
Also use flush where wait was called unconditionally
2016-10-21 12:11:35 -04:00
Jason R. Coombs
11ec96a927
Extract child flush as a staticmethod
2016-10-21 12:10:35 -04:00
Bruno Oliveira
9d00615bbf
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2016-10-20 21:51:42 -02:00
Bruno Oliveira
2a2b8cee09
Fix false-positive warnings from assertion rewrite hook
...
Fix #2005
2016-10-20 21:40:57 -02:00
Bruno Oliveira
620b384b69
Fix cmdline help message for custom options with two or more metavars
...
Fix #2004
2016-10-20 20:34:39 -02:00
Matthew Duck
acee88a118
Fix truncation tests: pyruntest() match
...
Fix issue with truncation tests for -vv and CI, where the test for
non-truncated output would return a positive match even on truncated output.
2016-10-16 20:54:51 +01:00
Bruno Oliveira
78eec0d7f8
Handle import errors with non-ascii messages when importing plugins
...
Fix #1998
2016-10-12 18:19:32 -03:00
Matthew Duck
0061d9bd3d
Fix flake8 (unused import, trailng whitespace)
2016-10-11 00:17:15 +01:00
Matthew Duck
b629da424e
Restructure truncation of assertion messages
...
This addresses ref https://github.com/pytest-dev/pytest/issues/1954 .
The current truncation for assertion explanations does not deal with long lines
properly:
- Previously if lines were too long it would display a "-n more lines"
message.
- 999e7c6541
introduced a bug where long lines can
cause index errors if there are < 10 lines.
Extract the truncation logic into its own file and ensure it can deal with
long lines properly.
2016-10-10 23:38:27 +01:00
Bruno Oliveira
a1d446b8e8
Display traceback from Import errors using pytest's short representation
...
Also omit pytest's own modules and internal libraries (py and pluggy) in low verbosity
Fix #1976
2016-10-03 21:46:44 -03:00
Bruno Oliveira
7d66e4eae1
Display full traceback from Import errors when collecting test modules
...
Fix #1976
2016-10-03 20:47:44 -03:00
Bruno Oliveira
336d7900c5
Fix test about pytest.skip message being used at global level
...
Fix #1959
2016-10-01 13:38:52 -03:00
Bruno Oliveira
654af0ba25
Merge remote-tracking branch 'upstream/master' into features
2016-09-26 19:32:53 -03:00
Bruno Oliveira
5e96edd435
Merge pull request #1952 from davidszotten/pdbcls_without_pdb_on_fail
...
Pdbcls without pdb on fail
2016-09-25 20:24:45 -03:00
Tyler Goodlet
6db2f315fa
Explain a bad scope value to the user
2016-09-21 16:40:58 -04:00
David Szotten
d75748ef6f
test for calling set_trace with custom pdb cls
2016-09-21 09:45:26 +00:00
David Szotten
c7b4b8cf6f
test
2016-09-21 09:45:23 +00:00
Lev Maximov
8cba033bbb
added a test
2016-09-20 02:47:59 +07:00
Floris Bruynooghe
887c097f8e
Merge pull request #1951 from mattduck/feat/1512-dict-compare-output
...
Feat/1512 dict compare output
2016-09-19 17:34:09 +01:00
Floris Bruynooghe
01db0f1cd1
Merge pull request #1923 from RonnyPfannschmidt/mark-internal-value
...
use consistent inner repressentation for marks
2016-09-19 15:30:22 +01:00
Matthew Duck
dd64d823b9
Don't display dict common items if verbosity=1
...
Part one of https://github.com/pytest-dev/pytest/issues/1512 .
If verbosity=1, assertion explanations are truncated at 10 lines. In this
situation, it's more important to tell the user which dictionary items are
different than which are the same.
2016-09-19 15:27:28 +01:00
Floris Bruynooghe
dc16fe2bb9
Merge junit-xml url attribute branch
...
Merge branch 'url_attr' of https://github.com/fushi/pytest into junitxml-url
2016-09-19 12:57:05 +01:00
Bruno Oliveira
04cf5e1df4
Fixed assertion rewriting for plugins in development mode
...
Fix #1934
2016-09-14 21:59:33 -03:00
Ronny Pfannschmidt
10094a3f09
use consistent inner repressentation for marks
2016-09-08 09:52:22 +02:00
Ronny Pfannschmidt
1c9bd9278e
Merge pull request #1913 from flub/builtin-assertion
...
Remove BuiltinAssertionError
2016-09-05 16:53:13 +02:00
Floris Bruynooghe
28b1896e9a
Remove BuiltinAssertionError
...
We used to have this when we where patching the real Python
AssertionError for use with reinterpret, but reinterpret is now
gone so we no longer need this as it is not used by rewrite.
2016-09-05 15:29:09 +02:00
Bruno Oliveira
1e10de574d
The "ids" argument to "parametrize" again accepts unicode strings in Python 2
...
Fixes #1905
2016-09-02 18:38:15 -03:00
mbyt
696a9112be
integrating review commets of @nicoddemus
...
plus small scale refactoring
2016-08-31 22:33:47 +02:00
mbyt
be08223d5a
Merge branch 'master' into disable_tearDown_and_cleanups_for_post_mortem_debugging
...
Conflicts:
CHANGELOG.rst
2016-08-31 20:35:31 +02:00
mbyt
10b3274924
adding corresponding test, authors and changelog
2016-08-31 20:22:54 +02:00
Bruno Oliveira
c8a366e551
Fix issue where pytest_plugins as string was marking wrong modules for rewrite
...
Fix #1888
2016-08-30 22:53:50 -03:00
Ahn Ki-Wook
856ad719d3
Fix UnicodeEncodeError when string comparison with unicode has failed.
2016-08-26 09:41:40 +09:00
John Towler
1b259f70f3
Testcase reports with a url attribute will now properly write this to junitxml
2016-08-25 13:08:51 -07:00
Jordan Guymon
a152ea2dbb
Add buffer attribute to stdin stub
2016-08-24 16:26:34 -07:00
Bruno Oliveira
972a5fb5d5
Improve error message when passing non-string ids to pytest.mark.parametrize
...
Fix #1857
2016-08-23 23:31:45 -03:00
Bruno Oliveira
df200297e2
Fix internal error when parametrizing using and empty list of ids()
...
Fix #1849
2016-08-23 18:18:46 -03:00
Bruno Oliveira
53a0e2b118
Fix code which guesses parametrized scope based on arguments
...
Fix #1832
2016-08-22 21:05:41 -03:00
Bruno Oliveira
6a8160b318
Add acceptance test for module loader
...
Related to #1837
2016-08-22 17:57:25 -03:00
Florian Bruhin
a20c3f9c44
Merge pull request #1827 from blueyed/Fix-spelling-s-outside-a-outside-of-a-
...
Fix spelling: s/outside a/outside of a/
2016-08-20 20:04:58 +02:00
Daniel Hahler
e306a53999
Fix spelling: s/outside a/outside of a/
2016-08-20 18:43:39 +02:00
Bruno Oliveira
63dc71c57e
Fix regression when using importorskip at module level
...
Fix #1822
2016-08-19 18:21:25 -03:00
Bruno Oliveira
3ba475c0f2
Move internal _is_unittest_unexpected_success_a_failure to "compat" module
...
Fix #1815
2016-08-17 22:50:10 -03:00
Bruno Oliveira
463e6572c5
Merge branch 'master' into merge-master-into-features
...
Preparing for 3.0
2016-08-17 22:39:23 -03:00
Bruno Oliveira
224ef67374
Quick fix for tests in config depended on the current directory
...
When running those tests from pytest's root folder, they would
fail because they would end up picking pytest's own pytest.ini
2016-08-17 21:32:05 -03:00
Bruno Oliveira
4ed412eb59
unittest's unexpectedSuccess should work as non-strict xpass
...
Make sure tests for that behavior obtain the same return code
using either pytest or unittest to run the same file
2016-08-17 21:32:04 -03:00
Raphael Pierzina
dfc659f781
Fix sys.version_info expression in xfail marker
2016-08-17 23:32:56 +01:00
Raphael Pierzina
0173952961
Fix py3 xfail expression evaluation and parametrize strict
2016-08-17 23:15:14 +01:00
Raphael Pierzina
767c28d422
Fix broken test in test_junitxml
2016-08-17 22:32:27 +01:00
Raphael Pierzina
d1f2f779ee
Use a better xfail reason
2016-08-17 22:31:56 +01:00
Raphael Pierzina
bb3d6d87b6
Merge branch 'master' into fix-report-outcome-for-xpass
2016-08-17 22:15:29 +01:00
Raphael Pierzina
018197d72a
Fix broken test in test_skipping and add one for strict xfail
2016-08-17 22:14:51 +01:00
Raphael Pierzina
ea379e0e4f
Fix test in test_junitxml and add one for strict
2016-08-17 22:02:54 +01:00
Florian Bruhin
789e4670e7
Merge pull request #1813 from nicoddemus/pytest-setup.cfg
...
Support [tool:pytest] in setup.cfg files
2016-08-17 20:33:57 +02:00
Florian Bruhin
c8ab79402c
Merge pull request #1811 from nicoddemus/revert-invocation-fixtures
...
Revert invocation-fixtures code
2016-08-17 20:32:54 +02:00
Bruno Oliveira
ab86dea529
Support [tool:pytest] in setup.cfg files
...
Also deprecate [pytest] usage in setup.cfg files
Fix #567
2016-08-17 08:19:38 -03:00
Bruno Oliveira
707b6b5e3f
Revert all invocation-fixtures code
...
Due to a serious regression found in #1794 , it was decided to pull off
invocation features from 3.0 so it can be (hopefully) re-introduced
in 3.1
2016-08-17 08:12:55 -03:00
Bruno Oliveira
f25771a101
Deprecate --resultlog cmdline option
...
Fix #830
2016-08-16 21:40:34 -03:00
Raphael Pierzina
55ec1d7f56
Update test_junitxml.py to interpret XPASS as passed
2016-08-15 23:58:16 +01:00
Bruno Oliveira
ca5957932b
Merge pull request #1806 from blueyed/fix-off-by-one-error-with-warnings
...
Fix off-by-one error with lines from request.node.warn
2016-08-15 19:04:00 -03:00
Daniel Hahler
c163cc7937
Improve display of continuation lines with multiline errors
...
Fixes https://github.com/pytest-dev/pytest/issues/717 .
Follow-up to https://github.com/pytest-dev/pytest/pull/1762 .
2016-08-14 22:34:31 +02:00
Daniel Hahler
16cb5d01b1
Fix off-by-one error with lines from request.node.warn
...
The line numbers in `node.location` seem to be zero-based?!
2016-08-14 22:10:01 +02:00
Daniel Hahler
5b95ee3c19
Pass exitstatus to pytest_terminal_summary hook
...
This is useful to know if a testrun has been interrupted
(EXIT_INTERRUPTED).
2016-08-14 22:06:35 +02:00
Raphael Pierzina
14a4dd0697
Extend test to verify longrepr in stdout
2016-08-12 23:31:38 +01:00
Raphael Pierzina
10a6ed1707
Update unittest test to expect failure for an unexpected success
2016-08-12 23:18:02 +01:00
Christian Boelsen
e4028b4505
Fix #1798 to include errors in total tests in junit xml output.
2016-08-08 13:35:49 +01:00
Floris Bruynooghe
99a4a1a784
Merge pull request #1791 from nicoddemus/ide-integration-1790
...
Internal adjustments for easier integration with IDEs
2016-08-07 23:50:50 +01:00
Bruno Oliveira
802755ceed
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2016-08-06 17:58:17 -03:00
Daniel Hahler
a2891420de
Fix determining rootdir from common_ancestor
2016-08-06 19:35:40 +02:00
Bruno Oliveira
1a79137d04
Add originalname attribute to Function
...
Related to #1790
2016-08-03 22:56:12 -03:00
Bruno Oliveira
ff296fd541
Add capstdout and capstderr attrs to TestReport
...
Related to #1790
2016-08-03 21:49:43 -03:00
Bruno Oliveira
08002ab75a
Add longreprtext property to TestReport objects
...
Related to #1790
2016-08-03 21:49:28 -03:00
Bruno Oliveira
6711b1d6ab
Rewrite asserts in test-modules loaded very early in the startup
...
Also now match modules which start with any of the names registered
using register_assert_rewrite as discussed in #1787
Fix #1784
2016-08-03 12:49:48 -03:00
Bruno Oliveira
277b6d3974
Sort fixture names when a fixture lookup error occurs
2016-08-02 19:45:31 -03:00
Bruno Oliveira
ea6191a0cd
Merge pull request #1779 from RonnyPfannschmidt/deselect-no-reason
...
terminal: dont pretend to know the deselection reason
2016-08-02 08:38:17 -03:00
Ronny Pfannschmidt
48f4e18280
fix deselect tests to match reason removal
2016-08-02 10:43:25 +02:00
Bruno Oliveira
553dc2600f
Strip invocation-scope suffix when displaying fixture lookup error
2016-08-01 20:34:56 -03:00
Raphael Pierzina
226f2795ba
Merge pull request #1782 from nicoddemus/invocation-fixtures-help
...
invocation-scoped fixtures show up once with --fixtures
2016-08-01 23:21:28 +01:00
Bruno Oliveira
44ecf2ab2f
invocation-scoped fixtures show up once with --fixtures
2016-08-01 18:48:29 -03:00
Bruno Oliveira
31c5194562
Fix broken test in py3k
2016-08-01 18:35:42 -03:00
satoru
3c8222f1db
Highlight the path of file location in error report
...
So that it's more obvious when we need to copy the file path.
2016-08-01 17:42:20 -03:00
Floris Bruynooghe
510a6083ba
Merge pull request #1758 from nicoddemus/deprecated-module
...
Add deprecation module to centralize deprecation messages and bits of…
2016-07-28 22:36:55 +01:00
Bruno Oliveira
ed36d627e4
Use PyInstaller for freeze test env
...
cx_freeze doesn't seem to be very well supported in Python 3.5.
Using pyinstaller instead and rename environment to "freeze" which
is a more generic term for freezing python code into standalone
executables.
Fix #1769
2016-07-26 22:02:37 -03:00
Bruno Oliveira
c2864aba3d
Merge branch 'master' into merge-master
...
# Conflicts:
# AUTHORS
# CHANGELOG.rst
# _pytest/monkeypatch.py
# _pytest/python.py
2016-07-25 19:06:29 -03:00
Bruno Oliveira
d911bfcb8a
Merge branch 'issue634-scopes' of https://github.com/Stranger6667/pytest
...
# Conflicts:
# CHANGELOG.rst
2016-07-25 18:26:50 -03:00
Bruno Oliveira
8f29ce26e9
Merge branch 'mark_missing_fixture_error' of https://github.com/eolo999/pytest
2016-07-25 18:20:17 -03:00
Bruno Oliveira
6c8b0a28e1
Add deprecation module to centralize deprecation messages and bits of code
2016-07-25 18:14:39 -03:00
Dmitry Dygalo
d72afe7e08
Fixed scope override inside metafunc.parametrize. Fixes #634
2016-07-25 12:42:50 +02:00
Roberto Polli
ab6aef1d1f
feature: default behavior now is to ignore duplicate paths specified from the command line. Use --keep-duplicates to retain duplicate paths.
2016-07-25 12:41:58 +02:00
Dmitry Dygalo
f7ad173fee
Fixed collection of classes with custom ``__new__`` method
2016-07-25 11:33:37 +02:00
Bruno Oliveira
a24146dd3c
Merge pull request #1757 from tramwaj29/improved-message-when-not-using-parametrized-variable
...
Improved message when not using parametrized variable
2016-07-24 13:02:03 -03:00
Tom Viner
42adaf5a61
Fix #1210 display msg for early calls to exit
2016-07-24 14:16:34 +02:00
JJ
4aede6faa6
fixed conflicts
2016-07-24 12:10:32 +02:00
JJ
d000f2536a
added a test for when the indirect is just a string
2016-07-24 10:47:06 +02:00
Daniel Hahler
5c5d7e05f7
Followup to #1718 : style/formatting
2016-07-24 00:21:42 +02:00
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