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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								cde970be69 
								
							 
						 
						
							
							
								
								remove unneccessary indirections and options  
							
							
							
						 
						
							2014-03-14 12:49:34 +01:00  
				
					
						
							
							
								 
						
							
								6f385fb4ea 
								
							 
						 
						
							
							
								
								remove "mixed" capturing mode which is not used by pytest  
							
							... 
							
							
							
							--HG--
branch : capsimple1 
							
						 
						
							2014-01-25 19:56:27 +01:00  
				
					
						
							
							
								 
						
							
								18e12cbd67 
								
							 
						 
						
							
							
								
								remove "StdCapture*.call" classmethod because pytest does not use it.  
							
							... 
							
							
							
							--HG--
branch : capsimple1 
							
						 
						
							2014-01-25 19:43:57 +01:00  
				
					
						
							
							
								 
						
							
								3cf4e133cc 
								
							 
						 
						
							
							
								
								remove now parameter because pytest only used now==False everywhere  
							
							... 
							
							
							
							--HG--
branch : capsimple1 
							
						 
						
							2014-01-25 19:42:45 +01:00  
				
					
						
							
							
								 
						
							
								177637bfb9 
								
							 
						 
						
							
							
								
								Redo the Capture integration propperly  
							
							
							
						 
						
							2014-01-24 21:22:19 +01:00  
				
					
						
							
							
								 
						
							
								9aaf0fd340 
								
							 
						 
						
							
							
								
								backing out Ronny's PR because it was merged too early (still has failing tests)  
							
							
							
						 
						
							2014-01-22 22:15:40 +01:00  
				
					
						
							
							
								 
						
							
								8976b3ee0e 
								
							 
						 
						
							
							
								
								stop exposing capsys/capfd.capture  
							
							
							
						 
						
							2014-01-22 21:52:32 +01:00  
				
					
						
							
							
								 
						
							
								ac2f2b1deb 
								
							 
						 
						
							
							
								
								add notes on the copied pylib version  
							
							
							
						 
						
							2014-01-22 21:50:07 +01:00  
				
					
						
							
							
								 
						
							
								b4a397d153 
								
							 
						 
						
							
							
								
								kill ancient capture devnullpath, os.devnull exists since py 2.4  
							
							
							
						 
						
							2014-01-22 21:37:59 +01:00  
				
					
						
							
							
								 
						
							
								d1a9ab3df0 
								
							 
						 
						
							
							
								
								small cleanp  
							
							
							
						 
						
							2014-01-22 21:04:00 +01:00  
				
					
						
							
							
								 
						
							
								0ede968ec0 
								
							 
						 
						
							
							
								
								kill the str magic of Encodedfile  
							
							
							
						 
						
							2014-01-22 21:03:49 +01:00  
				
					
						
							
							
								 
						
							
								5f21abc3a3 
								
							 
						 
						
							
							
								
								move imports and declarations to the top  
							
							
							
						 
						
							2014-01-22 20:48:17 +01:00  
				
					
						
							
							
								 
						
							
								e2bb81124c 
								
							 
						 
						
							
							
								
								simplify StdCaptureFD snapshot reading  
							
							
							
						 
						
							2014-01-22 19:48:10 +01:00  
				
					
						
							
							
								 
						
							
								ea18e9656b 
								
							 
						 
						
							
							
								
								rewrite all _pytest.capture uses of py.io to _pytest.capture  
							
							
							
						 
						
							2014-01-22 19:44:20 +01:00  
				
					
						
							
							
								 
						
							
								0ac94134f5 
								
							 
						 
						
							
							
								
								initial code import for capture transfer  
							
							
							
						 
						
							2014-01-22 19:04:38 +01:00  
				
					
						
							
							
								 
						
							
								071960250f 
								
							 
						 
						
							
							
								
								avoid "IOError: Bad Filedescriptor" on pytest shutdown by not closing  
							
							... 
							
							
							
							the internal dupped stdout (fix is slightly hand-wavy but work). 
							
						 
						
							2013-10-02 12:39:01 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								a930f44e60 
								
							 
						 
						
							
							
								
								introduce pluginmanager.ensure_teardown() which allows  
							
							
							
						 
						
							2013-09-28 22:23:00 +02:00  
				
					
						
							
							
								 
						
							
								15ec5a898c 
								
							 
						 
						
							
							
								
								moving from optparse to argparse. Major difficulty is  
							
							... 
							
							
							
							that argparse does not have Option objects -> added class Argument
Needed explicit call of MyOptionParser.format_epilog as argparse
does not have that. The parse_arg epilog argument wraps the text,
which is not the same (could be handled with a special formatter).
- parser.parse() now returns single argument (with positional args in
  .file_or_dir)
- "file_or_dir" made a class variable Config._file_or_dir and used in help and tests
- added code for argcomplete (because of which this all started!)
addoption:
- if option type is a string ('int' or 'string', this converted to
  int resp. str
- if option type is 'count' this is changed to the type of choices[0]
testing:
- added tests for Argument
- test_mark.test_keyword_extra split as ['-k', '-mykeyword'] generates argparse
  error test split in two and one marked as fail
- testing hints, multiline and more strickt (for if someone moves format_epilog
  to epilog argument of parse_args without Formatter)
- test for destination derived from long option with internal dash
- renamed second test_parseopt.test_parse() to test_parse2 as it was
  not tested at all (the first was tested.)
--HG--
branch : argparse 
							
						 
						
							2013-07-25 15:33:43 +02:00  
				
					
						
							
							
								 
						
							
								1cbd2db621 
								
							 
						 
						
							
							
								
								stdout/stderr now captured by junitxml  
							
							
							
						 
						
							2013-04-16 00:45:14 -04:00  
				
					
						
							
							
								 
						
							
								68786a6434 
								
							 
						 
						
							
							
								
								fix bug where using capsys with pytest.set_trace() in a test  
							
							... 
							
							
							
							function would break when looking at capsys.readouterr() 
							
						 
						
							2012-11-21 20:43:31 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								4e4b507472 
								
							 
						 
						
							
							
								
								move funcarg factory to a new FuncargManager object at session level  
							
							
							
						 
						
							2012-07-19 09:20:14 +02:00  
				
					
						
							
							
								 
						
							
								c7ee6e71ab 
								
							 
						 
						
							
							
								
								re-introduce the old 2.2.4 FuncargRequest implementation as it is a better  
							
							... 
							
							
							
							base for implementing the new funcarg/setup api. Also Un-optimize
funcargnames discovery for now. 
							
						 
						
							2012-07-18 19:49:14 +02:00  
				
					
						
							
							
								 
						
							
								8adac2878f 
								
							 
						 
						
							
							
								
								put automatic funcarg_ API to Py*objects only, refine internal subclassing and initialisation logic  
							
							
							
						 
						
							2012-07-16 10:46:44 +02:00  
				
					
						
							
							
								 
						
							
								91b6f2bda8 
								
							 
						 
						
							
							
								
								mid-scale refactoring to make request API available directly on items.  
							
							... 
							
							
							
							This commit was slightly tricky because i want to backward
compatibility especially for the oejskit plugin which
uses Funcarg-filling for non-Function objects. 
							
						 
						
							2012-06-25 17:35:33 +02:00  
				
					
						
							
							
								 
						
							
								4d77653bb0 
								
							 
						 
						
							
							
								
								simplify activate_funcargs  
							
							
							
						 
						
							2012-06-03 21:06:43 +02:00  
				
					
						
							
							
								 
						
							
								3f17784386 
								
							 
						 
						
							
							
								
								fix issue128 - show captured output when capsys/capfd are in use  
							
							
							
						 
						
							2012-06-03 21:01:27 +02:00  
				
					
						
							
							
								 
						
							
								a5e7b2760d 
								
							 
						 
						
							
							
								
								fix issue90 - perform teardown after its actual test function/item.  This is implemented by modifying the runtestprotocol to remember "pending" teardowns and call them before the setup of the next item.  
							
							
							
						 
						
							2011-11-18 16:01:29 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								f3bc197afb 
								
							 
						 
						
							
							
								
								fix   #59 : provide better Jenkins stdout and stderr sections  
							
							
							
						 
						
							2011-07-12 23:09:03 +02:00  
				
					
						
							
							
								 
						
							
								fadd1a2313 
								
							 
						 
						
							
							
								
								incorporate typo/grammar fixes from Laura and respond to a number of issues she raised in comments.  
							
							... 
							
							
							
							Also fixed links and some other bits and pieces. 
							
						 
						
							2011-03-03 23:40:38 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								929291775e 
								
							 
						 
						
							
							
								
								flat is better than nested (cont'd):  
							
							... 
							
							
							
							- pytest.py is new module, making "python -m pytest" work always
- _pytest/*.py now contains core.py, hookspec and the plugins, no sub packages 
							
						 
						
							2010-11-13 11:10:45 +01:00