Commit Graph

2375 Commits

Author SHA1 Message Date
Anthony Shaw 0e83e4f292
conditional for resetting of sys.breakpointhook for cleanup where breakpoint() not supported 2018-03-23 14:26:16 +11:00
Anthony Shaw 21ada0fa23
add check for support of breakpoint() and use Custom Pdb class when system default is set 2018-03-23 14:20:10 +11:00
Anthony Shaw 3bca983a95
add a module global for whether the current runtime supports the builtin breakpoint function 2018-03-22 17:27:28 +11:00
Bruno Oliveira 17468fc99c Fix caplog docstring: indentation caused errors during docs build 2018-03-16 00:04:28 -03:00
Jason R. Coombs b66019202e Fix test failure on Python 2. Ref #3314. 2018-03-15 21:33:58 -04:00
Jason R. Coombs 2f47624b19 Allow DontReadFromInput to produce iterator without error. Fixes #3314. 2018-03-15 21:26:40 -04:00
Bruno Oliveira fbcf1a90c9
Merge pull request #3193 from pytest-dev/ref-docs
Reference docs
2018-03-15 12:04:34 -03:00
Bruno Oliveira 9517c3a2aa Suppress ``IOError`` when closing the temporary file used for capturing streams in Python 2.7.
Fix #2370
2018-03-13 17:41:42 -03:00
Thomas Hisch 5e92644f94 Properly reset LogCaptureHandler in caplog
Closes #3297
2018-03-13 00:36:51 +02:00
Julien Palard e71d907d34 Typo in example, os.getcwd does not take any parameter. 2018-03-12 15:19:26 +01:00
Bruno Oliveira c0fe4d483d Add environment variables 2018-03-06 20:41:21 -03:00
Bruno Oliveira 18a47bfd22 Add docs for CaptureFixture 2018-03-06 20:41:21 -03:00
Bruno Oliveira 988ace9eb2 Add documentation for marks 2018-03-06 20:41:20 -03:00
Bruno Oliveira f7178654e5 Add recwarn and tmpdir fixtures to the reference docs 2018-03-06 20:41:20 -03:00
Bruno Oliveira 215c6b281e Add Monkeypatch and tutorial links for logging 2018-03-06 20:41:20 -03:00
Bruno Oliveira 111c6d6a22 Improve pytestconfig and add record_xml_property 2018-03-06 20:41:20 -03:00
Bruno Oliveira 70f93263e9 Add reference docs to doctest_namespace 2018-03-06 20:41:19 -03:00
Bruno Oliveira 749288dcb6 Add reference docs to cache and capture fixtures 2018-03-06 20:41:19 -03:00
Bruno Oliveira 65534682aa Revert introduction of more_itertools
This was merged on master but really should be on features: we should not
add new dependencies in bug-fix releases

This reverts commits:

* cfaf3600c1
* 14a9b1ec83
2018-03-04 10:56:24 -03:00
Bruno Oliveira e980fbbe39
Merge pull request #3277 from maiksensi/bug/3241-check-if-dir-exists
Use `isdir` instead of `exists`
2018-03-04 10:49:25 -03:00
Maik Figura 056d9e8dc2
Use `isdir` instead of `exists` 2018-03-04 00:55:04 +01:00
Maik Figura 30453057e8
Add logging plugin to plugins list 2018-03-03 23:50:13 +01:00
Ronny Pfannschmidt 3b757b1b8c
Merge pull request #3265 from pytest-dev/feature/always-iterable-refactor
Consolidate behavior by using filterfalse and always_iterable
2018-03-01 08:51:44 +01:00
Bruno Oliveira 9fcbf57163
Merge pull request #3267 from feuillemorte/3260-fix-pytest-section
#3260 fix pytest section
2018-02-27 16:41:45 -03:00
feuillemorte 92219e576b #3260 Remove deprecation 2018-02-27 20:00:46 +03:00
feuillemorte 143ac5af99 #3260 Fix config.py for py27 2018-02-27 19:26:35 +03:00
feuillemorte 3f7223af44 #3260 Fix pytest section in setup ini file 2018-02-27 19:02:49 +03:00
Jason R. Coombs cfaf3600c1 Consolidate behavior by using filterfalse and always_iterable 2018-02-27 03:38:56 -05:00
feuillemorte 46c5d5355e #3203 Remove progress when no-capture 2018-02-26 17:19:58 +03:00
Bruno Oliveira bedceaacc4
Merge pull request #3249 from a-feld/request-fixture-reference-cycle
Fix PseudoFixtureDef reference cycle.
2018-02-22 19:23:56 -03:00
Allan Feldman 48548767fc Use a frozen attr class for PseudoFixtureDef. 2018-02-21 23:15:39 -08:00
Allan Feldman 75f11f0b65 Fix reference cycle caused by PseudoFixtureDef.
Python types have reference cycles to themselves when they are created. This is
partially caused by descriptors which get / set values from the __dict__
attribute for getattr / setattr on classes.

This is not normally an issue since types tend to remain referenced for the
lifetime of the Python process (and thus never become garbage).

However, in the case of PseudoFixtureDef, the class is generated in
_get_active_fixturedef and later discarded when pytest_fixture_setup returns.
As a result, the generated PseudoFixtureDef type becomes garbage.

This is not really a performance issue but it can lead to some problems when
making tests and assertions about garbage when using pytest.

This garbage creation problem can be rectified by returning a namedtuple
instance which is functionally the same. In the modified code, the namedtuple
is allocated / deallocated using reference counting rather than having to use
the garbage collector.
2018-02-21 21:40:54 -08:00
mike 6e14585ca2 Fix approx default tolerances for Decimal 2018-02-21 23:08:23 +01:00
Bruno Oliveira b486e1294b
Merge pull request #3222 from The-Compiler/match-msg
Remove "matching '...'" part from the pytest.raises message
2018-02-17 21:18:05 -02:00
Bruno Oliveira 9d879bee36
Merge pull request #3215 from pytest-dev/bugfix/985/disable-output-capturing-in-doctest
Disable output capturing in doctest
2018-02-17 18:39:32 -02:00
Jason R. Coombs 4131d3f300 Probably it's best to write the err stream to stderr. 2018-02-17 12:13:33 -05:00
Jason R. Coombs 254e357076 Correct the broken indentation. 2018-02-17 12:10:29 -05:00
Bruno Oliveira 00d3001138
Merge pull request #3188 from s0undt3ch/issues/3184
Don't traceback on unkown sections.
2018-02-17 09:02:44 -02:00
Bruno Oliveira 6bc45d158d
Merge pull request #3186 from brianmaissy/bugfix/print_captured_stdout_before_entering_pdb
Added printing of captured stdout before entering pdb
2018-02-15 19:38:23 -02:00
Jason R. Coombs 435b8ddc7c
Rename method for additional clarity. 2018-02-15 09:17:33 -05:00
Florian Bruhin 3cbf0c8ec0 Raise unexpected exceptions with pytest.raises() using match= 2018-02-15 12:11:56 +01:00
Florian Bruhin 9849022eb2 Remove "matching '...'" part from the pytest.raises message
When a test with pytest.raises(ValueError, match='foo') doesn't raise, the
following error is printed:

    Failed: DID NOT RAISE <class 'ValueError'> matching 'foo'

This error message is confusing as it implies a ValueError was raised, but the
message wasn't matching 'foo'.

I first considered rewording it somehow to preserve the match pattern in it, but
I don't think that's worthwhile as the pattern should usually be apparent from
the stacktrace anyways (hard-coded, as parametrization, or with --showlocals for
more sophisticated cases).
2018-02-14 19:20:00 +01:00
Jason R. Coombs 18c84a1904 Restrict fix to macOS only. Ref #3215. 2018-02-13 17:51:20 -05:00
Jason R. Coombs ce1872e7e8 Merge branch 'master' into bugfix/985/disable-output-capturing-in-doctest 2018-02-13 12:33:07 -05:00
Jason R. Coombs 391553887b Disable output capturing in doctest to avoid losing reference to stdout. Fixes #985. 2018-02-13 12:08:39 -05:00
Brian Maissy 7656fc8320 Added printing of captured stdout and stderr before entering pdb 2018-02-12 23:17:51 +02:00
Marcin Bachry b6166dccb4 Fix mock patchings detection when both mock and unittest.mock are present 2018-02-12 20:29:37 +01:00
Andy Freeland e5b527d0e3 Add Sphinx parameter docs for `match` and `message` args to `pytest.raises()` 2018-02-09 16:28:17 -08:00
Bruno Oliveira f72182977d
Merge pull request #3183 from cheezman34/master
Fix ordering of tests to minimize fixture creating
2018-02-07 18:15:41 -02:00
Pedro Algarvio 0d15a46863
Don't traceback on unkown sections. 2018-02-05 19:09:38 +00:00