Victor
70ebab3537
Renamed snap_global_capture to read_global_capture.
2018-08-20 17:48:14 +02:00
Victor
d611b03589
Parametrized tests for capfd as well. Separated global capture test.
2018-08-20 12:23:59 +02:00
victor
7ea4992f16
Fixed linting.
2018-08-19 15:46:02 +02:00
victor
0564b52c0e
Fixed integration with other modules/tests
2018-08-19 15:26:57 +02:00
victor
9e382e8d29
Fixed test.
2018-08-19 14:29:57 +02:00
victor
2255892d65
Improved test to cover more cases.
2018-08-19 13:44:12 +02:00
Bruno Oliveira
f4c5994d27
Fixtures during teardown can use capsys and capfd to get output from tests
...
Fix #3033
2018-08-18 14:46:24 -03:00
Tyler Richard
c24c7e75e2
Added regression test for capfd in a fixture
2018-08-18 14:11:04 -03:00
Victor
3059bfb1b3
Update test with another problem.
2018-08-17 13:00:27 +02:00
Victor
da9d814da4
Added test.
2018-08-17 00:20:51 +02:00
Anthony Sottile
4ae93a7a07
Remove obsolete __future__ imports
2018-07-08 08:37:02 -07:00
Anthony Sottile
cbaa7dd56a
Upgrade pre-commit hooks except pyupgrade
2018-06-26 06:35:27 -07:00
Ronny Pfannschmidt
464117b472
fix imports in tests
2018-06-05 10:20:36 +02:00
Ronny Pfannschmidt
3e08c4ee64
sort out flake8 issues and unicode name usage
2018-05-23 18:12:04 +02:00
Ronny Pfannschmidt
703e4b11ba
run black
2018-05-23 16:48:46 +02:00
Ville Skyttä
aa51fcb2b6
Spelling and grammar fixes
2018-05-13 12:06:09 +02:00
Jason R. Coombs
3c3fc3bb9d
Add test capturing new expectation. Ref #3314 .
2018-03-15 21:25:50 -04: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
Bruno Oliveira
af37778b0d
All classes now subclass object for better py3 compatibility
...
Fix #2147
2018-01-24 18:23:42 -02:00
Bruno Oliveira
dab889304e
Implement progress percentage reporting while running tests
...
Fix #2657
2017-11-21 21:01:41 -02:00
Anthony Sottile
219b758949
Add capsysbinary fixture
...
`capsysbinary` works like `capsys` but produces bytes for `readouterr()`.
2017-11-17 09:02:46 -08:00
Anthony Sottile
8f90812481
Add capfdbinary fixture
...
`capfdbinary` works like `capfd` but produces bytes for `readouterr()`.
2017-11-14 14:50:00 -08:00
Samuel Dion-Girardeau
b27dde24d6
Use a nametuple for `readouterr()` results
...
This allows accessing `out` and `err` directly by attribute,
while preserving tuple unpacking.
Also added tests, one for the `capsys` fixture, and one for the
`MultiCapture` class itself.
2017-10-28 14:53:19 -04:00
Ronny Pfannschmidt
c750a5beec
Merge pull request #2794 from thisch/catchlog
...
Merge pytest-catchlog plugin
2017-10-12 09:02:46 +02:00
Thomas Hisch
8aed5fecd9
Remove test_logging_initialized_in_test
2017-10-12 02:19:24 +02:00
Bruno Oliveira
f9589f7b64
Resume output capturing after capsys/capfd.disabled() context manager
...
Fix #1993
2017-09-29 17:24:31 -03:00
Bruno Oliveira
22f338d74d
Refactor some names for better understanding and consistency
2017-09-26 20:09:42 -03:00
Bruno Oliveira
9919269ed0
Allow to use capsys and capfd in other fixtures
...
Fix #2709
2017-09-26 20:09:36 -03:00
Thomas Hisch
3e71a50403
Remove unneeded sys import from unittest
2017-09-22 22:27:50 +02:00
Thomas Hisch
1ba219e0da
Adapt (logging) unittest
2017-09-22 22:27:50 +02:00
Bruno Oliveira
cc0f2473eb
Fix windows console workaround error with non-standard io-streams
...
Fix #2666
2017-08-07 20:57:13 -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
Bruno Oliveira
22f54784c2
Add "fix-lint" tox environment to fix linting errors
2017-07-20 22:12:15 -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
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
195a816522
Fixed E265 flake8 errors
...
block comment should start with ‘# ‘
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
cf97159009
Fixed E128 flake8 errors
...
continuation line under-indented for visual indent
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
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
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
Xander Johnson
dc6890709e
Change ValueError to io.UnsupportedOperation in capture.py. Resolves issue #2276
2017-03-14 18:55:58 -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
Anthony Sottile
6ba3475448
Make capsys more like stdio streams in python3. Resolves #1407 .
2017-02-23 17:46:27 -08:00
Michal Wajszczuk
fb0b90646e
New-style classes implemented for python 2.7 - #2147
2017-02-16 20:28:17 +01:00
Ville Skyttä
ede4e9171f
Spelling fixes
2017-02-15 17:00:58 +02:00
Jordan Guymon
a152ea2dbb
Add buffer attribute to stdin stub
2016-08-24 16:26:34 -07: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
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
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
72bf11cbe9
Add disabled() method to capsys and capfd
...
Fix #1599
2016-06-19 19:14:36 +02:00
Bruno Oliveira
a912d3745b
Moved py.code code over to py.test
...
Fix #103
2016-01-25 23:18:04 -02:00
Michael Aquilina
4e94135d36
Remove incorrect use of pytest.mark.skip
2015-10-03 16:42:14 +01: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
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
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
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
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
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
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
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
uweschmitt
d1bde69c1e
added smoke test for bug fixed in 3716:dc080608b6d1
2014-08-19 12:57:37 +02:00
holger krekel
1d7b574b31
fix issue555: just add "errors" attribute to internal Capture stream.
2014-08-07 11:05:42 +02:00
holger krekel
1265612465
fix issue547 2.6 regression: capsys/capfd now work again when output capturing ("-s") is disabled.
2014-07-28 13:17:37 +02:00
holger krekel
54c88a6cf3
fix flakes issues
2014-06-16 11:27:32 +02:00
holger krekel
e6859406f1
fix test on py33, thanks msabramo1
2014-04-02 20:49:57 +02:00
holger krekel
68e58e1493
add a test for robustness of capturing when a test closes FD1/2
2014-04-02 20:29:10 +02:00
Marc Abramowitz
2c0f6207e9
test_capture.py: More PEP8. Remove unused `cap` in `with`.
...
--HG--
branch : remove_unused_import
2014-04-02 09:48:08 -07:00
Marc Abramowitz
02d94e69f0
testing/test_capture.py: Remove unused `import tempfile`
...
--HG--
branch : remove_unused_import
2014-04-02 09:14:16 -07:00
holger krekel
0c04b44919
fix issue492: avoid leak in test_writeorg
2014-04-02 12:32:21 +02:00
holger krekel
21b4280126
Merged in msabramo/pytest/test_writeorg_close_tempfile (pull request #136 )
...
test_writeorg: Close a tempfile
2014-04-02 09:30:55 +02:00
holger krekel
ce8678e6d5
remove non-documented per-conftest capturing option and simplify/refactor all code accordingly. Also make capturing more robust against tests closing FD1/2 and against pdb.set_trace() calls.
2014-04-01 14:32:12 +02:00
holger krekel
ca5e6830c6
avoid some redundancy by using SysCapture from FDCapture for manipulating sys.std{out,in,err}
2014-04-01 14:19:55 +02:00
holger krekel
69cbac8fb5
rename StdCaptureBase to MultiCapture
2014-04-01 14:19:52 +02:00
Marc Abramowitz
7301981f32
test_writeorg: Close a tempfile
...
--HG--
branch : test_writeorg_close_tempfile
2014-03-31 08:25:35 -07:00
holger krekel
9d716a39d6
fix issue412 and other encoding issues. Streamline dupfile() into
...
a new more thoughtful safe_text_dupfile helper.
2014-03-28 11:27:02 +01:00
holger krekel
923dcfd620
cleanup and refine issue412 test (still failing on py33)
2014-03-28 09:46:38 +01:00
holger krekel
b5467645d3
merge
2014-03-28 09:27:44 +01:00
holger krekel
0b340aa1f6
simplify some capturing tests
2014-03-28 07:55:07 +01:00
holger krekel
a8f4f49a82
simplify reset/stop_capturing and fix capturing wrt to capturing simple os.write() calls
2014-03-28 07:11:25 +01:00
holger krekel
e18c3ed494
unify and normalize Sys/FD Capturing classes
...
* * *
more unification
2014-03-28 07:03:37 +01:00
holger krekel
2263fcf6b7
remove unused "suspend/resume" on capturing, some formatting cleanup
2014-03-28 07:03:34 +01:00
Ronny Pfannschmidt
2b2c1e5b7b
condition for python3 of the xfailing test for 412
2014-03-27 14:01:38 +01:00
holger krekel
7b63fa5966
merge in current default
2014-03-27 13:57:54 +01:00
Ronny Pfannschmidt
b18040337a
xfailing test for issue 412
2014-03-27 13:53:59 +01:00
holger krekel
9777703e03
- turn on capturing before early conftest loading and make terminal writer
...
use the original stream.
- avoid resetting capture FDs/sys.stdout for each test by keeping capturing
always turned on and looking at snapshotted capturing data during runtest
and collection phases.
2014-03-14 12:49:36 +01:00
holger krekel
b47fdbe0a7
remove externally setting and dealing with "item.outerr" from capturing in favor of a direct interface for adding reporting sections to items.
...
* * *
refactor makereport implementation to avoid recursion with __multicall__
2014-03-14 12:49:34 +01:00
holger krekel
1830de2c13
make it clear that this xfail is an unimplemented feature, nothing more.
2014-01-29 13:56:24 +01:00
holger krekel
25ab906b8b
add release announcement, bump version to 2.5.2,
...
add links to plugins index, regenerate doc examples.
2014-01-29 13:47:11 +01:00
holger krekel
4eabfed651
refactor lsof checking and fix an lsof leak in pypy
2014-01-29 11:18:15 +01:00
holger krekel
6f385fb4ea
remove "mixed" capturing mode which is not used by pytest
...
--HG--
branch : capsimple1
2014-01-25 19:56:27 +01:00
holger krekel
18e12cbd67
remove "StdCapture*.call" classmethod because pytest does not use it.
...
--HG--
branch : capsimple1
2014-01-25 19:43:57 +01:00
holger krekel
3cf4e133cc
remove now parameter because pytest only used now==False everywhere
...
--HG--
branch : capsimple1
2014-01-25 19:42:45 +01:00
Ronny Pfannschmidt
177637bfb9
Redo the Capture integration propperly
2014-01-24 21:22:19 +01:00
holger krekel
400b51caf6
mark encoding test as xfail also on py2
2014-01-22 22:18:33 +01:00
holger krekel
9aaf0fd340
backing out Ronny's PR because it was merged too early (still has failing tests)
2014-01-22 22:15:40 +01:00
Ronny Pfannschmidt
ac2f2b1deb
add notes on the copied pylib version
2014-01-22 21:50:07 +01:00
Ronny Pfannschmidt
0be961a0f3
capture tests: move imports and declarations to the top
2014-01-22 21:46:35 +01:00
Ronny Pfannschmidt
3cc58c2f78
rewrite all testing uses of py.io to _pytest.capture
2014-01-22 19:32:23 +01:00
Ronny Pfannschmidt
0ac94134f5
initial code import for capture transfer
2014-01-22 19:04:38 +01:00
Ronny Pfannschmidt
c142f2551d
xfailing test for captire encoding issues with binary stdio
2014-01-22 18:07:54 +01:00
holger krekel
2700a94d49
remove an old duplicate marker and use recent pytest mechanism for parametrization
2013-11-21 14:40:14 +01:00
holger krekel
2c7d00579b
bump version, some windows test fixes, prevent logging from raising exceptions at the end (finally), add py25 to tox.ini.
2013-09-30 16:09:26 +02:00
holger krekel
db6f347db6
fix issue358 -- introduce new pytest_load_initial_conftests hook and make capturing initialization use it, relying on a new (somewhat internal) parser.parse_known_args() method.
...
This also addresses issue359 -- plugins like pytest-django could implement a pytest_load_initial_conftests hook like the capture plugin.
2013-09-30 13:14:16 +02:00
Ronny Pfannschmidt
ba79c1926c
add a test for issue 14 that will xfail on python < 2.7
2013-03-25 08:53:08 +01:00
holger krekel
bb07ba7807
rename a number of internal and externally visible variables to use the fixture name
...
rather than funcargs. Introduce .funcargnames compatibility attribute for backward compat.
2012-10-05 14:24:44 +02:00
holger krekel
3049af618c
avoid pyc file issues by parametrizing the test instead of rewriting conftest.py files
2012-10-04 11:51:14 +02:00
holger krekel
3f17784386
fix issue128 - show captured output when capsys/capfd are in use
2012-06-03 21:01:27 +02:00
holger krekel
8307270cec
yay! now that we have perfect teardowns we don't need some ugly internal hooks anymore.
2011-12-02 21:00:21 +00:00
holger krekel
a2f4a11301
refine lsof/FD leakage testing and rework test setup and some of pytest own tests. Note that the actual diff to non-test code is small. Also remove some redundant tests (introduced by a copy-paste-error apparently in test_mark.py).
2011-11-07 18:08:41 +00:00
holger krekel
d8d88ede65
refine and unify initial capturing - now works also if the logging module
...
is already used from an early-loaded conftest.py file (prior to option parsing)
2011-01-18 12:51:21 +01:00
holger krekel
2e80512bb8
fix issue8 : avoid errors caused by logging module wanting to close already closed streams.
...
The issue arose if logging was initialized while capturing was enabled
and then capturing streams were closed before process exit, leading
to the logging module to complain.
2010-12-06 16:56:12 +01:00
holger krekel
b622c85bbf
last changes, preparing 2.0.0
2010-11-25 20:06:42 +01:00
holger krekel
bc42cf8ffb
add a way to mark hooks as "tryfirst" or "trylast" to influence its position in a hook chain.
...
Use 'tryfirst' for capturing hooks so they can start capturing as early as possible,
including when conftests add output in runtest_setup hooks.
2010-11-21 23:17:59 +01:00
holger krekel
a698465487
streamline docs, especially use "import pytest" and "pytest.*" in python code examples instead of "import py" and "py.test.*".
2010-11-17 22:12:16 +01:00
holger krekel
076e03e90f
also un-nest test directory
2010-11-13 11:30:40 +01:00