diff --git a/Makefile b/Makefile deleted file mode 100644 index 0b0fd61fe..000000000 --- a/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -# Set of targets useful for development/release process -PYTHON = python2.7 -PATH := $(PWD)/.env/bin:$(PATH) -REGENDOC_ARGS := \ - --normalize "/={8,} (.*) ={8,}/======= \1 ========/" \ - --normalize "/_{8,} (.*) _{8,}/_______ \1 ________/" \ - --normalize "/in \d+.\d+ seconds/in 0.12 seconds/" \ - --normalize "@/tmp/pytest-\d+/@/tmp/pytest-NaN/@" - -# prepare virtual python environment -.env: - virtualenv .env -p $(PYTHON) - -# install all needed for development -develop: .env - pip install -e . tox -r requirements-docs.txt - -# clean the development envrironment -clean: - -rm -rf .env - -# generate documentation -docs: develop - find doc/en -name '*.rst' -not -path 'doc/en/_build/*' | xargs .env/bin/regendoc ${REGENDOC_ARGS} - cd doc/en; make html - -# upload documentation -upload-docs: develop - find doc/en -name '*.rst' -not -path 'doc/en/_build/*' | xargs .env/bin/regendoc ${REGENDOC_ARGS} --update - #cd doc/en; make install - diff --git a/doc/en/Makefile b/doc/en/Makefile index e54b6b09a..8621f779c 100644 --- a/doc/en/Makefile +++ b/doc/en/Makefile @@ -12,6 +12,13 @@ PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +REGENDOC_ARGS := \ + --normalize "/={8,} (.*) ={8,}/======= \1 ========/" \ + --normalize "/_{8,} (.*) _{8,}/_______ \1 ________/" \ + --normalize "/in \d+.\d+ seconds/in 0.12 seconds/" \ + --normalize "@/tmp/pytest-of-.*/pytest-\d+@PYTEST_TMPDIR@" \ + + .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest @@ -46,7 +53,7 @@ installall: clean install installpdf @echo "done" regen: - PYTHONDONTWRITEBYTECODE=1 COLUMNS=76 regendoc --update *.rst */*.rst + PYTHONDONTWRITEBYTECODE=1 COLUMNS=76 regendoc --update *.rst */*.rst ${REGENDOC_ARGS} html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html diff --git a/doc/en/assert.rst b/doc/en/assert.rst index 3d1a00a70..8f46aa038 100644 --- a/doc/en/assert.rst +++ b/doc/en/assert.rst @@ -26,7 +26,7 @@ you will see the return value of the function call:: $ py.test test_assert1.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items @@ -146,7 +146,7 @@ if you run this module:: $ py.test test_assert2.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items @@ -225,7 +225,7 @@ the conftest file:: E assert Comparing Foo instances: E vals: 1 != 2 - test_foocompare.py:8: AssertionError + test_foocompare.py:11: AssertionError 1 failed in 0.12 seconds .. _assert-details: diff --git a/doc/en/builtin.rst b/doc/en/builtin.rst index 713e625db..5708362ff 100644 --- a/doc/en/builtin.rst +++ b/doc/en/builtin.rst @@ -73,6 +73,8 @@ You can ask for available builtin or project-custom :ref:`fixtures ` by typing:: $ py.test -q --fixtures + cache + /home/private/Projects/pytest-dev/pytest/.tox/regen/lib/python2.7/site-packages/_pytest/cacheprovider.py:176: no docstring available capsys enables capturing of writes to sys.stdout/sys.stderr and makes captured output available via ``capsys.readouterr()`` method calls @@ -81,6 +83,10 @@ You can ask for available builtin or project-custom enables capturing of writes to file descriptors 1 and 2 and makes captured output available via ``capfd.readouterr()`` method calls which return a ``(out, err)`` tuple. + record_xml_property + Fixture that adds extra xml properties to the tag for the calling test. + The fixture is callable with (name, value), with value being automatically + xml-encoded. monkeypatch The returned ``monkeypatch`` funcarg provides these helper methods to modify objects, dictionaries or os.environ:: @@ -108,6 +114,8 @@ You can ask for available builtin or project-custom See http://docs.python.org/library/warnings.html for information on warning categories. + tmpdir_factory + Return a TempdirFactory instance for the test session. tmpdir return a temporary directory path object which is unique to each test function invocation, diff --git a/doc/en/cache.rst b/doc/en/cache.rst index 1682e7c43..cbd5b17e3 100644 --- a/doc/en/cache.rst +++ b/doc/en/cache.rst @@ -44,8 +44,8 @@ If you run this for the first time you will see two failures:: $ py.test -q .................F.......F........................ - ================================= FAILURES ================================= - _______________________________ test_num[17] _______________________________ + ======= FAILURES ======== + _______ test_num[17] ________ i = 17 @@ -56,7 +56,7 @@ If you run this for the first time you will see two failures:: E Failed: bad luck test_50.py:6: Failed - _______________________________ test_num[25] _______________________________ + _______ test_num[25] ________ i = 25 @@ -67,21 +67,21 @@ If you run this for the first time you will see two failures:: E Failed: bad luck test_50.py:6: Failed - 2 failed, 48 passed in 0.04 seconds + 2 failed, 48 passed in 0.12 seconds If you then run it with ``--lf``:: $ py.test --lf - =========================== test session starts ============================ - platform linux2 -- Python 2.7.6, pytest-2.7.3.dev428+ng79d22bf.d20150916, py-1.4.30, pluggy-0.3.0 + ======= test session starts ======== + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 run-last-failure: rerun last 2 failures - rootdir: /tmp/doc-exec-94, inifile: + rootdir: $REGENDOC_TMPDIR, inifile: collected 50 items test_50.py FF - ================================= FAILURES ================================= - _______________________________ test_num[17] _______________________________ + ======= FAILURES ======== + _______ test_num[17] ________ i = 17 @@ -92,7 +92,7 @@ If you then run it with ``--lf``:: E Failed: bad luck test_50.py:6: Failed - _______________________________ test_num[25] _______________________________ + _______ test_num[25] ________ i = 25 @@ -103,7 +103,7 @@ If you then run it with ``--lf``:: E Failed: bad luck test_50.py:6: Failed - ================= 2 failed, 48 deselected in 0.01 seconds ================== + ======= 2 failed, 48 deselected in 0.12 seconds ======== You have run only the two failing test from the last run, while 48 tests have not been run ("deselected"). @@ -113,16 +113,16 @@ previous failures will be executed first (as can be seen from the series of ``FF`` and dots):: $ py.test --ff - =========================== test session starts ============================ - platform linux2 -- Python 2.7.6, pytest-2.7.3.dev428+ng79d22bf.d20150916, py-1.4.30, pluggy-0.3.0 + ======= test session starts ======== + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 run-last-failure: rerun last 2 failures first - rootdir: /tmp/doc-exec-94, inifile: + rootdir: $REGENDOC_TMPDIR, inifile: collected 50 items test_50.py FF................................................ - ================================= FAILURES ================================= - _______________________________ test_num[17] _______________________________ + ======= FAILURES ======== + _______ test_num[17] ________ i = 17 @@ -133,7 +133,7 @@ of ``FF`` and dots):: E Failed: bad luck test_50.py:6: Failed - _______________________________ test_num[25] _______________________________ + _______ test_num[25] ________ i = 25 @@ -144,7 +144,7 @@ of ``FF`` and dots):: E Failed: bad luck test_50.py:6: Failed - =================== 2 failed, 48 passed in 0.03 seconds ==================== + ======= 2 failed, 48 passed in 0.12 seconds ======== .. _`config.cache`: @@ -179,8 +179,8 @@ of the sleep:: $ py.test -q F - ================================= FAILURES ================================= - ______________________________ test_function _______________________________ + ======= FAILURES ======== + _______ test_function ________ mydata = 42 @@ -189,15 +189,15 @@ of the sleep:: E assert 42 == 23 test_caching.py:14: AssertionError - 1 failed in 5.41 seconds + 1 failed in 0.12 seconds If you run it a second time the value will be retrieved from the cache and this will be quick:: $ py.test -q F - ================================= FAILURES ================================= - ______________________________ test_function _______________________________ + ======= FAILURES ======== + _______ test_function ________ mydata = 42 @@ -206,7 +206,7 @@ the cache and this will be quick:: E assert 42 == 23 test_caching.py:14: AssertionError - 1 failed in 0.01 seconds + 1 failed in 0.12 seconds See the `cache-api`_ for more details. @@ -218,15 +218,15 @@ You can always peek at the content of the cache using the ``--cache-clear`` command line option:: $ py.test --cache-clear - =========================== test session starts ============================ - platform linux2 -- Python 2.7.6, pytest-2.7.3.dev428+ng79d22bf.d20150916, py-1.4.30, pluggy-0.3.0 - rootdir: /tmp/doc-exec-94, inifile: + ======= test session starts ======== + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 + rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items test_caching.py F - ================================= FAILURES ================================= - ______________________________ test_function _______________________________ + ======= FAILURES ======== + _______ test_function ________ mydata = 42 @@ -235,7 +235,7 @@ You can always peek at the content of the cache using the E assert 42 == 23 test_caching.py:14: AssertionError - ========================= 1 failed in 5.41 seconds ========================= + ======= 1 failed in 0.12 seconds ======== Clearing Cache content ------------------------------- diff --git a/doc/en/capture.rst b/doc/en/capture.rst index c21ebf54b..1cbea62f3 100644 --- a/doc/en/capture.rst +++ b/doc/en/capture.rst @@ -64,7 +64,7 @@ of the failing function and hide the other one:: $ py.test ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items @@ -78,7 +78,7 @@ of the failing function and hide the other one:: E assert False test_module.py:9: AssertionError - ---------------------------- Captured stdout setup ----------------------------- + -------------------------- Captured stdout setup --------------------------- setting up ======= 1 failed, 1 passed in 0.12 seconds ======== diff --git a/doc/en/doctest.rst b/doc/en/doctest.rst index a456488e3..a40696a90 100644 --- a/doc/en/doctest.rst +++ b/doc/en/doctest.rst @@ -46,7 +46,7 @@ then you can just invoke ``py.test`` without command line options:: $ py.test ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: pytest.ini collected 1 items diff --git a/doc/en/example/markers.rst b/doc/en/example/markers.rst index f001965ae..06bc65766 100644 --- a/doc/en/example/markers.rst +++ b/doc/en/example/markers.rst @@ -31,7 +31,8 @@ You can then restrict a test run to only run tests marked with ``webtest``:: $ py.test -v -m webtest ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 -- $PWD/.env/bin/python2.7 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 -- /home/private/Projects/pytest-dev/pytest/.tox/regen/bin/python2.7 + cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 4 items @@ -44,7 +45,8 @@ Or the inverse, running all tests except the webtest ones:: $ py.test -v -m "not webtest" ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 -- $PWD/.env/bin/python2.7 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 -- /home/private/Projects/pytest-dev/pytest/.tox/regen/bin/python2.7 + cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 4 items @@ -64,7 +66,8 @@ tests based on their module, class, method, or function name:: $ py.test -v test_server.py::TestClass::test_method ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 -- $PWD/.env/bin/python2.7 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 -- /home/private/Projects/pytest-dev/pytest/.tox/regen/bin/python2.7 + cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 5 items @@ -76,7 +79,8 @@ You can also select on the class:: $ py.test -v test_server.py::TestClass ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 -- $PWD/.env/bin/python2.7 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 -- /home/private/Projects/pytest-dev/pytest/.tox/regen/bin/python2.7 + cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 4 items @@ -88,7 +92,8 @@ Or select multiple nodes:: $ py.test -v test_server.py::TestClass test_server.py::test_send_http ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 -- $PWD/.env/bin/python2.7 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 -- /home/private/Projects/pytest-dev/pytest/.tox/regen/bin/python2.7 + cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 8 items @@ -125,7 +130,8 @@ select tests based on their names:: $ py.test -v -k http # running with the above defined example module ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 -- $PWD/.env/bin/python2.7 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 -- /home/private/Projects/pytest-dev/pytest/.tox/regen/bin/python2.7 + cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 4 items @@ -138,7 +144,8 @@ And you can also run all tests except the ones that match the keyword:: $ py.test -k "not send_http" -v ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 -- $PWD/.env/bin/python2.7 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 -- /home/private/Projects/pytest-dev/pytest/.tox/regen/bin/python2.7 + cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 4 items @@ -153,7 +160,8 @@ Or to select "http" and "quick" tests:: $ py.test -k "http or quick" -v ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 -- $PWD/.env/bin/python2.7 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 -- /home/private/Projects/pytest-dev/pytest/.tox/regen/bin/python2.7 + cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 4 items @@ -342,7 +350,7 @@ the test needs:: $ py.test -E stage2 ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items @@ -354,7 +362,7 @@ and here is one that specifies exactly the environment needed:: $ py.test -E stage1 ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items @@ -473,7 +481,7 @@ then you will see two test skipped and two executed tests as expected:: $ py.test -rs # this option reports skip reasons ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items @@ -487,7 +495,7 @@ Note that if you specify a platform via the marker-command line option like this $ py.test -m linux2 ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items @@ -539,7 +547,7 @@ We can now use the ``-m option`` to select one set:: $ py.test -m interface --tb=short ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items @@ -561,7 +569,7 @@ or to select both "event" and "interface" tests:: $ py.test -m "interface or event" --tb=short ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items diff --git a/doc/en/example/nonpython.rst b/doc/en/example/nonpython.rst index 49bc2c30b..43f27f133 100644 --- a/doc/en/example/nonpython.rst +++ b/doc/en/example/nonpython.rst @@ -27,11 +27,11 @@ now execute the test specification:: nonpython $ py.test test_simple.yml ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 - rootdir: $PWD/doc/en, inifile: pytest.ini + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 + rootdir: $REGENDOC_TMPDIR/nonpython, inifile: collected 2 items - test_simple.yml .F + test_simple.yml F. ======= FAILURES ======== _______ usecase: hello ________ @@ -40,6 +40,8 @@ now execute the test specification:: no further details known at this point. ======= 1 failed, 1 passed in 0.12 seconds ======== +.. regendoc:wipe + You get one dot for the passing ``sub1: sub1`` check and one failure. Obviously in the above ``conftest.py`` you'll want to implement a more interesting interpretation of the yaml-values. You can easily write @@ -57,12 +59,13 @@ consulted when reporting in ``verbose`` mode:: nonpython $ py.test -v ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 -- $PWD/.env/bin/python2.7 - rootdir: $PWD/doc/en, inifile: pytest.ini + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 -- /home/private/Projects/pytest-dev/pytest/.tox/regen/bin/python2.7 + cachedir: .cache + rootdir: $REGENDOC_TMPDIR/nonpython, inifile: collecting ... collected 2 items - test_simple.yml::ok PASSED test_simple.yml::hello FAILED + test_simple.yml::ok PASSED ======= FAILURES ======== _______ usecase: hello ________ @@ -71,16 +74,18 @@ consulted when reporting in ``verbose`` mode:: no further details known at this point. ======= 1 failed, 1 passed in 0.12 seconds ======== +.. regendoc:wipe + While developing your custom test collection and execution it's also interesting to just look at the collection tree:: nonpython $ py.test --collect-only ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 - rootdir: $PWD/doc/en, inifile: pytest.ini + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 + rootdir: $REGENDOC_TMPDIR/nonpython, inifile: collected 2 items - - + + ======= in 0.12 seconds ======== diff --git a/doc/en/example/parametrize.rst b/doc/en/example/parametrize.rst index 3d0c778f5..007297393 100644 --- a/doc/en/example/parametrize.rst +++ b/doc/en/example/parametrize.rst @@ -127,11 +127,21 @@ objects, they are still using the default pytest representation:: $ py.test test_time.py --collect-only ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: + collected 0 items / 1 errors - ======= in 0.12 seconds ======== - ERROR: file not found: test_time.py + ======= ERRORS ======== + _______ ERROR collecting test_time.py ________ + /home/private/Projects/pytest-dev/pytest/.tox/regen/lib/python2.7/site-packages/_pytest/python.py:581: in _importtestmodule + mod = self.fspath.pyimport(ensuresyspath=importmode) + /home/private/Projects/pytest-dev/pytest/.tox/regen/lib/python2.7/site-packages/py/_path/local.py:650: in pyimport + __import__(modname) + E File "$REGENDOC_TMPDIR/test_time.py", line 6 + E + E ^ + E SyntaxError: invalid syntax + ======= 1 error in 0.12 seconds ======== A quick port of "testscenarios" ------------------------------------ @@ -171,7 +181,7 @@ this is a fully self-contained example which you can run with:: $ py.test test_scenarios.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items @@ -184,7 +194,7 @@ If you just collect tests you'll also nicely see 'advanced' and 'basic' as varia $ py.test --collect-only test_scenarios.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items @@ -249,7 +259,7 @@ Let's first see how it looks like at collection time:: $ py.test test_backends.py --collect-only ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items @@ -309,14 +319,14 @@ will be passed to respective fixture function. The result of this test will be successful: $ py.test test_indirect_list.py --collect-only - ============================= test session starts ============================== - platform linux2 -- Python 2.7.3, pytest-2.8.0.dev4, py-1.4.30, pluggy-0.3.0 - rootdir: /home/elizabeth/work/pytest, inifile: tox.ini + ======= test session starts ======== + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 + rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items - - - - =============================== in 0.02 seconds =============================== + + + + ======= in 0.12 seconds ======== .. regendoc:wipe @@ -389,8 +399,8 @@ Running it results in some skips if we don't have all the python interpreters in . $ py.test -rs -q multipython.py ssssssssssss...ssssssssssss ======= short test summary info ======== - SKIP [12] $PWD/doc/en/example/multipython.py:22: 'python3.3' not found - SKIP [12] $PWD/doc/en/example/multipython.py:22: 'python2.6' not found + SKIP [12] $REGENDOC_TMPDIR/CWD/multipython.py:22: 'python2.6' not found + SKIP [12] $REGENDOC_TMPDIR/CWD/multipython.py:22: 'python3.3' not found 3 passed, 24 skipped in 0.12 seconds Indirect parametrization of optional implementations/imports @@ -438,7 +448,7 @@ If you run this with reporting for skips enabled:: $ py.test -rs test_module.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items diff --git a/doc/en/example/pythoncollection.rst b/doc/en/example/pythoncollection.rst index c35d7e992..39db0a838 100644 --- a/doc/en/example/pythoncollection.rst +++ b/doc/en/example/pythoncollection.rst @@ -43,7 +43,7 @@ then the test collection looks like this:: $ py.test --collect-only ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: setup.cfg collected 2 items @@ -89,10 +89,10 @@ You can always peek at the collection tree without running tests like this:: . $ py.test --collect-only pythoncollection.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 - rootdir: $PWD/doc/en, inifile: pytest.ini + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 + rootdir: $REGENDOC_TMPDIR, inifile: pytest.ini collected 3 items - + @@ -143,7 +143,7 @@ interpreters and will leave out the setup.py file:: $ py.test --collect-only ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: pytest.ini collected 1 items diff --git a/doc/en/example/reportingdemo.rst b/doc/en/example/reportingdemo.rst index 31c8738a5..13fd737e9 100644 --- a/doc/en/example/reportingdemo.rst +++ b/doc/en/example/reportingdemo.rst @@ -13,8 +13,8 @@ get on the terminal - we are working on that): assertion $ py.test failure_demo.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 - rootdir: $PWD/doc/en, inifile: pytest.ini + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 + rootdir: $REGENDOC_TMPDIR/assertion, inifile: collected 42 items failure_demo.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF @@ -55,7 +55,7 @@ get on the terminal - we are working on that): > 6*9) failure_demo.py:33: - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = 42, b = 54 @@ -277,7 +277,7 @@ get on the terminal - we are working on that): E ? +++ failure_demo.py:90: AssertionError - _______ TestSpecialisedExplanations.test_not_in_text_single_long_term ________ + ______ TestSpecialisedExplanations.test_not_in_text_single_long_term _______ self = @@ -323,7 +323,7 @@ get on the terminal - we are working on that): > assert i.b == 2 failure_demo.py:116: - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = @@ -356,12 +356,12 @@ get on the terminal - we are working on that): > raises(TypeError, "int(s)") failure_demo.py:133: - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > int(s) E ValueError: invalid literal for int() with base 10: 'qwe' - <0-codegen $PWD/_pytest/python.py:1091>:1: ValueError + <0-codegen /home/private/Projects/pytest-dev/pytest/.tox/regen/lib/python2.7/site-packages/_pytest/python.py:1205>:1: ValueError _______ TestRaises.test_raises_doesnt ________ self = @@ -389,7 +389,7 @@ get on the terminal - we are working on that): E ValueError: need more than 1 value to unpack failure_demo.py:142: ValueError - _______ TestRaises.test_reinterpret_fails_with_print_for_the_fun_of_it ________ + ______ TestRaises.test_reinterpret_fails_with_print_for_the_fun_of_it ______ self = @@ -400,7 +400,7 @@ get on the terminal - we are working on that): E TypeError: 'int' object is not iterable failure_demo.py:147: TypeError - ----------------------------- Captured stdout call ----------------------------- + --------------------------- Captured stdout call --------------------------- l is [1, 2, 3] _______ TestRaises.test_some_error ________ @@ -423,13 +423,13 @@ get on the terminal - we are working on that): > module.foo() failure_demo.py:165: - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def foo(): > assert 1 == 0 E assert 1 == 0 - <2-codegen 'abc-123' $PWD/doc/en/example/assertion/failure_demo.py:162>:2: AssertionError + <2-codegen 'abc-123' $REGENDOC_TMPDIR/assertion/failure_demo.py:162>:2: AssertionError _______ TestMoreErrors.test_complex_error ________ self = @@ -442,10 +442,10 @@ get on the terminal - we are working on that): > somefunc(f(), g()) failure_demo.py:175: - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ failure_demo.py:8: in somefunc otherfunc(x,y) - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = 44, b = 43 diff --git a/doc/en/example/simple.rst b/doc/en/example/simple.rst index 3c770eed9..c1bf5e250 100644 --- a/doc/en/example/simple.rst +++ b/doc/en/example/simple.rst @@ -53,7 +53,7 @@ Let's run this without supplying our new option:: E assert 0 test_sample.py:6: AssertionError - ----------------------------- Captured stdout call ----------------------------- + --------------------------- Captured stdout call --------------------------- first 1 failed in 0.12 seconds @@ -75,7 +75,7 @@ And now with supplying a command line option:: E assert 0 test_sample.py:6: AssertionError - ----------------------------- Captured stdout call ----------------------------- + --------------------------- Captured stdout call --------------------------- second 1 failed in 0.12 seconds @@ -108,7 +108,7 @@ directory with the above conftest.py:: $ py.test ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 0 items @@ -153,7 +153,7 @@ and when running it will see a skipped "slow" test:: $ py.test -rs # "-rs" means report details on the little 's' ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items @@ -167,7 +167,7 @@ Or run it including the ``slow`` marked test:: $ py.test --runslow ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items @@ -259,7 +259,7 @@ which will add the string to the test header accordingly:: $ py.test ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 project deps: mylib-1.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 0 items @@ -283,7 +283,8 @@ which will add info only when run with "--v":: $ py.test -v ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 -- $PWD/.env/bin/python2.7 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 -- /home/private/Projects/pytest-dev/pytest/.tox/regen/bin/python2.7 + cachedir: .cache info1: did you know that ... did you? rootdir: $REGENDOC_TMPDIR, inifile: @@ -295,7 +296,7 @@ and nothing when run plainly:: $ py.test ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 0 items @@ -328,7 +329,7 @@ Now we can profile which test functions execute the slowest:: $ py.test --durations=3 ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 3 items @@ -390,7 +391,7 @@ If we run this:: $ py.test -rx ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 4 items @@ -461,7 +462,7 @@ We can run this:: $ py.test ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 7 items @@ -475,7 +476,7 @@ We can run this:: file $REGENDOC_TMPDIR/b/test_error.py, line 1 def test_root(db): # no db here, will error out fixture 'db' not found - available fixtures: pytestconfig, recwarn, monkeypatch, capfd, capsys, tmpdir + available fixtures: capsys, tmpdir_factory, capfd, tmpdir, record_xml_property, recwarn, monkeypatch, pytestconfig, cache use 'py.test --fixtures [testpath]' for help on them. $REGENDOC_TMPDIR/b/test_error.py:1 @@ -565,7 +566,7 @@ and run them:: $ py.test test_module.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items @@ -574,7 +575,7 @@ and run them:: ======= FAILURES ======== _______ test_fail1 ________ - tmpdir = local('/tmp/pytest-NaN/test_fail10') + tmpdir = local('PYTEST_TMPDIR/test_fail10') def test_fail1(tmpdir): > assert 0 @@ -593,7 +594,8 @@ and run them:: you will have a "failures" file which contains the failing test ids:: $ cat failures - cat: failures: No such file or directory + test_module.py::test_fail1 (PYTEST_TMPDIR/test_fail10) + test_module.py::test_fail2 Making test result information available in fixtures ----------------------------------------------------------- @@ -655,7 +657,7 @@ and run it:: $ py.test -s test_module.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 3 items @@ -689,7 +691,7 @@ and run it:: E assert 0 test_module.py:15: AssertionError - ======= 2 failed, 1 warnings, 1 error in 0.12 seconds ======== + ======= 2 failed, 1 error in 0.12 seconds ======== You'll see that the fixture finalizers could use the precise reporting information. diff --git a/doc/en/fixture.rst b/doc/en/fixture.rst index 61cdb7885..a5fcd6719 100644 --- a/doc/en/fixture.rst +++ b/doc/en/fixture.rst @@ -75,7 +75,7 @@ marked ``smtp`` fixture function. Running the test looks like this:: $ py.test test_smtpsimple.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items @@ -193,7 +193,7 @@ inspect what is going on and can now run the tests:: $ py.test test_module.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items @@ -205,20 +205,19 @@ inspect what is going on and can now run the tests:: smtp = def test_ehlo(smtp): - response = smtp.ehlo() - assert response[0] == 250 - assert "merlinux" in response[1] - > assert 0 # for demo purposes - E assert 0 + response, msg = smtp.ehlo() + assert response == 250 + > assert "smtp.gmail.com" in str(msg, 'ascii') + E TypeError: str() takes at most 1 argument (2 given) - test_module.py:6: AssertionError + test_module.py:5: TypeError _______ test_noop ________ smtp = def test_noop(smtp): - response = smtp.noop() - assert response[0] == 250 + response, msg = smtp.noop() + assert response == 250 > assert 0 # for demo purposes E assert 0 @@ -313,7 +312,7 @@ We use the ``request.module`` attribute to optionally obtain an again, nothing much has changed:: $ py.test -s -q --tb=no - FFteardown smtp + FFfinalizing (smtp.gmail.com) 2 failed in 0.12 seconds @@ -335,7 +334,7 @@ Running it:: _______ test_showhelo ________ test_anothersmtp.py:5: in test_showhelo assert 0, smtp.helo() - E AssertionError: (250, 'hq.merlinux.eu') + E AssertionError: (250, 'mail.python.org') E assert 0 voila! The ``smtp`` fixture function picked up our mail server name @@ -381,25 +380,24 @@ So let's just do another run:: $ py.test -q test_module.py FFFF ======= FAILURES ======== - _______ test_ehlo[merlinux.eu] ________ + _______ test_ehlo[smtp.gmail.com] ________ smtp = def test_ehlo(smtp): - response = smtp.ehlo() - assert response[0] == 250 - assert "merlinux" in response[1] - > assert 0 # for demo purposes - E assert 0 + response, msg = smtp.ehlo() + assert response == 250 + > assert "smtp.gmail.com" in str(msg, 'ascii') + E TypeError: str() takes at most 1 argument (2 given) - test_module.py:6: AssertionError - _______ test_noop[merlinux.eu] ________ + test_module.py:5: TypeError + _______ test_noop[smtp.gmail.com] ________ smtp = def test_noop(smtp): - response = smtp.noop() - assert response[0] == 250 + response, msg = smtp.noop() + assert response == 250 > assert 0 # for demo purposes E assert 0 @@ -409,21 +407,21 @@ So let's just do another run:: smtp = def test_ehlo(smtp): - response = smtp.ehlo() - assert response[0] == 250 - > assert "merlinux" in response[1] - E assert 'merlinux' in 'mail.python.org\nSIZE 51200000\nETRN\nSTARTTLS\nENHANCEDSTATUSCODES\n8BITMIME\nDSN\nSMTPUTF8' + response, msg = smtp.ehlo() + assert response == 250 + > assert "smtp.gmail.com" in str(msg, 'ascii') + E TypeError: str() takes at most 1 argument (2 given) - test_module.py:5: AssertionError - ---------------------------- Captured stdout setup ----------------------------- + test_module.py:5: TypeError + -------------------------- Captured stdout setup --------------------------- finalizing _______ test_noop[mail.python.org] ________ smtp = def test_noop(smtp): - response = smtp.noop() - assert response[0] == 250 + response, msg = smtp.noop() + assert response == 250 > assert 0 # for demo purposes E assert 0 @@ -480,15 +478,20 @@ Running the above tests results in the following test IDs being used:: $ py.test --collect-only ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: - collected 6 items + collected 10 items - + + + + + + - - + + @@ -526,11 +529,12 @@ Here we declare an ``app`` fixture which receives the previously defined $ py.test -v test_appsetup.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 -- $PWD/.env/bin/python2.7 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 -- /home/private/Projects/pytest-dev/pytest/.tox/regen/bin/python2.7 + cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 2 items - test_appsetup.py::test_smtp_exists[merlinux.eu] PASSED + test_appsetup.py::test_smtp_exists[smtp.gmail.com] PASSED test_appsetup.py::test_smtp_exists[mail.python.org] PASSED ======= 2 passed in 0.12 seconds ======== @@ -591,7 +595,8 @@ Let's run the tests in verbose mode and with looking at the print-output:: $ py.test -v -s test_module.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 -- $PWD/.env/bin/python2.7 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 -- /home/private/Projects/pytest-dev/pytest/.tox/regen/bin/python2.7 + cachedir: .cache rootdir: $REGENDOC_TMPDIR, inifile: collecting ... collected 8 items diff --git a/doc/en/getting-started.rst b/doc/en/getting-started.rst index 2218262c9..adee937ea 100644 --- a/doc/en/getting-started.rst +++ b/doc/en/getting-started.rst @@ -27,7 +27,7 @@ Installation options:: To check your installation has installed the correct version:: $ py.test --version - This is pytest version 2.8.0.dev4, imported from $PWD/pytest.pyc + This is pytest version 2.8.0, imported from /home/private/Projects/pytest-dev/pytest/.tox/regen/lib/python2.7/site-packages/pytest.pyc If you get an error checkout :ref:`installation issues`. @@ -49,7 +49,7 @@ That's it. You can execute the test function now:: $ py.test ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items @@ -164,7 +164,7 @@ before performing the test function call. Let's just run it:: ======= FAILURES ======== _______ test_needsfiles ________ - tmpdir = local('/tmp/pytest-NaN/test_needsfiles0') + tmpdir = local('PYTEST_TMPDIR/test_needsfiles0') def test_needsfiles(tmpdir): print (tmpdir) @@ -172,8 +172,8 @@ before performing the test function call. Let's just run it:: E assert 0 test_tmpdir.py:3: AssertionError - ----------------------------- Captured stdout call ----------------------------- - /tmp/pytest-NaN/test_needsfiles0 + --------------------------- Captured stdout call --------------------------- + PYTEST_TMPDIR/test_needsfiles0 1 failed in 0.12 seconds Before the test runs, a unique-per-test-invocation temporary directory diff --git a/doc/en/parametrize.rst b/doc/en/parametrize.rst index 05f18b23b..3891f94d4 100644 --- a/doc/en/parametrize.rst +++ b/doc/en/parametrize.rst @@ -55,7 +55,7 @@ them in turn:: $ py.test ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 3 items @@ -103,7 +103,7 @@ Let's run this:: $ py.test ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 3 items @@ -201,7 +201,7 @@ listlist:: $ py.test -q -rs test_strings.py s ======= short test summary info ======== - SKIP [1] $PWD/_pytest/python.py:1201: got empty parameter set, function test_valid_string at $REGENDOC_TMPDIR/test_strings.py:1 + SKIP [1] /home/private/Projects/pytest-dev/pytest/.tox/regen/lib/python2.7/site-packages/_pytest/python.py:1322: got empty parameter set, function test_valid_string at $REGENDOC_TMPDIR/test_strings.py:1 1 skipped in 0.12 seconds For further examples, you might want to look at :ref:`more diff --git a/doc/en/skipping.rst b/doc/en/skipping.rst index 77456e2de..f0692aa6b 100644 --- a/doc/en/skipping.rst +++ b/doc/en/skipping.rst @@ -165,8 +165,8 @@ Running it with the report-on-xfail option gives this output:: example $ py.test -rx xfail_demo.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 - rootdir: $PWD/doc/en, inifile: pytest.ini + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 + rootdir: $REGENDOC_TMPDIR/example, inifile: collected 7 items xfail_demo.py xxxxxxx diff --git a/doc/en/tmpdir.rst b/doc/en/tmpdir.rst index c396346a1..f5f69b21f 100644 --- a/doc/en/tmpdir.rst +++ b/doc/en/tmpdir.rst @@ -29,7 +29,7 @@ Running this would result in a passed test except for the last $ py.test test_tmpdir.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 1 items @@ -38,7 +38,7 @@ Running this would result in a passed test except for the last ======= FAILURES ======== _______ test_create_file ________ - tmpdir = local('/tmp/pytest-NaN/test_create_file0') + tmpdir = local('PYTEST_TMPDIR/test_create_file0') def test_create_file(tmpdir): p = tmpdir.mkdir("sub").join("hello.txt") @@ -51,7 +51,6 @@ Running this would result in a passed test except for the last test_tmpdir.py:7: AssertionError ======= 1 failed in 0.12 seconds ======== - The 'tmpdir_factory' fixture ---------------------------- diff --git a/doc/en/unittest.rst b/doc/en/unittest.rst index dd57ef0d2..3327b5bae 100644 --- a/doc/en/unittest.rst +++ b/doc/en/unittest.rst @@ -88,7 +88,7 @@ the ``self.db`` values in the traceback:: $ py.test test_unittest_db.py ======= test session starts ======== - platform linux2 -- Python 2.7.9, pytest-2.8.0.dev4, py-1.4.28, pluggy-0.3.0 + platform linux2 -- Python 2.7.10, pytest-2.8.0, py-1.4.30, pluggy-0.3.1 rootdir: $REGENDOC_TMPDIR, inifile: collected 2 items diff --git a/doc/en/usage.rst b/doc/en/usage.rst index 3147e321f..3e1021be3 100644 --- a/doc/en/usage.rst +++ b/doc/en/usage.rst @@ -266,6 +266,6 @@ hook was invoked:: $ python myinvoke.py *** test run reporting finishing - + .. include:: links.inc diff --git a/tox.ini b/tox.ini index 69c9d0f52..15eb80bcb 100644 --- a/tox.ini +++ b/tox.ini @@ -107,10 +107,12 @@ commands= py.test -rfsxX {posargs} changedir=doc/en deps=sphinx PyYAML -whitelist_externals=rm + regendoc>=0.6 +whitelist_externals= + rm + make commands= rm -rf /tmp/doc-exec* - #pip install pytest==2.3.4 make regen [testenv:jython]