59b3693988 
								
							 
						 
						
							
							
								
								Fixed wrong if in the WindowsConsoleIO workaround  
							
							
							
						 
						
							2017-06-02 12:34:26 +03:00  
				
					
						
							
							
								 
						
							
								05796be21a 
								
							 
						 
						
							
							
								
								A workaround for Python 3.6 WindowsConsoleIO breaking with FDCapture  
							
							... 
							
							
							
							Python 3.6 implemented unicode console handling for Windows. This works
by reading/writing to the raw console handle using
``{Read,Write}ConsoleW``.
The problem is that we are going to ``dup2`` over the stdio file
descriptors when doing ``FDCapture`` and this will ``CloseHandle`` the
handles used by Python to write to the console. Though there is still some
weirdness and the console handle seems to only be closed randomly and not
on the first call to ``CloseHandle``, or maybe it gets reopened with the
same handle value when we suspend capturing.
The workaround in this case will reopen stdio with a different fd which
also means a different handle by replicating the logic in
"Py_lifecycle.c:initstdio/create_stdio".
See https://github.com/pytest-dev/py/issues/103  
							
						 
						
							2017-06-02 11:19:03 +03:00  
				
					
						
							
							
								 
						
							
								d86c89e193 
								
							 
						 
						
							
							
								
								Revert refactor of old-style to new-style classes  
							
							... 
							
							
							
							As discussed in the mailing list, unfortunately this might break APIs
due to the subtle differences between new and old-style classes (see #2398 ).
This reverts commit d4afa1554b#2179 . 
							
						 
						
							2017-05-17 18:20:51 -03:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								6ba3475448 
								
							 
						 
						
							
							
								
								Make capsys more like stdio streams in python3.   Resolves   #1407 .  
							
							
							
						 
						
							2017-02-23 17:46:27 -08:00  
				
					
						
							
							
								 
						
							
								d4afa1554b 
								
							 
						 
						
							
							
								
								Refactored old style classes to new style classes  
							
							
							
						 
						
							2017-01-08 22:52:42 -06:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								3444796f3e 
								
							 
						 
						
							
							
								
								Fix formating error.  
							
							
							
						 
						
							2016-09-26 13:59:28 +03:00  
				
					
						
							
							
								 
						
							
								8985c0be3e 
								
							 
						 
						
							
							
								
								Change exception raised by DontReadFromInput.fileno() from ValueError to io.UnsupportedOperation  
							
							
							
						 
						
							2016-09-26 13:15:35 +03:00  
				
					
						
							
							
								 
						
							
								a152ea2dbb 
								
							 
						 
						
							
							
								
								Add buffer attribute to stdin stub  
							
							
							
						 
						
							2016-08-24 16:26:34 -07:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								7e37497d5a 
								
							 
						 
						
							
							
								
								Uppercase first word in docstrings. Change to an imperative form. Add name to authors.  
							
							
							
						 
						
							2016-07-22 12:39:06 +02:00  
				
					
						
							
							
								 
						
							
								775100881a 
								
							 
						 
						
							
							
								
								Implement invocation-scoped fixtures  
							
							
							
						 
						
							2016-07-09 22:52:05 -03:00  
				
					
						
							
							
								 
						
							
								ef9dd14963 
								
							 
						 
						
							
							
								
								Introduce pytest command as recommended entry point  
							
							... 
							
							
							
							Fixes  #1629  
						
							2016-06-21 16:16:57 +02:00  
				
					
						
							
							
								 
						
							
								72bf11cbe9 
								
							 
						 
						
							
							
								
								Add disabled() method to capsys and capfd  
							
							... 
							
							
							
							Fix  #1599  
						
							2016-06-19 19:14:36 +02:00  
				
					
						
							
							
								 
						
							
								5afb61ad26 
								
							 
						 
						
							
							
								
								Fix trailing white-space  
							
							
							
						 
						
							2015-12-25 17:51:55 -02:00  
				
					
						
							
							
								 
						
							
								57bc14caa0 
								
							 
						 
						
							
							
								
								Apply readline workaround during initial conftest loading  
							
							
							
						 
						
							2015-12-25 17:46:19 -02:00  
				
					
						
							
							
								 
						
							
								6e170a4a1c 
								
							 
						 
						
							
							
								
								* Moved workaround to its own function, mostly for the sake of adding  
							
							... 
							
							
							
							a more descriptive docstring (the workaround itself is just to import
  readline earlier).  I removed the conditional on targetfd from the
  workaround since it doesn't really matter.
* Added # noqa marker.
* Added changelog entry, and self to authors. 
							
						 
						
							2015-12-24 16:43:34 -05:00  
				
					
						
							
							
								 
						
							
								924a9667e1 
								
							 
						 
						
							
							
								
								Make sure readline has been imported before duping any stdio handles--otherwise pyreadline fails to connect to the correct handle for the console's stdout/in.  
							
							
							
						 
						
							2015-12-24 14:56:57 -05:00  
				
					
						
							
							
								 
						
							
								c10f483b9f 
								
							 
						 
						
							
							
								
								Don't hardcode 'std' for captured stdout/stderr.  
							
							... 
							
							
							
							This will make Item.add_report_sect more usable for plugins.
See https://github.com/eisensheng/pytest-catchlog/pull/7  
							
						 
						
							2015-09-22 20:29:16 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								0253f7b8d5 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								224b3a2eda 
								
							 
						 
						
							
							
								
								hopefully final fix for strange infinite recursion bug  
							
							
							
						 
						
							2014-08-11 12:57:47 +02:00  
				
					
						
							
							
								 
						
							
								5d024c7433 
								
							 
						 
						
							
							
								
								hopefully final fix for strange infinite recursion bug  
							
							
							
						 
						
							2014-08-11 12:42:36 +02:00  
				
					
						
							
							
								 
						
							
								c0d1f3f7ef 
								
							 
						 
						
							
							
								
								even better fix as replacement for last commit which was wrong  
							
							
							
						 
						
							2014-08-07 17:17:05 +02:00  
				
					
						
							
							
								 
						
							
								9597d3dafe 
								
							 
						 
						
							
							
								
								better fix as replacement for last commit  
							
							
							
						 
						
							2014-08-07 16:56:45 +02:00  
				
					
						
							
							
								 
						
							
								f7282b84bd 
								
							 
						 
						
							
							
								
								fixed strange infinite recursion bug  
							
							
							
						 
						
							2014-08-07 16:13:12 +02:00  
				
					
						
							
							
								 
						
							
								1d7b574b31 
								
							 
						 
						
							
							
								
								fix issue555: just add "errors" attribute to internal Capture stream.  
							
							
							
						 
						
							2014-08-07 11:05:42 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								c9bbdf4f10 
								
							 
						 
						
							
							
								
								correct a capfd fixture docstring typo  
							
							... 
							
							
							
							--HG--
branch : fix_capfd_fixture_docstring 
							
						 
						
							2014-04-03 09:59:04 +02:00  
				
					
						
							
							
								 
						
							
								3bca62e9e4 
								
							 
						 
						
							
							
								
								fix issue436: improved finding of initial conftest files from command  
							
							... 
							
							
							
							line arguments by using the result of parse_known_args rather than
the previous flaky heuristics.  Thanks Marc Abramowitz for tests
and initial fixing approaches in this area. 
							
						 
						
							2014-04-02 11:29:23 +02:00  
				
					
						
							
							
								 
						
							
								3b8935c533 
								
							 
						 
						
							
							
								
								remove dupped_stdout logic and related changes, also simplify pytest_runtest_* calls to not use a contextlib with-decorator anymore.  
							
							
							
						 
						
							2014-04-01 15:03:17 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								2e1f6c85f6 
								
							 
						 
						
							
							
								
								introduce resume/suspend functionality for FDCapture and SysCapture,  
							
							... 
							
							
							
							fixing problems with early bailouts (from argparse's parse() function e.g.)
that wrote to stdout. 
							
						 
						
							2014-04-01 14:19:58 +02:00  
				
					
						
							
							
								 
						
							
								ca5e6830c6 
								
							 
						 
						
							
							
								
								avoid some redundancy by using SysCapture from FDCapture for manipulating sys.std{out,in,err}  
							
							
							
						 
						
							2014-04-01 14:19:55 +02:00  
				
					
						
							
							
								 
						
							
								69cbac8fb5 
								
							 
						 
						
							
							
								
								rename StdCaptureBase to MultiCapture  
							
							
							
						 
						
							2014-04-01 14:19:52 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								923dcfd620 
								
							 
						 
						
							
							
								
								cleanup and refine issue412 test (still failing on py33)  
							
							
							
						 
						
							2014-03-28 09:46:38 +01:00  
				
					
						
							
							
								 
						
							
								859915dc5e 
								
							 
						 
						
							
							
								
								simplify capturing funcarg handling  
							
							
							
						 
						
							2014-03-28 07:13:08 +01:00  
				
					
						
							
							
								 
						
							
								a8f4f49a82 
								
							 
						 
						
							
							
								
								simplify reset/stop_capturing and fix capturing wrt to capturing simple os.write() calls  
							
							
							
						 
						
							2014-03-28 07:11:25 +01:00  
				
					
						
							
							
								 
						
							
								e18c3ed494 
								
							 
						 
						
							
							
								
								unify and normalize Sys/FD Capturing classes  
							
							... 
							
							
							
							* * *
more unification 
							
						 
						
							2014-03-28 07:03:37 +01:00  
				
					
						
							
							
								 
						
							
								2263fcf6b7 
								
							 
						 
						
							
							
								
								remove unused "suspend/resume" on capturing, some formatting cleanup  
							
							
							
						 
						
							2014-03-28 07:03:34 +01:00  
				
					
						
							
							
								 
						
							
								d27c377817 
								
							 
						 
						
							
							
								
								tentatively fix py33 and py25 compat  
							
							
							
						 
						
							2014-03-14 15:58:16 +01:00  
				
					
						
							
							
								 
						
							
								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