parent
							
								
									155ffa07de
								
							
						
					
					
						commit
						87daedd719
					
				|  | @ -1,10 +1,10 @@ | ||||||
| Changes between 1.0.0b7 and 1.0.0b8 | Changes between 1.0.0b7 and 1.0.0b8 | ||||||
| ===================================== | ===================================== | ||||||
| 
 | 
 | ||||||
| * pytest_unittest-plugin are now enabled by default | * pytest_unittest-plugin is now enabled by default | ||||||
| 
 | 
 | ||||||
| * introduced pytest_keyboardinterrupt hook and  | * introduced pytest_keyboardinterrupt hook and  | ||||||
|   refined pytest_sessionfinish hooked.  |   refined pytest_sessionfinish hooked, added tests.  | ||||||
| 
 | 
 | ||||||
| * workaround a buggy logging module interaction ("closing already closed | * workaround a buggy logging module interaction ("closing already closed | ||||||
|   files").  Thanks to Sridhar Ratnakumar for triggering.  |   files").  Thanks to Sridhar Ratnakumar for triggering.  | ||||||
|  | @ -13,9 +13,8 @@ Changes between 1.0.0b7 and 1.0.0b8 | ||||||
|   a dependency only a warning will be issued instead  |   a dependency only a warning will be issued instead  | ||||||
|   of exiting the testing process.  |   of exiting the testing process.  | ||||||
| 
 | 
 | ||||||
| * docs:  | * many improvements to docs:  | ||||||
|   - refined funcargs doc , use the term "factory" instead  |   - refined funcargs doc , use the term "factory" instead of "provider" | ||||||
|     of "provider" |  | ||||||
|   - added a new talk/tutorial doc page  |   - added a new talk/tutorial doc page  | ||||||
|   - better download page |   - better download page | ||||||
|   - better plugin docstrings |   - better plugin docstrings | ||||||
|  |  | ||||||
							
								
								
									
										22
									
								
								MANIFEST
								
								
								
								
							
							
						
						
									
										22
									
								
								MANIFEST
								
								
								
								
							|  | @ -28,7 +28,25 @@ doc/test/examples.txt | ||||||
| doc/test/extend.txt | doc/test/extend.txt | ||||||
| doc/test/features.txt | doc/test/features.txt | ||||||
| doc/test/funcargs.txt | doc/test/funcargs.txt | ||||||
| doc/test/plugins.txt | doc/test/plugin/doctest.txt | ||||||
|  | doc/test/plugin/execnetcleanup.txt | ||||||
|  | doc/test/plugin/figleaf.txt | ||||||
|  | doc/test/plugin/hooklog.txt | ||||||
|  | doc/test/plugin/hookspec.txt | ||||||
|  | doc/test/plugin/index.txt | ||||||
|  | doc/test/plugin/iocapture.txt | ||||||
|  | doc/test/plugin/keyword.txt | ||||||
|  | doc/test/plugin/monkeypatch.txt | ||||||
|  | doc/test/plugin/pdb.txt | ||||||
|  | doc/test/plugin/pocoo.txt | ||||||
|  | doc/test/plugin/pytester.txt | ||||||
|  | doc/test/plugin/recwarn.txt | ||||||
|  | doc/test/plugin/restdoc.txt | ||||||
|  | doc/test/plugin/resultlog.txt | ||||||
|  | doc/test/plugin/runner.txt | ||||||
|  | doc/test/plugin/terminal.txt | ||||||
|  | doc/test/plugin/unittest.txt | ||||||
|  | doc/test/plugin/xfail.txt | ||||||
| doc/test/quickstart.txt | doc/test/quickstart.txt | ||||||
| doc/test/talks.txt | doc/test/talks.txt | ||||||
| doc/test/test.txt | doc/test/test.txt | ||||||
|  | @ -340,6 +358,7 @@ py/test/plugin/pytest_unittest.py | ||||||
| py/test/plugin/pytest_xfail.py | py/test/plugin/pytest_xfail.py | ||||||
| py/test/plugin/test_pytest_runner.py | py/test/plugin/test_pytest_runner.py | ||||||
| py/test/plugin/test_pytest_runner_xunit.py | py/test/plugin/test_pytest_runner_xunit.py | ||||||
|  | py/test/plugin/test_pytest_terminal.py | ||||||
| py/test/pluginmanager.py | py/test/pluginmanager.py | ||||||
| py/test/pycollect.py | py/test/pycollect.py | ||||||
| py/test/session.py | py/test/session.py | ||||||
|  | @ -358,6 +377,7 @@ py/test/testing/test_conftesthandle.py | ||||||
| py/test/testing/test_deprecated_api.py | py/test/testing/test_deprecated_api.py | ||||||
| py/test/testing/test_funcargs.py | py/test/testing/test_funcargs.py | ||||||
| py/test/testing/test_genitems.py | py/test/testing/test_genitems.py | ||||||
|  | py/test/testing/test_install.py | ||||||
| py/test/testing/test_outcome.py | py/test/testing/test_outcome.py | ||||||
| py/test/testing/test_parseopt.py | py/test/testing/test_parseopt.py | ||||||
| py/test/testing/test_pickling.py | py/test/testing/test_pickling.py | ||||||
|  |  | ||||||
|  | @ -233,7 +233,7 @@ For your convenience here is also an inlined version of ``pytest_doctest.py``: | ||||||
|                 "*test_txtfile_failing.txt:2: DocTestFailure" |                 "*test_txtfile_failing.txt:2: DocTestFailure" | ||||||
|             ]) |             ]) | ||||||
| 
 | 
 | ||||||
| .. _`pytest_doctest.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_doctest.py | .. _`pytest_doctest.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_doctest.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -79,7 +79,7 @@ For your convenience here is also an inlined version of ``pytest_execnetcleanup. | ||||||
|         """, "-s", "--debug") |         """, "-s", "--debug") | ||||||
|         reprec.assertoutcome(passed=2) |         reprec.assertoutcome(passed=2) | ||||||
| 
 | 
 | ||||||
| .. _`pytest_execnetcleanup.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_execnetcleanup.py | .. _`pytest_execnetcleanup.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_execnetcleanup.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -103,7 +103,7 @@ For your convenience here is also an inlined version of ``pytest_figleaf.py``: | ||||||
|             ]) |             ]) | ||||||
|         #print result.stdout.str() |         #print result.stdout.str() | ||||||
| 
 | 
 | ||||||
| .. _`pytest_figleaf.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_figleaf.py | .. _`pytest_figleaf.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_figleaf.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -65,7 +65,7 @@ For your convenience here is also an inlined version of ``pytest_hooklog.py``: | ||||||
|         assert s.find("ItemTestReport") != -1 |         assert s.find("ItemTestReport") != -1 | ||||||
|         assert s.find("sessionfinish") != -1 |         assert s.find("sessionfinish") != -1 | ||||||
| 
 | 
 | ||||||
| .. _`pytest_hooklog.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_hooklog.py | .. _`pytest_hooklog.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_hooklog.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -164,7 +164,7 @@ For your convenience here is also an inlined version of ``pytest_iocapture.py``: | ||||||
|             """) |             """) | ||||||
|             reprec.assertoutcome(passed=1) |             reprec.assertoutcome(passed=1) | ||||||
| 
 | 
 | ||||||
| .. _`pytest_iocapture.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_iocapture.py | .. _`pytest_iocapture.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_iocapture.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -103,7 +103,7 @@ For your convenience here is also an inlined version of ``pytest_keyword.py``: | ||||||
|         result = testdir.runpytest(p) |         result = testdir.runpytest(p) | ||||||
|         assert result.stdout.fnmatch_lines(["*passed*"]) |         assert result.stdout.fnmatch_lines(["*passed*"]) | ||||||
| 
 | 
 | ||||||
| .. _`pytest_keyword.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_keyword.py | .. _`pytest_keyword.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_keyword.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -182,7 +182,7 @@ For your convenience here is also an inlined version of ``pytest_monkeypatch.py` | ||||||
|         res = reprec.countoutcomes() |         res = reprec.countoutcomes() | ||||||
|         assert tuple(res) == (1, 0, 0), res |         assert tuple(res) == (1, 0, 0), res | ||||||
| 
 | 
 | ||||||
| .. _`pytest_monkeypatch.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_monkeypatch.py | .. _`pytest_monkeypatch.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_monkeypatch.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -185,7 +185,7 @@ For your convenience here is also an inlined version of ``pytest_pdb.py``: | ||||||
|             if child.isalive():  |             if child.isalive():  | ||||||
|                 child.wait() |                 child.wait() | ||||||
| 
 | 
 | ||||||
| .. _`pytest_pdb.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_pdb.py | .. _`pytest_pdb.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_pdb.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -18,6 +18,13 @@ XXX missing docstring | ||||||
| the 'reportrecorder' test function argument | the 'reportrecorder' test function argument | ||||||
| ------------------------------------------- | ------------------------------------------- | ||||||
| 
 | 
 | ||||||
|  | XXX missing docstring | ||||||
|  | .. _`venv funcarg`: | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | the 'venv' test function argument | ||||||
|  | --------------------------------- | ||||||
|  | 
 | ||||||
| XXX missing docstring | XXX missing docstring | ||||||
| .. _`linecomp funcarg`: | .. _`linecomp funcarg`: | ||||||
| 
 | 
 | ||||||
|  | @ -25,6 +32,13 @@ XXX missing docstring | ||||||
| the 'linecomp' test function argument | the 'linecomp' test function argument | ||||||
| ------------------------------------- | ------------------------------------- | ||||||
| 
 | 
 | ||||||
|  | XXX missing docstring | ||||||
|  | .. _`py_setup funcarg`: | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | the 'py_setup' test function argument | ||||||
|  | ------------------------------------- | ||||||
|  | 
 | ||||||
| XXX missing docstring | XXX missing docstring | ||||||
| .. _`LineMatcher funcarg`: | .. _`LineMatcher funcarg`: | ||||||
| 
 | 
 | ||||||
|  | @ -61,6 +75,7 @@ For your convenience here is also an inlined version of ``pytest_pytester.py``: | ||||||
|     import inspect |     import inspect | ||||||
|     from py.__.test.config import Config as pytestConfig |     from py.__.test.config import Config as pytestConfig | ||||||
|     import hookspec |     import hookspec | ||||||
|  |     import subprocess | ||||||
|      |      | ||||||
|     pytest_plugins = '_pytest' |     pytest_plugins = '_pytest' | ||||||
|      |      | ||||||
|  | @ -560,8 +575,108 @@ For your convenience here is also an inlined version of ``pytest_pytester.py``: | ||||||
|         assert result.stdout.fnmatch_lines([ |         assert result.stdout.fnmatch_lines([ | ||||||
|             "*1 passed*" |             "*1 passed*" | ||||||
|         ]) |         ]) | ||||||
|  |      | ||||||
|  |     # | ||||||
|  |     # experimental funcargs for venv/install-tests | ||||||
|  |     # | ||||||
|  |      | ||||||
|  |     def pytest_funcarg__venv(request): | ||||||
|  |         p = request.config.mktemp(request.function.__name__, numbered=True) | ||||||
|  |         venv = VirtualEnv(str(p))  | ||||||
|  |         venv.create() | ||||||
|  |         return venv  | ||||||
|  |         | ||||||
|  |     def pytest_funcarg__py_setup(request): | ||||||
|  |         rootdir = py.path.local(py.__file__).dirpath().dirpath() | ||||||
|  |         setup = rootdir.join('setup.py') | ||||||
|  |         if not setup.check(): | ||||||
|  |             py.test.skip("not found: %r" % setup) | ||||||
|  |         return SetupBuilder(setup) | ||||||
|  |      | ||||||
|  |     class SetupBuilder: | ||||||
|  |         def __init__(self, setup_path): | ||||||
|  |             self.setup_path = setup_path | ||||||
|  |      | ||||||
|  |         def make_sdist(self, destdir=None): | ||||||
|  |             temp = py.path.local.mkdtemp() | ||||||
|  |             try: | ||||||
|  |                 args = ['python', str(self.setup_path), 'sdist',  | ||||||
|  |                         '--dist-dir', str(temp)] | ||||||
|  |                 subprocess.check_call(args) | ||||||
|  |                 l = temp.listdir('py-*') | ||||||
|  |                 assert len(l) == 1 | ||||||
|  |                 sdist = l[0] | ||||||
|  |                 if destdir is None: | ||||||
|  |                     destdir = self.setup_path.dirpath('build') | ||||||
|  |                     assert destdir.check() | ||||||
|  |                 else: | ||||||
|  |                     destdir = py.path.local(destdir) | ||||||
|  |                 target = destdir.join(sdist.basename) | ||||||
|  |                 sdist.copy(target) | ||||||
|  |                 return target  | ||||||
|  |             finally: | ||||||
|  |                 temp.remove() | ||||||
|  |      | ||||||
|  |     # code taken from Ronny Pfannenschmidt's virtualenvmanager  | ||||||
|  |      | ||||||
|  |     class VirtualEnv(object): | ||||||
|  |         def __init__(self, path): | ||||||
|  |             #XXX: supply the python executable | ||||||
|  |             self.path = path | ||||||
|  |      | ||||||
|  |         def __repr__(self): | ||||||
|  |             return "<VirtualEnv at %r>" %(self.path) | ||||||
|  |      | ||||||
|  |         def _cmd(self, name): | ||||||
|  |             return os.path.join(self.path, 'bin', name) | ||||||
|  |      | ||||||
|  |         @property | ||||||
|  |         def valid(self): | ||||||
|  |             return os.path.exists(self._cmd('python')) | ||||||
|  |      | ||||||
|  |         def create(self, sitepackages=False): | ||||||
|  |             args = ['virtualenv', self.path] | ||||||
|  |             if not sitepackages: | ||||||
|  |                 args.append('--no-site-packages') | ||||||
|  |             subprocess.check_call(args) | ||||||
|  |      | ||||||
|  |         def makegateway(self): | ||||||
|  |             python = self._cmd('python') | ||||||
|  |             return py.execnet.makegateway("popen//python=%s" %(python,)) | ||||||
|  |      | ||||||
|  |         def pcall(self, cmd, *args, **kw): | ||||||
|  |             assert self.valid | ||||||
|  |             return subprocess.call([ | ||||||
|  |                     self._cmd(cmd) | ||||||
|  |                 ] + list(args), | ||||||
|  |                 **kw) | ||||||
|  |      | ||||||
|  |      | ||||||
|  |         def easy_install(self, *packages, **kw): | ||||||
|  |             args = [] | ||||||
|  |             if 'index' in kw: | ||||||
|  |                 index = kw['index'] | ||||||
|  |                 if isinstance(index, (list, tuple)): | ||||||
|  |                     for i in index: | ||||||
|  |                         args.extend(['-i', i]) | ||||||
|  |                 else: | ||||||
|  |                     args.extend(['-i', index]) | ||||||
|  |      | ||||||
|  |             args.extend(packages) | ||||||
|  |             self.pcall('easy_install', *args) | ||||||
|  |      | ||||||
|  |      | ||||||
|  |         @property | ||||||
|  |         def has_pip(self): | ||||||
|  |             return os.path.exists(self._cmd('pip')) | ||||||
|  |      | ||||||
|  |         def pip_install(self, *packages): | ||||||
|  |             if not self.has_pip: | ||||||
|  |                 self.easy_install('pip') | ||||||
|  |      | ||||||
|  |             self.pcall('pip', *packages) | ||||||
| 
 | 
 | ||||||
| .. _`pytest_pytester.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_pytester.py | .. _`pytest_pytester.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_pytester.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -204,7 +204,7 @@ For your convenience here is also an inlined version of ``pytest_recwarn.py``: | ||||||
|         py.test.deprecated_call(dep_explicit, 0) |         py.test.deprecated_call(dep_explicit, 0) | ||||||
|         py.test.deprecated_call(dep_explicit, 0) |         py.test.deprecated_call(dep_explicit, 0) | ||||||
| 
 | 
 | ||||||
| .. _`pytest_recwarn.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_recwarn.py | .. _`pytest_recwarn.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_recwarn.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -524,7 +524,7 @@ For your convenience here is also an inlined version of ``pytest_restdoc.py``: | ||||||
|             assert not failed  |             assert not failed  | ||||||
|             assert skipped <= 1 |             assert skipped <= 1 | ||||||
| 
 | 
 | ||||||
| .. _`pytest_restdoc.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_restdoc.py | .. _`pytest_restdoc.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_restdoc.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -274,7 +274,7 @@ For your convenience here is also an inlined version of ``pytest_resultlog.py``: | ||||||
|             "s *:test_skip",  |             "s *:test_skip",  | ||||||
|         ]) |         ]) | ||||||
| 
 | 
 | ||||||
| .. _`pytest_resultlog.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_resultlog.py | .. _`pytest_resultlog.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_resultlog.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -297,7 +297,7 @@ For your convenience here is also an inlined version of ``pytest_runner.py``: | ||||||
|                 col.setup()  |                 col.setup()  | ||||||
|                 self.stack.append(col)  |                 self.stack.append(col)  | ||||||
| 
 | 
 | ||||||
| .. _`pytest_runner.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_runner.py | .. _`pytest_runner.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_runner.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -425,7 +425,7 @@ For your convenience here is also an inlined version of ``pytest_terminal.py``: | ||||||
|         except (TypeError, ValueError): |         except (TypeError, ValueError): | ||||||
|             return str(v) |             return str(v) | ||||||
| 
 | 
 | ||||||
| .. _`pytest_terminal.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_terminal.py | .. _`pytest_terminal.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_terminal.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -155,7 +155,7 @@ For your convenience here is also an inlined version of ``pytest_unittest.py``: | ||||||
|         assert passed == 2 |         assert passed == 2 | ||||||
|         assert passed + skipped + failed == 2 |         assert passed + skipped + failed == 2 | ||||||
| 
 | 
 | ||||||
| .. _`pytest_unittest.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_unittest.py | .. _`pytest_unittest.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_unittest.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
|  | @ -127,7 +127,7 @@ For your convenience here is also an inlined version of ``pytest_xfail.py``: | ||||||
|         ]) |         ]) | ||||||
|         assert result.ret == 1 |         assert result.ret == 1 | ||||||
| 
 | 
 | ||||||
| .. _`pytest_xfail.py`: http://bitbucket.org/hpk42/py-trunk/raw/c28e76a64569475dda8b92c68f9c1c0902c5049e/py/test/plugin/pytest_xfail.py | .. _`pytest_xfail.py`: http://bitbucket.org/hpk42/py-trunk/raw/3d511a58acc10477ff4f766df4a9224cfc3546af/py/test/plugin/pytest_xfail.py | ||||||
| .. _`extend`: ../extend.html | .. _`extend`: ../extend.html | ||||||
| .. _`plugins`: index.html | .. _`plugins`: index.html | ||||||
| .. _`contact`: ../../contact.html | .. _`contact`: ../../contact.html | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue