Go to file
Jurko Gospodnetić ffffac27f9 document explicitly clearing local references to pytest.raises() results
pytest.raises() returns an ExceptionInfo object which, if a local reference is
made to it, forms a reference cycle:
  ExceptionInfo
  --> exception
  --> stack frame raising the exception
  --> current stack frame
  --> current local variables
  --> Exception Info

Such a reference cycle would then prevent any local variables in the current
stack frame, or any of its child stack frames involved in the same reference
cycle, from being garbage collected until the next reference cycle garbage
collection phase. This unnecessarily increases the program's memory footprint
and potentially slows it down.

This situation is based on a similar one described in the official 'try'
statement Python documentation for locally stored exception references.

--HG--
branch : document_ExceptionInfo_ref_cycle
2014-01-23 09:46:36 +01:00
_pytest document explicitly clearing local references to pytest.raises() results 2014-01-23 09:46:36 +01:00
bench replace py.test module references with pytest 2014-01-18 12:31:33 +01:00
doc merge pbanaszkiewicz/contributiondocs 2014-01-23 00:52:49 +01:00
extra fix issue221 - handle importing of namespace-package with no 2013-11-20 21:04:19 +01:00
testing mark encoding test as xfail also on py2 2014-01-22 22:18:33 +01:00
.gitignore .gitignore: Removed *.html rule 2013-12-12 18:48:09 +01:00
.hgignore ignores 2013-08-14 10:09:02 +02:00
.hgtags Added tag 2.5.1 for changeset 039d543d1ca0 2013-12-17 10:52:03 +01:00
.travis.yml only force tox to upgrade 2013-09-07 20:23:44 +02:00
AUTHORS add Piotr Banaszkiewicz 2014-01-23 00:54:25 +01:00
CHANGELOG backing out Ronny's PR because it was merged too early (still has failing tests) 2014-01-22 22:15:40 +01:00
CONTRIBUTING.rst merge pbanaszkiewicz/contributiondocs 2014-01-23 00:52:49 +01:00
ISSUES.txt replace py.test module references with pytest 2014-01-18 12:31:33 +01:00
LICENSE * use the MIT license for the py lib 2009-10-03 01:11:04 +02:00
MANIFEST.in fix manifest 2013-08-15 13:05:01 +02:00
README.rst Merged in jurko/pytest (pull request #100) 2014-01-18 14:51:53 +01:00
plugin-test.sh add pluginmanager.do_configure(config) as a link to 2013-10-04 11:36:45 +02:00
pytest.py some more separation of core pluginmanager from pytest specific functionality. 2013-09-30 13:14:14 +02:00
setup.cfg add setup.cfg for building sphinx_docs 2013-10-03 12:35:13 +02:00
setup.py fix issue413: exceptions with unicode attributes are now printed 2014-01-22 17:48:56 +01:00
tox.ini remove py25 from automated testing 2013-12-12 08:16:16 +01:00

README.rst

Documentation: http://pytest.org/latest/

Changelog: http://pytest.org/latest/changelog.html

Issues: https://bitbucket.org/hpk42/pytest/issues?status=open

The ``pytest`` testing tool makes it easy to write small tests, yet
scales to support complex functional testing.  It provides

- `auto-discovery
  <http://pytest.org/latest/goodpractises.html#python-test-discovery>`_
  of test modules and functions,
- detailed info on failing `assert statements <http://pytest.org/latest/assert.html>`_ (no need to remember ``self.assert*`` names)
- `modular fixtures <http://pytest.org/latest/fixture.html>`_  for
  managing small or parametrized long-lived test resources.
- multi-paradigm support: you can use ``pytest`` to run test suites based
  on `unittest <http://pytest.org/latest/unittest.html>`_ (or trial),
  `nose <http://pytest.org/latest/nose.html>`_
- single-source compatibility to Python2.5 all the way up to Python3.3,
  PyPy-1.9 and Jython-2.5.1.

- many `external plugins <http://pytest.org/latest/plugins.html#installing-external-plugins-searching>`_.

A simple example for a test::

    # content of test_module.py
    def test_function():
        i = 4
        assert i == 3

which can be run with ``py.test test_module.py``.  See `getting-started <http://pytest.org/latest/getting-started.html#our-first-test-run>`_ for more examples.

For much more info, including PDF docs, see

    http://pytest.org

and report bugs at:

    http://bitbucket.org/hpk42/pytest/issues/

and checkout repos at:

    http://github.com/hpk42/pytest/ (mirror)
    http://bitbucket.org/hpk42/pytest/


Copyright Holger Krekel and others, 2004-2013
Licensed under the MIT license.