diff options
author | Jason Pellerin <jpellerin@gmail.com> | 2008-09-01 20:01:01 +0000 |
---|---|---|
committer | Jason Pellerin <jpellerin@gmail.com> | 2008-09-01 20:01:01 +0000 |
commit | 128f44dfbe8a5a04000e9f67f4ae9c9207582611 (patch) | |
tree | ebde9193990e0ec6bad6a4fce2ee4a973796a124 /doc | |
parent | abe8998a6b91e3f6d11c6e242687f00d648e8fdb (diff) | |
download | nose-128f44dfbe8a5a04000e9f67f4ae9c9207582611.tar.gz |
Merged multiprocess plugin branch (issue 93)
Diffstat (limited to 'doc')
38 files changed, 1282 insertions, 467 deletions
diff --git a/doc/error_class_plugin.html b/doc/error_class_plugin.html index 9a8e42e..e809f3b 100644 --- a/doc/error_class_plugin.html +++ b/doc/error_class_plugin.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> @@ -69,14 +69,14 @@ each step.</p> <blockquote> <div class="highlight"><pre><span class="gp">>>> </span><span class="n">plugin</span> <span class="o">=</span> <span class="n">TodoError</span><span class="p">()</span> <span class="gp">>>> </span><span class="n">result</span> <span class="o">=</span> <span class="n">unittest</span><span class="o">.</span><span class="n">_TextTestResult</span><span class="p">(</span><span class="n">stream</span><span class="o">=</span><span class="n">buf</span><span class="p">,</span> -<span class="gp">... </span> <span class="n">descriptions</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">verbosity</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span> +<span class="gp">... </span> <span class="n">descriptions</span><span class="o">=</span><span class="mf">0</span><span class="p">,</span> <span class="n">verbosity</span><span class="o">=</span><span class="mf">2</span><span class="p">)</span> <span class="gp">>>> </span><span class="n">plugin</span><span class="o">.</span><span class="n">prepareTestResult</span><span class="p">(</span><span class="n">result</span><span class="p">)</span> </pre></div> </blockquote> <p>Now run the test. TODO is printed.</p> <blockquote> <div class="highlight"><pre><span class="gp">>>> </span><span class="n">case</span><span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="c"># doctest: +ELLIPSIS</span> -<span class="go">runTest (....TestTodo) ... TODO</span> +<span class="go">runTest (....TestTodo) ... TODO: I need to test something</span> </pre></div> </blockquote> <p>Errors and failures are empty, but todo has our test:</p> @@ -92,9 +92,8 @@ each step.</p> <span class="go">======================================================================</span> <span class="go">TODO: runTest (....TestTodo)</span> <span class="go">----------------------------------------------------------------------</span> -<span class="gt">Traceback (most recent call last):</span> -<span class="c">...</span> -<span class="nc">Todo</span>: <span class="n-Identifier">I need to test something</span> +<span class="gp">...</span> +<span class="go">Todo: I need to test something</span> <span class="go"><BLANKLINE></span> </pre></div> </blockquote> diff --git a/doc/index.html b/doc/index.html index ec7e231..442383f 100644 --- a/doc/index.html +++ b/doc/index.html @@ -6,15 +6,15 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> </div> <div id="main"> <h1>nose: API documentation</h1> <div class="idx"> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> </div> diff --git a/doc/init_plugin.html b/doc/init_plugin.html index 462b2f4..1cba5da 100644 --- a/doc/init_plugin.html +++ b/doc/init_plugin.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> @@ -63,7 +63,7 @@ the tests fail.</p> output to remove timings, which will vary from run to run, and redirects the output to stdout.</p> <blockquote class="last"> -<div class="highlight"><pre><span class="gp">>>> </span><span class="k">from</span> <span class="nn">nose.plugins.plugintest</span> <span class="k">import</span> <span class="n">run</span> +<div class="highlight"><pre><span class="gp">>>> </span><span class="k">from</span> <span class="nn">nose.plugins.plugintest</span> <span class="k">import</span> <span class="n">run_buffered</span> <span class="k">as</span> <span class="n">run</span> </pre></div> </blockquote> </div> @@ -77,16 +77,14 @@ redirects the output to stdout.</p> <span class="go">======================================================================</span> <span class="go">ERROR: Widgets can frobnicate (or not)</span> <span class="go">----------------------------------------------------------------------</span> -<span class="gt">Traceback (most recent call last):</span> -<span class="c">...</span> -<span class="nc">AttributeError</span>: <span class="n-Identifier">'NoneType' object has no attribute 'get'</span> +<span class="gp">...</span> +<span class="go">AttributeError: 'NoneType' object has no attribute 'get'</span> <span class="go"><BLANKLINE></span> <span class="go">======================================================================</span> <span class="go">ERROR: Widgets might like cheese</span> <span class="go">----------------------------------------------------------------------</span> -<span class="gt">Traceback (most recent call last):</span> -<span class="c">...</span> -<span class="nc">AttributeError</span>: <span class="n-Identifier">'NoneType' object has no attribute 'get'</span> +<span class="gp">...</span> +<span class="go">AttributeError: 'NoneType' object has no attribute 'get'</span> <span class="go"><BLANKLINE></span> <span class="go">----------------------------------------------------------------------</span> <span class="go">Ran 2 tests in ...s</span> diff --git a/doc/module_nose.case.html b/doc/module_nose.case.html index fc1d212..0bced98 100644 --- a/doc/module_nose.case.html +++ b/doc/module_nose.case.html @@ -6,10 +6,10 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> - <h2>Classes</h2><ul><li><a href="#Test">Test</a></li><li><a href="#Failure">Failure</a></li><li><a href="#TestBase">TestBase</a></li><li><a href="#MethodTestCase">MethodTestCase</a></li><li><a href="#FunctionTestCase">FunctionTestCase</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <h2>Classes</h2><ul><li><a href="#Test">Test</a></li><li><a href="#TestBase">TestBase</a></li><li><a href="#MethodTestCase">MethodTestCase</a></li><li><a href="#FunctionTestCase">FunctionTestCase</a></li></ul> </div> <div id="main"> @@ -23,7 +23,7 @@ to create test cases from test functions and methods in test classes.</p> <p>When a plugin sees a test, it will always see an instance of this class. To access the actual test case that will be run, access the test property of the nose.case.Test instance.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__call__<span class="args">(self, *arg, **kwarg)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">__init__<span class="args">(self, test, config=None, resultProxy=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_context<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_exc_info<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Return a version of sys.exc_info() with the traceback frame +<h3>Methods</h3><div class="method section inherited"><span class="method name">__call__<span class="args">(self, *arg, **kwarg)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(self, test, config=None, resultProxy=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">_context<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_exc_info<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Return a version of sys.exc_info() with the traceback frame minimised; usually the top level of the traceback frame is not needed.</p> </div></div><div class="method section"><span class="method name">address<span class="args">(self)</span></span><div class="method doc"><p>Return a round-trip name for this test, a name that can be @@ -93,8 +93,8 @@ arguments kwargs. If a different type of exception is thrown, it will not be caught, and the test case will be deemed to have suffered an error, exactly as for an unexpected exception.</p> -</div></div><div class="method section"><span class="method name">id<span class="args">(self)</span></span><div class="method doc"><p>Get a short(er) description of the test</p> -</div></div><div class="method section"><span class="method name">run<span class="args">(self, result)</span></span><div class="method doc"><p>Modified run for the test wrapper.</p> +</div></div><div class="method section inherited"><span class="method name">id<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Get a short(er) description of the test</p> +</div></div><div class="method section inherited"><span class="method name">run<span class="args">(self, result)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Modified run for the test wrapper.</p> <p>From here we don't call result.startTest or stopTest or addSuccess. The wrapper calls addError/addFailure only if its own setup or teardown fails, or running the wrapped test fails @@ -107,80 +107,9 @@ called. They are called unconditionally.</p> value from prepareTestCase. The value must be callable and must accept one argument, the result instance.</p> </div></div><div class="method section inherited"><span class="method name">setUp<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Hook method for setting up the test fixture before exercising it.</p> -</div></div><div class="method section"><span class="method name">shortDescription<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">tearDown<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Hook method for deconstructing the test fixture after testing it.</p> +</div></div><div class="method section inherited"><span class="method name">shortDescription<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">tearDown<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Hook method for deconstructing the test fixture after testing it.</p> </div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">context</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Get the context object of this test (if any).</p> </div></div></div></div> -<a name="Failure"></a><div class="cls section"><span class="cls name">Failure</span> (unittest.TestCase)<div class="cls doc"><h3>Methods</h3><div class="method section inherited"><span class="method name">__call__<span class="args">(self, *args, **kwds)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">__init__<span class="args">(self, exc_class, exc_val, tb=None)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_exc_info<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Return a version of sys.exc_info() with the traceback frame -minimised; usually the top level of the traceback frame is not -needed.</p> -</div></div><div class="method section inherited"><span class="method name">assertAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by their -difference rounded to the given number of decimal places -(default 7) and comparing to zero.</p> -<p>Note that decimal places (from zero) are usually not the same -as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">assertAlmostEquals<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by their -difference rounded to the given number of decimal places -(default 7) and comparing to zero.</p> -<p>Note that decimal places (from zero) are usually not the same -as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">assertEqual<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' -operator.</p> -</div></div><div class="method section inherited"><span class="method name">assertEquals<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' -operator.</p> -</div></div><div class="method section inherited"><span class="method name">assertFalse<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test if the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">assertNotAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by their -difference rounded to the given number of decimal places -(default 7) and comparing to zero.</p> -<p>Note that decimal places (from zero) are usually not the same -as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">assertNotAlmostEquals<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by their -difference rounded to the given number of decimal places -(default 7) and comparing to zero.</p> -<p>Note that decimal places (from zero) are usually not the same -as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">assertNotEqual<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' -operator.</p> -</div></div><div class="method section inherited"><span class="method name">assertNotEquals<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' -operator.</p> -</div></div><div class="method section inherited"><span class="method name">assertRaises<span class="args">(self, excClass, callableObj, *args, **kwargs)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail unless an exception of class excClass is thrown -by callableObj when invoked with arguments args and keyword -arguments kwargs. If a different type of exception is -thrown, it will not be caught, and the test case will be -deemed to have suffered an error, exactly as for an -unexpected exception.</p> -</div></div><div class="method section inherited"><span class="method name">assertTrue<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test unless the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">assert_<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test unless the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">countTestCases<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">debug<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Run the test without collecting errors in a TestResult</p> -</div></div><div class="method section inherited"><span class="method name">defaultTestResult<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">fail<span class="args">(self, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail immediately, with the given message.</p> -</div></div><div class="method section inherited"><span class="method name">failIf<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test if the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">failIfAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by their -difference rounded to the given number of decimal places -(default 7) and comparing to zero.</p> -<p>Note that decimal places (from zero) are usually not the same -as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">failIfEqual<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' -operator.</p> -</div></div><div class="method section inherited"><span class="method name">failUnless<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test unless the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">failUnlessAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by their -difference rounded to the given number of decimal places -(default 7) and comparing to zero.</p> -<p>Note that decimal places (from zero) are usually not the same -as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">failUnlessEqual<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' -operator.</p> -</div></div><div class="method section inherited"><span class="method name">failUnlessRaises<span class="args">(self, excClass, callableObj, *args, **kwargs)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail unless an exception of class excClass is thrown -by callableObj when invoked with arguments args and keyword -arguments kwargs. If a different type of exception is -thrown, it will not be caught, and the test case will be -deemed to have suffered an error, exactly as for an -unexpected exception.</p> -</div></div><div class="method section inherited"><span class="method name">id<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">run<span class="args">(self, result=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">runTest<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">setUp<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Hook method for setting up the test fixture before exercising it.</p> -</div></div><div class="method section inherited"><span class="method name">shortDescription<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Returns a one-line description of the test, or None if no -description has been provided.</p> -<p>The default implementation of this method returns the first line of -the specified test method's docstring.</p> -</div></div><div class="method section inherited"><span class="method name">tearDown<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Hook method for deconstructing the test fixture after testing it.</p> -</div></div></div></div> <a name="TestBase"></a><div class="cls section"><span class="cls name">TestBase</span> (unittest.TestCase)<div class="cls doc"><p>Common functionality for FunctionTestCase and MethodTestCase.</p> <h3>Methods</h3><div class="method section inherited"><span class="method name">__call__<span class="args">(self, *args, **kwds)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(self, methodName='runTest')</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does @@ -249,13 +178,13 @@ arguments kwargs. If a different type of exception is thrown, it will not be caught, and the test case will be deemed to have suffered an error, exactly as for an unexpected exception.</p> -</div></div><div class="method section"><span class="method name">id<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">run<span class="args">(self, result=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">runTest<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">setUp<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Hook method for setting up the test fixture before exercising it.</p> -</div></div><div class="method section"><span class="method name">shortDescription<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">tearDown<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Hook method for deconstructing the test fixture after testing it.</p> +</div></div><div class="method section inherited"><span class="method name">id<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">run<span class="args">(self, result=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">runTest<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">setUp<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Hook method for setting up the test fixture before exercising it.</p> +</div></div><div class="method section inherited"><span class="method name">shortDescription<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">tearDown<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Hook method for deconstructing the test fixture after testing it.</p> </div></div></div></div> <a name="MethodTestCase"></a><div class="cls section"><span class="cls name">MethodTestCase</span> (<a href="module_nose.case.html#TestBase">TestBase</a>)<div class="cls doc"><p>Test case wrapper for test methods.</p> <p>Don't use this class directly; it is used internally in nose to create test cases for test methods.</p> -<h3>Methods</h3><div class="method section inherited"><span class="method name">__call__<span class="args">(self, *args, **kwds)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">__init__<span class="args">(self, method, test=None, arg=(), descriptor=None)</span></span><div class="method doc"><p>Initialize the MethodTestCase.</p> +<h3>Methods</h3><div class="method section"><span class="method name">__call__<span class="args">(self, *args, **kwds)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">__init__<span class="args">(self, method, test=None, arg=(), descriptor=None)</span></span><div class="method doc"><p>Initialize the MethodTestCase.</p> <p>Required argument:</p> <ul class="simple"> <li>method -- the method to call, may be bound or unbound. In either @@ -279,79 +208,79 @@ most cases, this is the method itself and no arguments. For tests generated by generator methods, the original (generator) method and args passed to the generated method or function are returned.</p> -</div></div><div class="method section inherited"><span class="method name">_exc_info<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Return a version of sys.exc_info() with the traceback frame +</div></div><div class="method section"><span class="method name">_exc_info<span class="args">(self)</span></span><div class="method doc"><p>Return a version of sys.exc_info() with the traceback frame minimised; usually the top level of the traceback frame is not needed.</p> </div></div><div class="method section"><span class="method name">address<span class="args">(self)</span></span><div class="method doc"><p>Return a round-trip name for this test, a name that can be fed back as input to loadTestByName and (assuming the same plugin configuration) result in the loading of this test.</p> -</div></div><div class="method section inherited"><span class="method name">assertAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by their +</div></div><div class="method section"><span class="method name">assertAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are unequal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.</p> <p>Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">assertAlmostEquals<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by their +</div></div><div class="method section"><span class="method name">assertAlmostEquals<span class="args">(self, first, second, places=7, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are unequal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.</p> <p>Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">assertEqual<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' +</div></div><div class="method section"><span class="method name">assertEqual<span class="args">(self, first, second, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' operator.</p> -</div></div><div class="method section inherited"><span class="method name">assertEquals<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' +</div></div><div class="method section"><span class="method name">assertEquals<span class="args">(self, first, second, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' operator.</p> -</div></div><div class="method section inherited"><span class="method name">assertFalse<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test if the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">assertNotAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by their +</div></div><div class="method section"><span class="method name">assertFalse<span class="args">(self, expr, msg=None)</span></span><div class="method doc"><p>Fail the test if the expression is true.</p> +</div></div><div class="method section"><span class="method name">assertNotAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are equal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.</p> <p>Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">assertNotAlmostEquals<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by their +</div></div><div class="method section"><span class="method name">assertNotAlmostEquals<span class="args">(self, first, second, places=7, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are equal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.</p> <p>Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">assertNotEqual<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' +</div></div><div class="method section"><span class="method name">assertNotEqual<span class="args">(self, first, second, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' operator.</p> -</div></div><div class="method section inherited"><span class="method name">assertNotEquals<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' +</div></div><div class="method section"><span class="method name">assertNotEquals<span class="args">(self, first, second, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' operator.</p> -</div></div><div class="method section inherited"><span class="method name">assertRaises<span class="args">(self, excClass, callableObj, *args, **kwargs)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail unless an exception of class excClass is thrown +</div></div><div class="method section"><span class="method name">assertRaises<span class="args">(self, excClass, callableObj, *args, **kwargs)</span></span><div class="method doc"><p>Fail unless an exception of class excClass is thrown by callableObj when invoked with arguments args and keyword arguments kwargs. If a different type of exception is thrown, it will not be caught, and the test case will be deemed to have suffered an error, exactly as for an unexpected exception.</p> -</div></div><div class="method section inherited"><span class="method name">assertTrue<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test unless the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">assert_<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test unless the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">countTestCases<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">debug<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Run the test without collecting errors in a TestResult</p> -</div></div><div class="method section inherited"><span class="method name">defaultTestResult<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">fail<span class="args">(self, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail immediately, with the given message.</p> -</div></div><div class="method section inherited"><span class="method name">failIf<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test if the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">failIfAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by their +</div></div><div class="method section"><span class="method name">assertTrue<span class="args">(self, expr, msg=None)</span></span><div class="method doc"><p>Fail the test unless the expression is true.</p> +</div></div><div class="method section"><span class="method name">assert_<span class="args">(self, expr, msg=None)</span></span><div class="method doc"><p>Fail the test unless the expression is true.</p> +</div></div><div class="method section"><span class="method name">countTestCases<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">debug<span class="args">(self)</span></span><div class="method doc"><p>Run the test without collecting errors in a TestResult</p> +</div></div><div class="method section"><span class="method name">defaultTestResult<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">fail<span class="args">(self, msg=None)</span></span><div class="method doc"><p>Fail immediately, with the given message.</p> +</div></div><div class="method section"><span class="method name">failIf<span class="args">(self, expr, msg=None)</span></span><div class="method doc"><p>Fail the test if the expression is true.</p> +</div></div><div class="method section"><span class="method name">failIfAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are equal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.</p> <p>Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">failIfEqual<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' +</div></div><div class="method section"><span class="method name">failIfEqual<span class="args">(self, first, second, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' operator.</p> -</div></div><div class="method section inherited"><span class="method name">failUnless<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test unless the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">failUnlessAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by their +</div></div><div class="method section"><span class="method name">failUnless<span class="args">(self, expr, msg=None)</span></span><div class="method doc"><p>Fail the test unless the expression is true.</p> +</div></div><div class="method section"><span class="method name">failUnlessAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are unequal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.</p> <p>Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">failUnlessEqual<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' +</div></div><div class="method section"><span class="method name">failUnlessEqual<span class="args">(self, first, second, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' operator.</p> -</div></div><div class="method section inherited"><span class="method name">failUnlessRaises<span class="args">(self, excClass, callableObj, *args, **kwargs)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail unless an exception of class excClass is thrown +</div></div><div class="method section"><span class="method name">failUnlessRaises<span class="args">(self, excClass, callableObj, *args, **kwargs)</span></span><div class="method doc"><p>Fail unless an exception of class excClass is thrown by callableObj when invoked with arguments args and keyword arguments kwargs. If a different type of exception is thrown, it will not be caught, and the test case will be deemed to have suffered an error, exactly as for an unexpected exception.</p> -</div></div><div class="method section inherited"><span class="method name">id<span class="args">(self)</span></span><span class="method inherited">(inherited from TestBase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">run<span class="args">(self, result=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">runTest<span class="args">(self)</span></span><span class="method inherited">(inherited from TestBase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">setUp<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">shortDescription<span class="args">(self)</span></span><span class="method inherited">(inherited from TestBase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">tearDown<span class="args">(self)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">context</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Get context (class) of this test</p> +</div></div><div class="method section inherited"><span class="method name">id<span class="args">(self)</span></span><span class="method inherited">(inherited from TestBase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">run<span class="args">(self, result=None)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">runTest<span class="args">(self)</span></span><span class="method inherited">(inherited from TestBase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">setUp<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">shortDescription<span class="args">(self)</span></span><span class="method inherited">(inherited from TestBase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">tearDown<span class="args">(self)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">context</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Get context (class) of this test</p> </div></div></div></div> <a name="FunctionTestCase"></a><div class="cls section"><span class="cls name">FunctionTestCase</span> (<a href="module_nose.case.html#TestBase">TestBase</a>)<div class="cls doc"><p>TestCase wrapper for test functions.</p> <p>Don't use this class directly; it is used internally in nose to create test cases for test functions.</p> -<h3>Methods</h3><div class="method section inherited"><span class="method name">__call__<span class="args">(self, *args, **kwds)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">__init__<span class="args">(self, test, setUp=None, tearDown=None, arg=(), descriptor=None)</span></span><div class="method doc"><p>Initialize the MethodTestCase.</p> +<h3>Methods</h3><div class="method section"><span class="method name">__call__<span class="args">(self, *args, **kwds)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">__init__<span class="args">(self, test, setUp=None, tearDown=None, arg=(), descriptor=None)</span></span><div class="method doc"><p>Initialize the MethodTestCase.</p> <p>Required argument:</p> <ul class="simple"> <li>test -- the test function to call.</li> @@ -371,74 +300,74 @@ most cases, this is the function itself and no arguments. For tests generated by generator functions, the original (generator) function and args passed to the generated function are returned.</p> -</div></div><div class="method section inherited"><span class="method name">_exc_info<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Return a version of sys.exc_info() with the traceback frame +</div></div><div class="method section"><span class="method name">_exc_info<span class="args">(self)</span></span><div class="method doc"><p>Return a version of sys.exc_info() with the traceback frame minimised; usually the top level of the traceback frame is not needed.</p> </div></div><div class="method section"><span class="method name">address<span class="args">(self)</span></span><div class="method doc"><p>Return a round-trip name for this test, a name that can be fed back as input to loadTestByName and (assuming the same plugin configuration) result in the loading of this test.</p> -</div></div><div class="method section inherited"><span class="method name">assertAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by their +</div></div><div class="method section"><span class="method name">assertAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are unequal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.</p> <p>Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">assertAlmostEquals<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by their +</div></div><div class="method section"><span class="method name">assertAlmostEquals<span class="args">(self, first, second, places=7, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are unequal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.</p> <p>Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">assertEqual<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' +</div></div><div class="method section"><span class="method name">assertEqual<span class="args">(self, first, second, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' operator.</p> -</div></div><div class="method section inherited"><span class="method name">assertEquals<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' +</div></div><div class="method section"><span class="method name">assertEquals<span class="args">(self, first, second, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' operator.</p> -</div></div><div class="method section inherited"><span class="method name">assertFalse<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test if the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">assertNotAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by their +</div></div><div class="method section"><span class="method name">assertFalse<span class="args">(self, expr, msg=None)</span></span><div class="method doc"><p>Fail the test if the expression is true.</p> +</div></div><div class="method section"><span class="method name">assertNotAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are equal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.</p> <p>Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">assertNotAlmostEquals<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by their +</div></div><div class="method section"><span class="method name">assertNotAlmostEquals<span class="args">(self, first, second, places=7, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are equal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.</p> <p>Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">assertNotEqual<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' +</div></div><div class="method section"><span class="method name">assertNotEqual<span class="args">(self, first, second, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' operator.</p> -</div></div><div class="method section inherited"><span class="method name">assertNotEquals<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' +</div></div><div class="method section"><span class="method name">assertNotEquals<span class="args">(self, first, second, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' operator.</p> -</div></div><div class="method section inherited"><span class="method name">assertRaises<span class="args">(self, excClass, callableObj, *args, **kwargs)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail unless an exception of class excClass is thrown +</div></div><div class="method section"><span class="method name">assertRaises<span class="args">(self, excClass, callableObj, *args, **kwargs)</span></span><div class="method doc"><p>Fail unless an exception of class excClass is thrown by callableObj when invoked with arguments args and keyword arguments kwargs. If a different type of exception is thrown, it will not be caught, and the test case will be deemed to have suffered an error, exactly as for an unexpected exception.</p> -</div></div><div class="method section inherited"><span class="method name">assertTrue<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test unless the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">assert_<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test unless the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">countTestCases<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">debug<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Run the test without collecting errors in a TestResult</p> -</div></div><div class="method section inherited"><span class="method name">defaultTestResult<span class="args">(self)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">fail<span class="args">(self, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail immediately, with the given message.</p> -</div></div><div class="method section inherited"><span class="method name">failIf<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test if the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">failIfAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by their +</div></div><div class="method section"><span class="method name">assertTrue<span class="args">(self, expr, msg=None)</span></span><div class="method doc"><p>Fail the test unless the expression is true.</p> +</div></div><div class="method section"><span class="method name">assert_<span class="args">(self, expr, msg=None)</span></span><div class="method doc"><p>Fail the test unless the expression is true.</p> +</div></div><div class="method section"><span class="method name">countTestCases<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">debug<span class="args">(self)</span></span><div class="method doc"><p>Run the test without collecting errors in a TestResult</p> +</div></div><div class="method section"><span class="method name">defaultTestResult<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">fail<span class="args">(self, msg=None)</span></span><div class="method doc"><p>Fail immediately, with the given message.</p> +</div></div><div class="method section"><span class="method name">failIf<span class="args">(self, expr, msg=None)</span></span><div class="method doc"><p>Fail the test if the expression is true.</p> +</div></div><div class="method section"><span class="method name">failIfAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are equal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.</p> <p>Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">failIfEqual<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' +</div></div><div class="method section"><span class="method name">failIfEqual<span class="args">(self, first, second, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are equal as determined by the '==' operator.</p> -</div></div><div class="method section inherited"><span class="method name">failUnless<span class="args">(self, expr, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail the test unless the expression is true.</p> -</div></div><div class="method section inherited"><span class="method name">failUnlessAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by their +</div></div><div class="method section"><span class="method name">failUnless<span class="args">(self, expr, msg=None)</span></span><div class="method doc"><p>Fail the test unless the expression is true.</p> +</div></div><div class="method section"><span class="method name">failUnlessAlmostEqual<span class="args">(self, first, second, places=7, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are unequal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.</p> <p>Note that decimal places (from zero) are usually not the same as significant digits (measured from the most signficant digit).</p> -</div></div><div class="method section inherited"><span class="method name">failUnlessEqual<span class="args">(self, first, second, msg=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' +</div></div><div class="method section"><span class="method name">failUnlessEqual<span class="args">(self, first, second, msg=None)</span></span><div class="method doc"><p>Fail if the two objects are unequal as determined by the '==' operator.</p> -</div></div><div class="method section inherited"><span class="method name">failUnlessRaises<span class="args">(self, excClass, callableObj, *args, **kwargs)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"><p>Fail unless an exception of class excClass is thrown +</div></div><div class="method section"><span class="method name">failUnlessRaises<span class="args">(self, excClass, callableObj, *args, **kwargs)</span></span><div class="method doc"><p>Fail unless an exception of class excClass is thrown by callableObj when invoked with arguments args and keyword arguments kwargs. If a different type of exception is thrown, it will not be caught, and the test case will be deemed to have suffered an error, exactly as for an unexpected exception.</p> -</div></div><div class="method section inherited"><span class="method name">id<span class="args">(self)</span></span><span class="method inherited">(inherited from TestBase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">run<span class="args">(self, result=None)</span></span><span class="method inherited">(inherited from TestCase)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">runTest<span class="args">(self)</span></span><span class="method inherited">(inherited from TestBase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">setUp<span class="args">(self)</span></span><div class="method doc"><p>Run any setup function attached to the test function</p> +</div></div><div class="method section inherited"><span class="method name">id<span class="args">(self)</span></span><span class="method inherited">(inherited from TestBase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">run<span class="args">(self, result=None)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">runTest<span class="args">(self)</span></span><span class="method inherited">(inherited from TestBase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">setUp<span class="args">(self)</span></span><div class="method doc"><p>Run any setup function attached to the test function</p> </div></div><div class="method section inherited"><span class="method name">shortDescription<span class="args">(self)</span></span><span class="method inherited">(inherited from TestBase)</span><div class="method doc"></div></div><div class="method section"><span class="method name">tearDown<span class="args">(self)</span></span><div class="method doc"><p>Run any teardown function attached to the test function</p> </div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">context</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Get context (module) of this test</p> </div></div></div></div> diff --git a/doc/module_nose.commands.html b/doc/module_nose.commands.html index 5c27a0c..0b66121 100644 --- a/doc/module_nose.commands.html +++ b/doc/module_nose.commands.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> <h2>Classes</h2><ul><li><a href="#nosetests">nosetests</a></li></ul><h2>Functions</h2><ul><li><a href="#get_user_options">get_user_options</a></li></ul><h2>Attributes</h2><ul><li><a href="#option_blacklist">option_blacklist</a></li></ul> </div> @@ -55,48 +55,48 @@ dependencies or that build C extensions, using the setuptools command can be more convenient than building by hand and running the nosetests script.</p> <h2>Classes</h2> -<p>Highlighted methods are defined in this class.</p><a name="nosetests"></a><div class="cls section"><span class="cls name">nosetests</span> (setuptools.Command)<div class="cls doc"><h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, dist, **kw)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_ensure_stringlike<span class="args">(self, option, what, default=None)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_ensure_tested_string<span class="args">(self, option, tester, what, error_fmt, default=None)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">announce<span class="args">(self, msg, level=1)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>If the current verbosity level is of greater than or equal to +<p>Highlighted methods are defined in this class.</p><a name="nosetests"></a><div class="cls section"><span class="cls name">nosetests</span> (setuptools.Command)<div class="cls doc"><h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, dist, **kw)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"></div></div><div class="method section"><span class="method name">_ensure_stringlike<span class="args">(self, option, what, default=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_ensure_tested_string<span class="args">(self, option, tester, what, error_fmt, default=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">announce<span class="args">(self, msg, level=1)</span></span><div class="method doc"><p>If the current verbosity level is of greater than or equal to 'level' print 'msg' to stdout.</p> -</div></div><div class="method section inherited"><span class="method name">copy_file<span class="args">(self, infile, outfile, preserve_mode=1, preserve_times=1, link=None, level=1)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>Copy a file respecting verbose, dry-run and force flags. (The +</div></div><div class="method section"><span class="method name">cfgToArg<span class="args">(self, optname, value)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">copy_file<span class="args">(self, infile, outfile, preserve_mode=1, preserve_times=1, link=None, level=1)</span></span><div class="method doc"><p>Copy a file respecting verbose, dry-run and force flags. (The former two default to whatever is in the Distribution object, and the latter defaults to false for commands that don't define it.)</p> -</div></div><div class="method section inherited"><span class="method name">copy_tree<span class="args">(self, infile, outfile, preserve_mode=1, preserve_times=1, preserve_symlinks=0, level=1)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>Copy an entire directory tree respecting verbose, dry-run, +</div></div><div class="method section"><span class="method name">copy_tree<span class="args">(self, infile, outfile, preserve_mode=1, preserve_times=1, preserve_symlinks=0, level=1)</span></span><div class="method doc"><p>Copy an entire directory tree respecting verbose, dry-run, and force flags.</p> -</div></div><div class="method section inherited"><span class="method name">debug_print<span class="args">(self, msg)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>Print 'msg' to stdout if the global DEBUG (taken from the +</div></div><div class="method section"><span class="method name">debug_print<span class="args">(self, msg)</span></span><div class="method doc"><p>Print 'msg' to stdout if the global DEBUG (taken from the DISTUTILS_DEBUG environment variable) flag is true.</p> -</div></div><div class="method section inherited"><span class="method name">dump_options<span class="args">(self, header=None, indent='')</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">ensure_dirname<span class="args">(self, option)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">ensure_filename<span class="args">(self, option)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>Ensure that 'option' is the name of an existing file.</p> -</div></div><div class="method section inherited"><span class="method name">ensure_finalized<span class="args">(self)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">ensure_string<span class="args">(self, option, default=None)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>Ensure that 'option' is a string; if not defined, set it to +</div></div><div class="method section"><span class="method name">dump_options<span class="args">(self, header=None, indent='')</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">ensure_dirname<span class="args">(self, option)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">ensure_filename<span class="args">(self, option)</span></span><div class="method doc"><p>Ensure that 'option' is the name of an existing file.</p> +</div></div><div class="method section"><span class="method name">ensure_finalized<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">ensure_string<span class="args">(self, option, default=None)</span></span><div class="method doc"><p>Ensure that 'option' is a string; if not defined, set it to 'default'.</p> -</div></div><div class="method section inherited"><span class="method name">ensure_string_list<span class="args">(self, option)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>Ensure that 'option' is a list of strings. If 'option' is +</div></div><div class="method section"><span class="method name">ensure_string_list<span class="args">(self, option)</span></span><div class="method doc"><p>Ensure that 'option' is a list of strings. If 'option' is currently a string, we split it either on /,s*/ or /s+/, so "foo bar baz", "foo,bar,baz", and "foo, bar baz" all become ["foo", "bar", "baz"].</p> -</div></div><div class="method section inherited"><span class="method name">execute<span class="args">(self, func, args, msg=None, level=1)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"></div></div><div class="method section"><span class="method name">finalize_options<span class="args">(self)</span></span><div class="method doc"><p>nothing to do here</p> -</div></div><div class="method section inherited"><span class="method name">get_command_name<span class="args">(self)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">get_finalized_command<span class="args">(self, command, create=1)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>Wrapper around Distribution's 'get_command_obj()' method: find +</div></div><div class="method section"><span class="method name">execute<span class="args">(self, func, args, msg=None, level=1)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">finalize_options<span class="args">(self)</span></span><div class="method doc"><p>nothing to do here</p> +</div></div><div class="method section"><span class="method name">get_command_name<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">get_finalized_command<span class="args">(self, command, create=1)</span></span><div class="method doc"><p>Wrapper around Distribution's 'get_command_obj()' method: find (create if necessary and 'create' is true) the command object for 'command', call its 'ensure_finalized()' method, and return the finalized command object.</p> -</div></div><div class="method section inherited"><span class="method name">get_sub_commands<span class="args">(self)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>Determine the sub-commands that are relevant in the current +</div></div><div class="method section"><span class="method name">get_sub_commands<span class="args">(self)</span></span><div class="method doc"><p>Determine the sub-commands that are relevant in the current distribution (ie., that need to be run). This is based on the 'sub_commands' class attribute: each tuple in that list may include a method that we call to determine if the subcommand needs to be run for the current distribution. Return a list of command names.</p> </div></div><div class="method section"><span class="method name">initialize_options<span class="args">(self)</span></span><div class="method doc"><p>create the member variables, but change hyphens to underscores</p> -</div></div><div class="method section inherited"><span class="method name">make_archive<span class="args">(self, base_name, format, root_dir=None, base_dir=None)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">make_file<span class="args">(self, infiles, outfile, func, args, exec_msg=None, skip_msg=None, level=1)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>Special case of 'execute()' for operations that process one or +</div></div><div class="method section"><span class="method name">make_archive<span class="args">(self, base_name, format, root_dir=None, base_dir=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">make_file<span class="args">(self, infiles, outfile, func, args, exec_msg=None, skip_msg=None, level=1)</span></span><div class="method doc"><p>Special case of 'execute()' for operations that process one or more input files and generate one output file. Works just like 'execute()', except the operation is skipped and a different message printed if 'outfile' already exists and is newer than all files listed in 'infiles'. If the command defined 'self.force', and it is true, then the command is unconditionally run -- does no timestamp checks.</p> -</div></div><div class="method section inherited"><span class="method name">mkpath<span class="args">(self, name, mode=511)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">move_file<span class="args">(self, src, dst, level=1)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>Move a file respectin dry-run flag.</p> +</div></div><div class="method section"><span class="method name">mkpath<span class="args">(self, name, mode=511)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">move_file<span class="args">(self, src, dst, level=1)</span></span><div class="method doc"><p>Move a file respectin dry-run flag.</p> </div></div><div class="method section inherited"><span class="method name">reinitialize_command<span class="args">(self, command, reinit_subcommands=0, **kw)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"></div></div><div class="method section"><span class="method name">run<span class="args">(self)</span></span><div class="method doc"><p>ensure tests are capable of being run, then run nose.main with a reconstructed argument list</p> -</div></div><div class="method section inherited"><span class="method name">run_command<span class="args">(self, command)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>Run some other command: uses the 'run_command()' method of +</div></div><div class="method section"><span class="method name">run_command<span class="args">(self, command)</span></span><div class="method doc"><p>Run some other command: uses the 'run_command()' method of Distribution, which creates and finalizes the command object if necessary and then invokes its 'run()' method.</p> -</div></div><div class="method section inherited"><span class="method name">set_undefined_options<span class="args">(self, src_cmd, *option_pairs)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>Set the values of any "undefined" options from corresponding +</div></div><div class="method section"><span class="method name">set_undefined_options<span class="args">(self, src_cmd, *option_pairs)</span></span><div class="method doc"><p>Set the values of any "undefined" options from corresponding option values in some other command object. "Undefined" here means "is None", which is the convention used to indicate that an option has not been changed between 'initialize_options()' and @@ -108,8 +108,8 @@ for it if necessary); the remaining arguments are '(src_option,dst_option)' tuples which mean "take the value of 'src_option' in the 'src_cmd' command object, and copy it to 'dst_option' in the current command object".</p> -</div></div><div class="method section inherited"><span class="method name">spawn<span class="args">(self, cmd, search_path=1, level=1)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"><p>Spawn an external command respecting dry-run flag.</p> -</div></div><div class="method section inherited"><span class="method name">warn<span class="args">(self, msg)</span></span><span class="method inherited">(inherited from Command)</span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">_nosetests__config</span><pre class="attr value">Default value: Config(addPaths=True, args=(), configSection='nosetests', debug=None, debugLog=None, env={}, exclude=None, files=[], getTestCaseNamesCompat=False, ignoreFiles=(<_sre.SRE_Pattern object>, <_sre.SRE_Pattern object>, <_sre.SRE_Pattern object>), include=None, includeExe=False, logStream=<open file '<stderr>', mode 'w'>, loggingConfig=None, options=<nose.config.NoOptions object>, parser=<optparse.OptionParser instance>, plugins=<nose.plugins.manager.DefaultPluginManager object>, runOnInit=True, srcDirs=('lib', 'src'), stopOnError=False, stream=<open file '<stderr>', mode 'w'>, testMatch=<_sre.SRE_Pattern object>, testMatchPat='(?:^|[\\b_\\./-])[Tt]est', testNames=[], verbosity=1, where=(), workingDir='/home/jhp/code/nose/trunk')</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">_nosetests__parser</span><pre class="attr value">Default value: <optparse.OptionParser instance></pre><div class="attr doc"></div></div><div class="attr section inherited"><span class="attr name">command_consumes_arguments</span><pre class="attr value">Default value: False</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">description</span><pre class="attr value">Default value: Run unit tests using nosetests</pre><div class="attr doc"></div></div><div class="attr section inherited"><span class="attr name">sub_commands</span><pre class="attr value">Default value: []</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">user_options</span><pre class="attr value">Default value: [('version', 'V', 'Output nose version and exit'), ('plugins', 'p', 'Output list of available plugins and exit. Combine with higher verbosity for greater detail'), ('verbosity=', None, 'Set verbosity; --verbosity=2 is the same as -v'), ('quiet=', 'q', ''), ('config=', 'c', 'Load configuration from config file(s). May be specified multiple times; in that case, all config files will be loaded and combined'), ('where=', 'w', 'Look for tests in this directory. May be specified multiple times. The first directory passed will be used as the working directory, in place of the current working directory, which is the default. Others will be added to the list of tests to execute. [NOSE_WHERE]'), ('match=', 'm', 'Use this regular expression to find tests [NOSE_TESTMATCH]'), ('tests=', None, 'Run these tests (comma-separated list). This argument is useful mainly from configuration files; on the command line, just pass the tests to run as additional arguments with no switch.'), ('debug=', 'l', 'Activate debug logging for one or more systems. Available debug loggers: nose, nose.importer, nose.inspector, nose.plugins, nose.result and nose.selector. Separate multiple names with a comma.'), ('debug-log=', None, 'Log debug messages to this file (default: sys.stderr)'), ('logging-config=', None, 'Load logging config from this file -- bypasses all other logging config settings.'), ('exclude=', 'e', "Don't run tests that match regular expression [NOSE_EXCLUDE]"), ('include=', 'i', 'Also run tests that match regular expression [NOSE_INCLUDE]'), ('stop', 'x', 'Stop running tests after the first error or failure'), ('no-path-adjustment', 'P', "Don't make any changes to sys.path when loading tests [NOSE_NOPATH]"), ('exe', None, 'Look for tests in python modules that are executable. Normal behavior is to exclude executable modules, since they may not be import-safe [NOSE_INCLUDE_EXE]'), ('noexe', None, 'DO NOT look for tests in python modules that are executable. (The default on the windows platform is to do so.)'), ('attr=', 'a', 'Run only tests that have attributes specified by ATTR [NOSE_ATTR]'), ('eval-attr=', 'A', 'Run only tests for whose attributes the Python expression EXPR evaluates to True [NOSE_EVAL_ATTR]'), ('nocapture', 's', "Don't capture stdout (any stdout output will be printed immediately) [NOSE_NOCAPTURE]"), ('with-coverage', None, "Enable plugin Coverage: \nIf you have Ned Batchelder's coverage module installed, you may\nactivate a coverage report. The coverage report will cover any\npython source module imported after the start of the test run, excluding\nmodules that match testMatch. If you want to include those modules too,\nuse the --cover-tests switch, or set the NOSE_COVER_TESTS environment\nvariable to a true value. To restrict the coverage report to modules from\na particular package or packages, use the --cover-packages switch or the\nNOSE_COVER_PACKAGES environment variable.\n [NOSE_WITH_COVERAGE]"), ('cover-package=', None, 'Restrict coverage output to selected packages [NOSE_COVER_PACKAGE]'), ('cover-erase', None, 'Erase previously collected coverage statistics before run'), ('cover-tests', None, 'Include test modules in coverage report [NOSE_COVER_TESTS]'), ('cover-inclusive', None, 'Include all python files under working directory in coverage report. Useful for discovering holes in test coverage if not all files are imported by the test suite. [NOSE_COVER_INCLUSIVE]'), ('pdb', None, 'Drop into debugger on errors'), ('pdb-failures', None, 'Drop into debugger on failures'), ('no-deprecated', None, 'Disable special handling of DeprecatedTest exceptions.'), ('with-doctest', None, 'Enable plugin Doctest: \nActivate doctest plugin to find and run doctests in non-test modules.\n [NOSE_WITH_DOCTEST]'), ('doctest-tests', None, 'Also look for doctests in test modules. Note that classes, methods and functions should have either doctests or non-doctest tests, not both. [NOSE_DOCTEST_TESTS]'), ('doctest-extension=', None, 'Also look for doctests in files with this extension [NOSE_DOCTEST_EXTENSION]'), ('with-isolation', None, 'Enable plugin IsolationPlugin: \nActivate the isolation plugin to isolate changes to external\nmodules to a single test module or package. The isolation plugin\nresets the contents of sys.modules after each test module or\npackage runs to its state before the test. PLEASE NOTE that this\nplugin should not be used with the coverage plugin in any other case\nwhere module reloading may produce undesirable side-effects.\n [NOSE_WITH_ISOLATION]'), ('detailed-errors', 'd', 'Add detail to error output by attempting to evaluate failed asserts [NOSE_DETAILED_ERRORS]'), ('with-profile', None, 'Enable plugin Profile: \nUse this plugin to run tests using the hotshot profiler. \n [NOSE_WITH_PROFILE]'), ('profile-sort=', None, 'Set sort order for profiler output'), ('profile-stats-file=', None, 'Profiler stats file; default is a new temp file on each run'), ('profile-restrict=', None, 'Restrict profiler output. See help for pstats.Stats for details'), ('no-skip', None, 'Disable special handling of SkipTest exceptions.'), ('with-id', None, "Enable plugin TestId: \nActivate to add a test id (like #1) to each test name output. After\nyou've run once to generate test ids, you can re-run individual\ntests by activating the plugin and passing the ids (with or\nwithout the # prefix) instead of test names.\n [NOSE_WITH_ID]"), ('id-file=', None, 'Store test ids found in test runs in this file. Default is the file .noseids in the working directory.')]</pre><div class="attr doc"></div></div></div></div><h2>Functions</h2> +</div></div><div class="method section"><span class="method name">spawn<span class="args">(self, cmd, search_path=1, level=1)</span></span><div class="method doc"><p>Spawn an external command respecting dry-run flag.</p> +</div></div><div class="method section"><span class="method name">warn<span class="args">(self, msg)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">_nosetests__config</span><pre class="attr value">Default value: Config(addPaths=True, args=(), configSection='nosetests', debug=None, debugLog=None, env={}, exclude=None, files=[], getTestCaseNamesCompat=False, ignoreFiles=(<_sre.SRE_Pattern object>, <_sre.SRE_Pattern object>, <_sre.SRE_Pattern object>), include=None, includeExe=False, logStream=<open file '<stderr>', mode 'w'>, loggingConfig=None, options=<nose.config.NoOptions object>, parser=<optparse.OptionParser instance>, plugins=<nose.plugins.manager.DefaultPluginManager object>, runOnInit=True, srcDirs=('lib', 'src'), stopOnError=False, stream=<open file '<stderr>', mode 'w'>, testMatch=<_sre.SRE_Pattern object>, testMatchPat='(?:^|[\\b_\\./-])[Tt]est', testNames=[], verbosity=1, where=(), workingDir='/Users/jhp/projects/nose/branches/ticket-93')</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">_nosetests__parser</span><pre class="attr value">Default value: <optparse.OptionParser instance></pre><div class="attr doc"></div></div><div class="attr section inherited"><span class="attr name">command_consumes_arguments</span><pre class="attr value">Default value: False</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">description</span><pre class="attr value">Default value: Run unit tests using nosetests</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">sub_commands</span><pre class="attr value">Default value: []</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">user_options</span><pre class="attr value">Default value: [('version', 'V', 'Output nose version and exit'), ('plugins', 'p', 'Output list of available plugins and exit. Combine with higher verbosity for greater detail'), ('verbosity=', None, 'Set verbosity; --verbosity=2 is the same as -v'), ('quiet=', 'q', ''), ('config=', 'c', 'Load configuration from config file(s). May be specified multiple times; in that case, all config files will be loaded and combined'), ('where=', 'w', 'Look for tests in this directory. May be specified multiple times. The first directory passed will be used as the working directory, in place of the current working directory, which is the default. Others will be added to the list of tests to execute. [NOSE_WHERE]'), ('match=', 'm', 'Use this regular expression to find tests [NOSE_TESTMATCH]'), ('tests=', None, 'Run these tests (comma-separated list). This argument is useful mainly from configuration files; on the command line, just pass the tests to run as additional arguments with no switch.'), ('debug=', 'l', 'Activate debug logging for one or more systems. Available debug loggers: nose, nose.importer, nose.inspector, nose.plugins, nose.result and nose.selector. Separate multiple names with a comma.'), ('debug-log=', None, 'Log debug messages to this file (default: sys.stderr)'), ('logging-config=', None, 'Load logging config from this file -- bypasses all other logging config settings.'), ('exclude=', 'e', "Don't run tests that match regular expression [NOSE_EXCLUDE]"), ('include=', 'i', 'Also run tests that match regular expression [NOSE_INCLUDE]'), ('stop', 'x', 'Stop running tests after the first error or failure'), ('no-path-adjustment', 'P', "Don't make any changes to sys.path when loading tests [NOSE_NOPATH]"), ('exe', None, 'Look for tests in python modules that are executable. Normal behavior is to exclude executable modules, since they may not be import-safe [NOSE_INCLUDE_EXE]'), ('noexe', None, 'DO NOT look for tests in python modules that are executable. (The default on the windows platform is to do so.)'), ('with-trestle', None, 'Enable plugin Trestle: \nDoctest for REST apps in ReST files. Parses reStructuredText\ndocuments looking for request and response sections, and\nconstructs test examples that make the requests and expect to\nreceive the response(s) defined for the requests. A fixtures file\nreferenced by each reStructuredText document must be used to define\nclass and test level fixtures, as well as the http client (or mock client)\nto be used to make the requests.\n [NOSE_WITH_TRESTLE]'), ('trestle-extension=', None, 'Look for trestle tests in files with this extension'), ('trestle-css=', None, 'Include this .css file in generated html documentation files. Relative paths are relative to the trestle package or your working dir'), ('trestle-output=', None, 'Output generated html documentation files in this directory. Relative paths are relative to your working dir.'), ('with-gae', None, 'Enable plugin NoseGAE: \nActivate this plugin to run tests in Google App Engine dev\nenvironment. When the plugin is active, Google App Engine dev stubs, such\nas the stub datastore, will be available, and application code will run in\na sandbox that restricts module loading in the same way as it is\nrestricted when running under GAE.\n [NOSE_WITH_GAE]'), ('gae-lib-root=', None, 'Set the path to the root directory of the Google Application Engine installation'), ('gae-application=', None, 'Set the path to the GAE application under test. Default is the nose `where` directory (generally the pwd)'), ('attr=', 'a', 'Run only tests that have attributes specified by ATTR [NOSE_ATTR]'), ('eval-attr=', 'A', 'Run only tests for whose attributes the Python expression EXPR evaluates to True [NOSE_EVAL_ATTR]'), ('nocapture', 's', "Don't capture stdout (any stdout output will be printed immediately) [NOSE_NOCAPTURE]"), ('nologcapture', None, "Don't capture logging output [NOSE_NOLOGCAPTURE]"), ('logging-format=', None, 'logging statements formatting [NOSE_LOGFORMAT]'), ('logging-clear-handlers', None, 'Clear all other logging handlers'), ('with-coverage', None, "Enable plugin Coverage: \nIf you have Ned Batchelder's coverage module installed, you may\nactivate a coverage report. The coverage report will cover any\npython source module imported after the start of the test run, excluding\nmodules that match testMatch. If you want to include those modules too,\nuse the --cover-tests switch, or set the NOSE_COVER_TESTS environment\nvariable to a true value. To restrict the coverage report to modules from\na particular package or packages, use the --cover-packages switch or the\nNOSE_COVER_PACKAGES environment variable.\n [NOSE_WITH_COVERAGE]"), ('cover-package=', None, 'Restrict coverage output to selected packages [NOSE_COVER_PACKAGE]'), ('cover-erase', None, 'Erase previously collected coverage statistics before run'), ('cover-tests', None, 'Include test modules in coverage report [NOSE_COVER_TESTS]'), ('cover-inclusive', None, 'Include all python files under working directory in coverage report. Useful for discovering holes in test coverage if not all files are imported by the test suite. [NOSE_COVER_INCLUSIVE]'), ('pdb', None, 'Drop into debugger on errors'), ('pdb-failures', None, 'Drop into debugger on failures'), ('no-deprecated', None, 'Disable special handling of DeprecatedTest exceptions.'), ('with-doctest', None, 'Enable plugin Doctest: \nActivate doctest plugin to find and run doctests in non-test modules.\n [NOSE_WITH_DOCTEST]'), ('doctest-tests', None, 'Also look for doctests in test modules. Note that classes, methods and functions should have either doctests or non-doctest tests, not both. [NOSE_DOCTEST_TESTS]'), ('doctest-extension=', None, 'Also look for doctests in files with this extension [NOSE_DOCTEST_EXTENSION]'), ('doctest-fixtures=', None, 'Find fixtures for a doctest file in module with this name appended to the base name of the doctest file'), ('with-isolation', None, 'Enable plugin IsolationPlugin: \nActivate the isolation plugin to isolate changes to external\nmodules to a single test module or package. The isolation plugin\nresets the contents of sys.modules after each test module or\npackage runs to its state before the test. PLEASE NOTE that this\nplugin should not be used with the coverage plugin in any other case\nwhere module reloading may produce undesirable side-effects.\n [NOSE_WITH_ISOLATION]'), ('detailed-errors', 'd', 'Add detail to error output by attempting to evaluate failed asserts [NOSE_DETAILED_ERRORS]'), ('with-profile', None, 'Enable plugin Profile: \nUse this plugin to run tests using the hotshot profiler. \n [NOSE_WITH_PROFILE]'), ('profile-sort=', None, 'Set sort order for profiler output'), ('profile-stats-file=', None, 'Profiler stats file; default is a new temp file on each run'), ('profile-restrict=', None, 'Restrict profiler output. See help for pstats.Stats for details'), ('no-skip', None, 'Disable special handling of SkipTest exceptions.'), ('with-id', None, "Enable plugin TestId: \nActivate to add a test id (like #1) to each test name output. After\nyou've run once to generate test ids, you can re-run individual\ntests by activating the plugin and passing the ids (with or\nwithout the # prefix) instead of test names.\n [NOSE_WITH_ID]"), ('id-file=', None, 'Store test ids found in test runs in this file. Default is the file .noseids in the working directory.'), ('processes=', None, 'Spread test run among this many processes. Set a number equal to the number of processors or cores in your machine for best results. [NOSE_PROCESSES]'), ('process-timeout=', None, 'Set timeout for return of results from each test runner process. [NOSE_PROCESS_TIMEOUT]')]</pre><div class="attr doc"></div></div></div></div><h2>Functions</h2> <a name="get_user_options"></a><div class="func section"><span class="func name">get_user_options<span class="args">(parser)</span></span><div class="func doc"><p>convert a optparse option list into a distutils option tuple list</p> </div></div><h2>Attributes</h2> <a name="option_blacklist"></a><div class="attr section"><span class="attr name">option_blacklist</span><pre class="attr value">Default value: ['help', 'verbose']</pre><div class="attr doc"></div></div> diff --git a/doc/module_nose.config.html b/doc/module_nose.config.html index 2676d8e..ea8f905 100644 --- a/doc/module_nose.config.html +++ b/doc/module_nose.config.html @@ -6,24 +6,17 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> - <h2>Classes</h2><ul><li><a href="#NoOptions">NoOptions</a></li><li><a href="#NoPlugins">NoPlugins</a></li><li><a href="#Config">Config</a></li></ul><h2>Functions</h2><ul><li><a href="#user_config_files">user_config_files</a></li><li><a href="#flag">flag</a></li><li><a href="#all_config_files">all_config_files</a></li></ul><h2>Attributes</h2><ul><li><a href="#option_blacklist">option_blacklist</a></li><li><a href="#log">log</a></li><li><a href="#config_files">config_files</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <h2>Classes</h2><ul><li><a href="#Config">Config</a></li><li><a href="#NoSuchOptionError">NoSuchOptionError</a></li><li><a href="#ConfiguredDefaultsOptionParser">ConfiguredDefaultsOptionParser</a></li><li><a href="#ConfigError">ConfigError</a></li><li><a href="#NoOptions">NoOptions</a></li></ul><h2>Functions</h2><ul><li><a href="#user_config_files">user_config_files</a></li><li><a href="#flag">flag</a></li><li><a href="#all_config_files">all_config_files</a></li></ul><h2>Attributes</h2><ul><li><a href="#log">log</a></li><li><a href="#exe_allowed_platforms">exe_allowed_platforms</a></li><li><a href="#option_blacklist">option_blacklist</a></li><li><a href="#config_files">config_files</a></li></ul> </div> <div id="main"> <h1>nose: nose.config</h1> <h2>Classes</h2> -<p>Highlighted methods are defined in this class.</p><a name="NoOptions"></a><div class="cls section"><span class="cls name">NoOptions</span> (object)<div class="cls doc"><p>Options container that returns None for all options.</p> -<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(...)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"><p>x.__init__(...) initializes x; see x.__class__.__doc__ for signature</p> -</div></div><div class="method section"><span class="method name">__nonzero__<span class="args">(self)</span></span><div class="method doc"></div></div></div></div> -<a name="NoPlugins"></a><div class="cls section"><span class="cls name">NoPlugins</span> (object)<div class="cls doc"><p>Plugin 'manager' that includes no plugins and returns None -for all calls</p> -<h3>Methods</h3><div class="method section"><span class="method name">__call__<span class="args">(self, *arg, **kw)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(...)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"><p>x.__init__(...) initializes x; see x.__class__.__doc__ for signature</p> -</div></div></div></div> -<a name="Config"></a><div class="cls section"><span class="cls name">Config</span> (object)<div class="cls doc"><p>nose configuration.</p> +<p>Highlighted methods are defined in this class.</p><a name="Config"></a><div class="cls section"><span class="cls name">Config</span> (object)<div class="cls doc"><p>nose configuration.</p> <p>Instances of Config are used throughout nose to configure behavior, including plugin lists. Here are the default values for all config keys:</p> @@ -38,7 +31,7 @@ self.debugLog = env.get('NOSE_DEBUG_LOG') self.exclude = None self.getTestCaseNamesCompat = False self.includeExe = env.get('NOSE_INCLUDE_EXE', - sys.platform == 'win32') + sys.platform in exe_allowed_platforms) self.ignoreFiles = (re.compile(r'^\.'), re.compile(r'^_'), re.compile(r'^setup\.py$') @@ -54,11 +47,11 @@ self.runOnInit = True self.stopOnError = env.get('NOSE_STOP', False) self.stream = sys.stderr self.testNames = () -self.verbosity = int(env.get('NOSE_VERBOSE', 0)) +self.verbosity = int(env.get('NOSE_VERBOSE', 1)) self.where = () self.workingDir = None </pre> -<h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, **kw)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">cfgToArg<span class="args">(self, optname, value, tr=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">configure<span class="args">(self, argv=None, doc=None)</span></span><div class="method doc"><p>Configure the nose running environment. Execute configure before +<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, **kw)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"></div></div><div class="method section"><span class="method name">_parseArgs<span class="args">(self, argv, cfg_files)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">configure<span class="args">(self, argv=None, doc=None)</span></span><div class="method doc"><p>Configure the nose running environment. Execute configure before collecting tests with nose.TestCollector to enable output capture and other features.</p> </div></div><div class="method section"><span class="method name">configureLogging<span class="args">(self)</span></span><div class="method doc"><p>Configure logging for nose, or optionally other packages. Any logger @@ -69,9 +62,21 @@ it already has a handler.</p> </div></div><div class="method section"><span class="method name">default<span class="args">(self)</span></span><div class="method doc"><p>Reset all config values to defaults.</p> </div></div><div class="method section"><span class="method name">getParser<span class="args">(self, doc=None)</span></span><div class="method doc"><p>Get the command line option parser.</p> </div></div><div class="method section"><span class="method name">help<span class="args">(self, doc=None)</span></span><div class="method doc"><p>Return the generated help message</p> -</div></div><div class="method section"><span class="method name">loadConfig<span class="args">(self, file, argv)</span></span><div class="method doc"><p>Load config from file (may be filename or file-like object) and -push the config into argv.</p> -</div></div><div class="method section"><span class="method name">pluginOpts<span class="args">(self, parser)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">reset<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">todict<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">update<span class="args">(self, d)</span></span><div class="method doc"></div></div></div></div><h2>Functions</h2> +</div></div><div class="method section"><span class="method name">pluginOpts<span class="args">(self, parser)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">reset<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">todict<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">update<span class="args">(self, d)</span></span><div class="method doc"></div></div></div></div> +<a name="NoSuchOptionError"></a><div class="cls section"><span class="cls name">NoSuchOptionError</span> (exceptions.Exception)<div class="cls doc"><h3>Methods</h3><div class="method section"><span class="method name">__getitem__<span class="args">(...)</span></span><div class="method doc"><p>x.__getitem__(y) <==> x[y]</p> +</div></div><div class="method section"><span class="method name">__getslice__<span class="args">(...)</span></span><div class="method doc"><p>x.__getslice__(i, j) <==> x[i:j]</p> +<p>Use of negative indices is not supported.</p> +</div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(self, name)</span></span><span class="method inherited">(inherited from Exception)</span><div class="method doc"></div></div><div class="method section"><span class="method name">__setstate__<span class="args">(...)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">args</span><pre class="attr value">Default value: <attribute 'args' of 'exceptions.BaseException' objects></pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">message</span><pre class="attr value">Default value: <member 'message' of 'exceptions.BaseException' objects></pre><div class="attr doc"></div></div></div></div> +<a name="ConfiguredDefaultsOptionParser"></a><div class="cls section"><span class="cls name">ConfiguredDefaultsOptionParser</span> (object)<div class="cls doc"><p>Handler for options from commandline and config files.</p> +<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, parser, config_section, error=None, file_error=None)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"></div></div><div class="method section"><span class="method name">_applyConfigurationToValues<span class="args">(self, parser, config, values)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_configTuples<span class="args">(self, cfg, filename)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_processConfigValue<span class="args">(self, name, value, values, parser)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_readConfiguration<span class="args">(self, config_files)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_readFromFileObject<span class="args">(self, fh)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_readFromFilenames<span class="args">(self, filenames)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">parseArgsAndConfigFiles<span class="args">(self, args, config_files)</span></span><div class="method doc"></div></div></div></div> +<a name="ConfigError"></a><div class="cls section"><span class="cls name">ConfigError</span> (exceptions.Exception)<div class="cls doc"><h3>Methods</h3><div class="method section"><span class="method name">__getitem__<span class="args">(...)</span></span><div class="method doc"><p>x.__getitem__(y) <==> x[y]</p> +</div></div><div class="method section"><span class="method name">__getslice__<span class="args">(...)</span></span><div class="method doc"><p>x.__getslice__(i, j) <==> x[i:j]</p> +<p>Use of negative indices is not supported.</p> +</div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(...)</span></span><span class="method inherited">(inherited from Exception)</span><div class="method doc"><p>x.__init__(...) initializes x; see x.__class__.__doc__ for signature</p> +</div></div><div class="method section"><span class="method name">__setstate__<span class="args">(...)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">args</span><pre class="attr value">Default value: <attribute 'args' of 'exceptions.BaseException' objects></pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">message</span><pre class="attr value">Default value: <member 'message' of 'exceptions.BaseException' objects></pre><div class="attr doc"></div></div></div></div> +<a name="NoOptions"></a><div class="cls section"><span class="cls name">NoOptions</span> (object)<div class="cls doc"><p>Options container that returns None for all options.</p> +<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(...)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"><p>x.__init__(...) initializes x; see x.__class__.__doc__ for signature</p> +</div></div><div class="method section"><span class="method name">__nonzero__<span class="args">(self)</span></span><div class="method doc"></div></div></div></div><h2>Functions</h2> <a name="user_config_files"></a><div class="func section"><span class="func name">user_config_files<span class="args">()</span></span><div class="func doc"><p>Return path to any existing user config files</p> </div></div> <a name="flag"></a><div class="func section"><span class="func name">flag<span class="args">(val)</span></span><div class="func doc"><p>Does the value look like an on/off flag?</p> @@ -79,8 +84,9 @@ push the config into argv.</p> <a name="all_config_files"></a><div class="func section"><span class="func name">all_config_files<span class="args">()</span></span><div class="func doc"><p>Return path to any existing user config files, plus any setup.cfg in the current working directory.</p> </div></div><h2>Attributes</h2> -<a name="option_blacklist"></a><div class="attr section"><span class="attr name">option_blacklist</span><pre class="attr value">Default value: ['help', 'verbose']</pre><div class="attr doc"></div></div> <a name="log"></a><div class="attr section"><span class="attr name">log</span><pre class="attr value">Default value: <logging.Logger instance></pre><div class="attr doc"></div></div> +<a name="exe_allowed_platforms"></a><div class="attr section"><span class="attr name">exe_allowed_platforms</span><pre class="attr value">Default value: ('win32', 'cli')</pre><div class="attr doc"></div></div> +<a name="option_blacklist"></a><div class="attr section"><span class="attr name">option_blacklist</span><pre class="attr value">Default value: ['help', 'verbose']</pre><div class="attr doc"></div></div> <a name="config_files"></a><div class="attr section"><span class="attr name">config_files</span><pre class="attr value">Default value: ['~/.noserc', '~/nose.cfg']</pre><div class="attr doc"></div></div> </div> diff --git a/doc/module_nose.core.html b/doc/module_nose.core.html index 7042e9c..ce3ab76 100644 --- a/doc/module_nose.core.html +++ b/doc/module_nose.core.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> <h2>Classes</h2><ul><li><a href="#TestProgram">TestProgram</a></li><li><a href="#main">main</a></li><li><a href="#run_exit">run_exit</a></li><li><a href="#TextTestRunner">TextTestRunner</a></li><li><a href="#TestCollector">TestCollector</a></li><li><a href="#defaultTestCollector">defaultTestCollector</a></li></ul><h2>Functions</h2><ul><li><a href="#collector">collector</a></li><li><a href="#runmodule">runmodule</a></li><li><a href="#run">run</a></li></ul> </div> @@ -110,7 +110,7 @@ longer passed to startTest and partly because it's likely that the plugin is trying to find out if the test is an instance of a class that no longer exists.</p> </div> -<h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, module=None, defaultTest='.', argv=None, testRunner=None, testLoader=None, env=None, config=None, suite=None, exit=True, plugins=None)</span></span><div class="method doc"><p>Collect and run tests, returning success or failure.</p> +<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, module=None, defaultTest='.', argv=None, testRunner=None, testLoader=None, env=None, config=None, suite=None, exit=True, plugins=None)</span></span><span class="method inherited">(inherited from TestProgram)</span><div class="method doc"><p>Collect and run tests, returning success or failure.</p> <p>The arguments to __init__ are the same as to <cite>main()</cite> and <cite>run()</cite>:</p> <ul class="simple"> <li>module: All tests are in this module (default: None)</li> @@ -132,14 +132,14 @@ of tests, or a fully-configured <a class="reference" href="module_nose.suite.htm <li>plugins: List of plugins to use; ignored if config is provided (default: load plugins with DefaultPluginManager)</li> </ul> -</div></div><div class="method section"><span class="method name">createTests<span class="args">(self)</span></span><div class="method doc"><p>Create the tests to run. If a self.suite +</div></div><div class="method section inherited"><span class="method name">createTests<span class="args">(self)</span></span><span class="method inherited">(inherited from TestProgram)</span><div class="method doc"><p>Create the tests to run. If a self.suite is set, then that suite will be used. Otherwise, tests will be loaded from the given test names (self.testNames) using the test loader.</p> </div></div><div class="method section"><span class="method name">makeConfig<span class="args">(self, env, plugins=None)</span></span><div class="method doc"><p>Load a Config, pre-filled with user config files if any are found.</p> -</div></div><div class="method section"><span class="method name">parseArgs<span class="args">(self, argv)</span></span><div class="method doc"><p>Parse argv and env and configure running environment.</p> -</div></div><div class="method section"><span class="method name">runTests<span class="args">(self)</span></span><div class="method doc"><p>Run Tests. Returns true on success, false on failure, and sets +</div></div><div class="method section inherited"><span class="method name">parseArgs<span class="args">(self, argv)</span></span><span class="method inherited">(inherited from TestProgram)</span><div class="method doc"><p>Parse argv and env and configure running environment.</p> +</div></div><div class="method section inherited"><span class="method name">runTests<span class="args">(self)</span></span><span class="method inherited">(inherited from TestProgram)</span><div class="method doc"><p>Run Tests. Returns true on success, false on failure, and sets self.success to the same value.</p> </div></div><div class="method section"><span class="method name">showPlugins<span class="args">(self)</span></span><div class="method doc"><p>Print list of available plugins.</p> </div></div><div class="method section inherited"><span class="method name">usageExit<span class="args">(self, msg=None)</span></span><span class="method inherited">(inherited from TestProgram)</span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section inherited"><span class="attr name">USAGE</span><pre class="attr value">Default value: Usage: %(progName)s [options] [test] [...] @@ -161,7 +161,7 @@ Examples: <a name="TextTestRunner"></a><div class="cls section"><span class="cls name">TextTestRunner</span> (unittest.TextTestRunner)<div class="cls doc"><p>Test runner that uses nose's TextTestResult to enable errorClasses, as well as providing hooks for plugins to override or replace the test output stream, results, and the test case itself.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, stream=<open file '<stderr>', mode 'w' at 0x2af070d1d210>, descriptions=1, verbosity=1, config=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_makeResult<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">run<span class="args">(self, test)</span></span><div class="method doc"><p>Overrides to provide plugin hooks and defer all output to +<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, stream=<open file '<stderr>', mode 'w' at 0x160b0>, descriptions=1, verbosity=1, config=None)</span></span><span class="method inherited">(inherited from TextTestRunner)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_makeResult<span class="args">(self)</span></span><span class="method inherited">(inherited from TextTestRunner)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">run<span class="args">(self, test)</span></span><span class="method inherited">(inherited from TextTestRunner)</span><div class="method doc"><p>Overrides to provide plugin hooks and defer all output to the test result class.</p> </div></div></div></div> <a name="TestCollector"></a><div class="cls section"><span class="cls name">TestCollector</span> ()<div class="cls doc"><p>Main nose test collector.</p> diff --git a/doc/module_nose.exc.html b/doc/module_nose.exc.html index 4e3f4da..14a164c 100644 --- a/doc/module_nose.exc.html +++ b/doc/module_nose.exc.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> diff --git a/doc/module_nose.importer.html b/doc/module_nose.importer.html index 985d3aa..b2aa79b 100644 --- a/doc/module_nose.importer.html +++ b/doc/module_nose.importer.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> <h2>Classes</h2><ul><li><a href="#Importer">Importer</a></li></ul><h2>Functions</h2><ul><li><a href="#add_path">add_path</a></li><li><a href="#remove_path">remove_path</a></li></ul><h2>Attributes</h2><ul><li><a href="#log">log</a></li></ul> </div> @@ -24,7 +24,7 @@ the builtin importer.</p> <p>Highlighted methods are defined in this class.</p><a name="Importer"></a><div class="cls section"><span class="cls name">Importer</span> (object)<div class="cls doc"><p>An importer class that does only path-specific imports. That is, the given module is not searched for on sys.path, but only at the path or in the directory specified.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, config=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">importFromDir<span class="args">(self, dir, fqname)</span></span><div class="method doc"><p>Import a module <em>only</em> from path, ignoring sys.path and +<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, config=None)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"></div></div><div class="method section"><span class="method name">importFromDir<span class="args">(self, dir, fqname)</span></span><div class="method doc"><p>Import a module <em>only</em> from path, ignoring sys.path and reloading if the version in sys.modules is not the one we want.</p> </div></div><div class="method section"><span class="method name">importFromPath<span class="args">(self, path, fqname)</span></span><div class="method doc"><p>Import a dotted-name package whose tail is at path. In other words, given foo.bar and path/to/foo/bar.py, import foo from path/to/foo then diff --git a/doc/module_nose.inspector.html b/doc/module_nose.inspector.html index 7a7ea39..26577ac 100644 --- a/doc/module_nose.inspector.html +++ b/doc/module_nose.inspector.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> <h2>Classes</h2><ul><li><a href="#Expander">Expander</a></li></ul><h2>Functions</h2><ul><li><a href="#inspect_traceback">inspect_traceback</a></li><li><a href="#find_inspectable_lines">find_inspectable_lines</a></li><li><a href="#tbsource">tbsource</a></li></ul><h2>Attributes</h2><ul><li><a href="#log">log</a></li></ul> </div> diff --git a/doc/module_nose.loader.html b/doc/module_nose.loader.html index 0969aac..0dbf3a4 100644 --- a/doc/module_nose.loader.html +++ b/doc/module_nose.loader.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> <h2>Classes</h2><ul><li><a href="#TestLoader">TestLoader</a></li><li><a href="#defaultTestLoader">defaultTestLoader</a></li></ul> </div> @@ -44,7 +44,7 @@ provided, it will be instantiated with one argument, the current config. If not provided, a <a class="reference" href="module_nose.selector.html#Selector">nose.selector.Selector</a> is used.</li> </ul> -</div></div><div class="method section"><span class="method name">getTestCaseNames<span class="args">(self, testCaseClass)</span></span><div class="method doc"><p>Override to select with selector, unless +</div></div><div class="method section inherited"><span class="method name">getTestCaseNames<span class="args">(self, testCaseClass)</span></span><span class="method inherited">(inherited from TestLoader)</span><div class="method doc"><p>Override to select with selector, unless config.getTestCaseNamesCompat is True</p> </div></div><div class="method section"><span class="method name">loadTestsFromDir<span class="args">(self, path)</span></span><div class="method doc"><p>Load tests from the directory at path. This is a generator -- each suite of tests from a module or other file is yielded @@ -67,17 +67,17 @@ since a generator method may yield:</p> <li>a bound or unbound method, or</li> <li>a method name</li> </ul> -</div></div><div class="method section"><span class="method name">loadTestsFromModule<span class="args">(self, module, discovered=False)</span></span><div class="method doc"><p>Load all tests from module and return a suite containing +</div></div><div class="method section inherited"><span class="method name">loadTestsFromModule<span class="args">(self, module, discovered=False)</span></span><span class="method inherited">(inherited from TestLoader)</span><div class="method doc"><p>Load all tests from module and return a suite containing them. If the module has been discovered and is not test-like, the suite will be empty by default, though plugins may add their own tests.</p> -</div></div><div class="method section"><span class="method name">loadTestsFromName<span class="args">(self, name, module=None, discovered=False)</span></span><div class="method doc"><p>Load tests from the entity with the given name.</p> +</div></div><div class="method section inherited"><span class="method name">loadTestsFromName<span class="args">(self, name, module=None, discovered=False)</span></span><span class="method inherited">(inherited from TestLoader)</span><div class="method doc"><p>Load tests from the entity with the given name.</p> <p>The name may indicate a file, directory, module, or any object within a module. See <cite>nose.util.split_test_name</cite> for details on test name parsing.</p> -</div></div><div class="method section"><span class="method name">loadTestsFromNames<span class="args">(self, names, module=None)</span></span><div class="method doc"><p>Load tests from all names, returning a suite containing all +</div></div><div class="method section inherited"><span class="method name">loadTestsFromNames<span class="args">(self, names, module=None)</span></span><span class="method inherited">(inherited from TestLoader)</span><div class="method doc"><p>Load tests from all names, returning a suite containing all tests.</p> -</div></div><div class="method section"><span class="method name">loadTestsFromTestCase<span class="args">(self, testCaseClass)</span></span><div class="method doc"><p>Load tests from a unittest.TestCase subclass.</p> +</div></div><div class="method section inherited"><span class="method name">loadTestsFromTestCase<span class="args">(self, testCaseClass)</span></span><span class="method inherited">(inherited from TestLoader)</span><div class="method doc"><p>Load tests from a unittest.TestCase subclass.</p> </div></div><div class="method section"><span class="method name">loadTestsFromTestClass<span class="args">(self, cls)</span></span><div class="method doc"><p>Load tests from a test class that is <em>not</em> a unittest.TestCase subclass.</p> <p>In this case, we can't depend on the class's <cite>__init__</cite> taking method @@ -88,7 +88,7 @@ or test suite.</p> </div></div><div class="method section"><span class="method name">resolve<span class="args">(self, name, module)</span></span><div class="method doc"><p>Resolve name within module</p> </div></div><div class="method section inherited"><span class="method name">sortTestMethodsUsing<span class="args">(...)</span></span><span class="method inherited">(inherited from TestLoader)</span><div class="method doc"><p>cmp(x, y) -> integer</p> <p>Return negative if x<y, zero if x==y, positive if x>y.</p> -</div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">config</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">importer</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">selector</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">suiteClass</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section inherited"><span class="attr name">testMethodPrefix</span><pre class="attr value">Default value: test</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">workingDir</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div></div></div> +</div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">config</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">importer</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">selector</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section inherited"><span class="attr name">suiteClass</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section inherited"><span class="attr name">testMethodPrefix</span><pre class="attr value">Default value: test</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">workingDir</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div></div></div> <a name="defaultTestLoader"></a><div class="cls section"><span class="cls name">defaultTestLoader</span> (unittest.TestLoader)<div class="cls doc">(Alias for <a href="module_nose.loader.html#TestLoader">TestLoader</a>)</div></div> </div> diff --git a/doc/module_nose.plugins.manager.html b/doc/module_nose.plugins.manager.html index 261814c..8c31e90 100644 --- a/doc/module_nose.plugins.manager.html +++ b/doc/module_nose.plugins.manager.html @@ -6,10 +6,10 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> - <h2>Classes</h2><ul><li><a href="#DefaultPluginManager">DefaultPluginManager</a></li><li><a href="#PluginManager">PluginManager</a></li><li><a href="#EntryPointPluginManager">EntryPointPluginManager</a></li><li><a href="#BuiltinPluginManager">BuiltinPluginManager</a></li><li><a href="#RestrictedPluginManager">RestrictedPluginManager</a></li><li><a href="#PluginProxy">PluginProxy</a></li><li><a href="#ZeroNinePlugin">ZeroNinePlugin</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <h2>Classes</h2><ul><li><a href="#DefaultPluginManager">DefaultPluginManager</a></li><li><a href="#PluginManager">PluginManager</a></li><li><a href="#EntryPointPluginManager">EntryPointPluginManager</a></li><li><a href="#BuiltinPluginManager">BuiltinPluginManager</a></li><li><a href="#RestrictedPluginManager">RestrictedPluginManager</a></li><li><a href="#PluginProxy">PluginProxy</a></li><li><a href="#ZeroNinePlugin">ZeroNinePlugin</a></li><li><a href="#NoPlugins">NoPlugins</a></li></ul> </div> <div id="main"> @@ -50,11 +50,11 @@ you wish to make available. Make sure to call other than <tt class="docutils literal"><span class="pre">PluginManager</span></tt>.</p> </div> <h2>Classes</h2> -<p>Highlighted methods are defined in this class.</p><a name="DefaultPluginManager"></a><div class="cls section"><span class="cls name">DefaultPluginManager</span> (<a href="module_nose.plugins.manager.html#BuiltinPluginManager">BuiltinPluginManager</a>, <a href="module_nose.plugins.manager.html#EntryPointPluginManager">EntryPointPluginManager</a>)<div class="cls doc"><h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, plugins=(), proxyClass=None)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__iter__<span class="args">(self)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_get_plugins<span class="args">(self)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_set_plugins<span class="args">(self, plugins)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addPlugin<span class="args">(self, plug)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addPlugins<span class="args">(self, plugins)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">configure<span class="args">(self, options, config)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"><p>Configure the set of plugins with the given options +<p>Highlighted methods are defined in this class.</p><a name="DefaultPluginManager"></a><div class="cls section"><span class="cls name">DefaultPluginManager</span> (<a href="module_nose.plugins.manager.html#BuiltinPluginManager">BuiltinPluginManager</a>, <a href="module_nose.plugins.manager.html#EntryPointPluginManager">EntryPointPluginManager</a>)<div class="cls doc"><h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, plugins=(), proxyClass=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">__iter__<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_get_plugins<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_set_plugins<span class="args">(self, plugins)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addPlugin<span class="args">(self, plug)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addPlugins<span class="args">(self, plugins)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">configure<span class="args">(self, options, config)</span></span><div class="method doc"><p>Configure the set of plugins with the given options and config instance. After configuration, disabled plugins are removed from the plugins list.</p> </div></div><div class="method section inherited"><span class="method name">loadPlugins<span class="args">(self)</span></span><span class="method inherited">(inherited from BuiltinPluginManager)</span><div class="method doc"><p>Load plugins in nose.plugins.builtin</p> -</div></div><div class="method section inherited"><span class="method name">sort<span class="args">(self, cmpf=None)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section inherited"><span class="attr name">entry_points</span><pre class="attr value">Default value: (('nose.plugins.0.10', None), ('nose.plugins', <class nose.plugins.manager.ZeroNinePlugin>))</pre><div class="attr doc"></div></div><div class="attr section inherited"><span class="attr name">plugins</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Access the list of plugins managed by +</div></div><div class="method section"><span class="method name">sort<span class="args">(self, cmpf=None)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section inherited"><span class="attr name">entry_points</span><pre class="attr value">Default value: (('nose.plugins.0.10', None), ('nose.plugins', <class nose.plugins.manager.ZeroNinePlugin>))</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">plugins</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Access the list of plugins managed by this plugin manager</p> </div></div></div></div> <a name="PluginManager"></a><div class="cls section"><span class="cls name">PluginManager</span> (object)<div class="cls doc"><p>Base class for plugin managers. Does not implement loadPlugins, so it @@ -63,7 +63,7 @@ may only be used with a static list of plugins.</p> attributes through a <tt class="docutils literal"><span class="pre">PluginProxy</span></tt> to a list of plugins.</p> <p>Note that the list of plugins <em>may not</em> be changed after the first plugin call.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, plugins=(), proxyClass=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">__iter__<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_get_plugins<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_set_plugins<span class="args">(self, plugins)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addPlugin<span class="args">(self, plug)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addPlugins<span class="args">(self, plugins)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">configure<span class="args">(self, options, config)</span></span><div class="method doc"><p>Configure the set of plugins with the given options +<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, plugins=(), proxyClass=None)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"></div></div><div class="method section"><span class="method name">__iter__<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_get_plugins<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_set_plugins<span class="args">(self, plugins)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addPlugin<span class="args">(self, plug)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addPlugins<span class="args">(self, plugins)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">configure<span class="args">(self, options, config)</span></span><div class="method doc"><p>Configure the set of plugins with the given options and config instance. After configuration, disabled plugins are removed from the plugins list.</p> </div></div><div class="method section"><span class="method name">loadPlugins<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">sort<span class="args">(self, cmpf=None)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">plugins</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Access the list of plugins managed by @@ -74,7 +74,7 @@ this plugin manager</p> <h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, plugins=(), proxyClass=None)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__iter__<span class="args">(self)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_get_plugins<span class="args">(self)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_set_plugins<span class="args">(self, plugins)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addPlugin<span class="args">(self, plug)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addPlugins<span class="args">(self, plugins)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">configure<span class="args">(self, options, config)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"><p>Configure the set of plugins with the given options and config instance. After configuration, disabled plugins are removed from the plugins list.</p> -</div></div><div class="method section"><span class="method name">loadPlugins<span class="args">(self)</span></span><div class="method doc"><p>Load plugins by iterating the <cite>nose.plugins</cite> entry point.</p> +</div></div><div class="method section inherited"><span class="method name">loadPlugins<span class="args">(self)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"><p>Load plugins by iterating the <cite>nose.plugins</cite> entry point.</p> </div></div><div class="method section inherited"><span class="method name">sort<span class="args">(self, cmpf=None)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">entry_points</span><pre class="attr value">Default value: (('nose.plugins.0.10', None), ('nose.plugins', <class nose.plugins.manager.ZeroNinePlugin>))</pre><div class="attr doc"></div></div><div class="attr section inherited"><span class="attr name">plugins</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Access the list of plugins managed by this plugin manager</p> </div></div></div></div> @@ -83,7 +83,7 @@ this plugin manager</p> <h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, plugins=(), proxyClass=None)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__iter__<span class="args">(self)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_get_plugins<span class="args">(self)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_set_plugins<span class="args">(self, plugins)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addPlugin<span class="args">(self, plug)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addPlugins<span class="args">(self, plugins)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">configure<span class="args">(self, options, config)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"><p>Configure the set of plugins with the given options and config instance. After configuration, disabled plugins are removed from the plugins list.</p> -</div></div><div class="method section"><span class="method name">loadPlugins<span class="args">(self)</span></span><div class="method doc"><p>Load plugins in nose.plugins.builtin</p> +</div></div><div class="method section inherited"><span class="method name">loadPlugins<span class="args">(self)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"><p>Load plugins in nose.plugins.builtin</p> </div></div><div class="method section inherited"><span class="method name">sort<span class="args">(self, cmpf=None)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section inherited"><span class="attr name">plugins</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Access the list of plugins managed by this plugin manager</p> </div></div></div></div> @@ -91,10 +91,10 @@ this plugin manager</p> excluded by a list of exclude methods. Any plugin that implements an excluded method will be removed from the manager's plugin list after plugins are loaded.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, plugins=(), exclude=())</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__iter__<span class="args">(self)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_get_plugins<span class="args">(self)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_set_plugins<span class="args">(self, plugins)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addPlugin<span class="args">(self, plug)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addPlugins<span class="args">(self, plugins)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">configure<span class="args">(self, options, config)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"><p>Configure the set of plugins with the given options +<h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, plugins=(), exclude=(), load=True)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">__iter__<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_get_plugins<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_set_plugins<span class="args">(self, plugins)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addPlugin<span class="args">(self, plug)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addPlugins<span class="args">(self, plugins)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">configure<span class="args">(self, options, config)</span></span><div class="method doc"><p>Configure the set of plugins with the given options and config instance. After configuration, disabled plugins are removed from the plugins list.</p> -</div></div><div class="method section"><span class="method name">loadPlugins<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">sort<span class="args">(self, cmpf=None)</span></span><span class="method inherited">(inherited from PluginManager)</span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section inherited"><span class="attr name">entry_points</span><pre class="attr value">Default value: (('nose.plugins.0.10', None), ('nose.plugins', <class nose.plugins.manager.ZeroNinePlugin>))</pre><div class="attr doc"></div></div><div class="attr section inherited"><span class="attr name">plugins</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Access the list of plugins managed by +</div></div><div class="method section"><span class="method name">excludedOption<span class="args">(self, name)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">loadPlugins<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">sort<span class="args">(self, cmpf=None)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">entry_points</span><pre class="attr value">Default value: (('nose.plugins.0.10', None), ('nose.plugins', <class nose.plugins.manager.ZeroNinePlugin>))</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">plugins</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Access the list of plugins managed by this plugin manager</p> </div></div></div></div> <a name="PluginProxy"></a><div class="cls section"><span class="cls name">PluginProxy</span> (object)<div class="cls doc"><p>Proxy for plugin calls. Essentially a closure bound to the @@ -102,7 +102,7 @@ given call and plugin list.</p> <p>The plugin proxy also must be bound to a particular plugin interface specification, so that it knows what calls are available and any special handling that is required for each call.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__call__<span class="args">(self, *arg, **kw)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">__init__<span class="args">(self, call, plugins)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_loadTestsFromNames<span class="args">(self, names, module=None)</span></span><div class="method doc"><p>Chainable but not quite normal. Plugins return a tuple of +<h3>Methods</h3><div class="method section"><span class="method name">__call__<span class="args">(self, *arg, **kw)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(self, call, plugins)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"></div></div><div class="method section"><span class="method name">_loadTestsFromNames<span class="args">(self, names, module=None)</span></span><div class="method doc"><p>Chainable but not quite normal. Plugins return a tuple of (tests, names) after processing the names. The tests are added to a suite that is accumulated throughout the full call, while names are input for the next plugin in the chain.</p> @@ -115,6 +115,8 @@ sent to the next plugin as input. The final output result is returned.</p> </div></div></div></div> <a name="ZeroNinePlugin"></a><div class="cls section"><span class="cls name">ZeroNinePlugin</span> ()<div class="cls doc"><p>Proxy for 0.9 plugins, adapts 0.10 calls to 0.9 standard.</p> <h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, plugin)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addError<span class="args">(self, test, err)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addFailure<span class="args">(self, test, err)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addSuccess<span class="args">(self, test)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">loadTestsFromFile<span class="args">(self, filename)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">options<span class="args">(self, parser, env=os.environ)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">startTest<span class="args">(self, test)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">stopTest<span class="args">(self, test)</span></span><div class="method doc"></div></div></div></div> +<a name="NoPlugins"></a><div class="cls section"><span class="cls name">NoPlugins</span> (object)<div class="cls doc"><p>Null Plugin manager that has no plugins.</p> +<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"></div></div><div class="method section"><span class="method name">__iter__<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_doNothing<span class="args">(self, *args, **kwds)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_emptyIterator<span class="args">(self, *args, **kwds)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addPlugin<span class="args">(self, plug)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addPlugins<span class="args">(self, plugins)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">configure<span class="args">(self, options, config)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">loadPlugins<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">sort<span class="args">(self, cmpf=None)</span></span><div class="method doc"></div></div></div></div> </div> <script src="http://www.google-analytics.com/urchin.js" diff --git a/doc/module_nose.plugins.plugintest.html b/doc/module_nose.plugins.plugintest.html index 61de0ce..03b7a1c 100644 --- a/doc/module_nose.plugins.plugintest.html +++ b/doc/module_nose.plugins.plugintest.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> <h2>Classes</h2><ul><li><a href="#PluginTester">PluginTester</a></li><li><a href="#AccessDecorator">AccessDecorator</a></li></ul><h2>Functions</h2><ul><li><a href="#run">run</a></li></ul> </div> @@ -70,8 +70,8 @@ None.</p> </pre> </div></div><div class="method section"><span class="method name">setUp<span class="args">(self)</span></span><div class="method doc"><p>runs nosetests with the specified test suite, all plugins activated.</p> -</div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">activate</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">args</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">argv</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">env</span><pre class="attr value">Default value: {}</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">plugins</span><pre class="attr value">Default value: []</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">suitepath</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div></div></div> -<a name="AccessDecorator"></a><div class="cls section"><span class="cls name">AccessDecorator</span> (object)<div class="cls doc"><h3>Methods</h3><div class="method section"><span class="method name">__contains__<span class="args">(self, val)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">__init__<span class="args">(self, stream)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">__iter__<span class="args">(self)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">_buf</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">stream</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div></div></div><h2>Functions</h2> +</div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">activate</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">args</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">argv</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">env</span><pre class="attr value">Default value: {}</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">ignoreFiles</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">plugins</span><pre class="attr value">Default value: []</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">suitepath</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div></div></div> +<a name="AccessDecorator"></a><div class="cls section"><span class="cls name">AccessDecorator</span> (object)<div class="cls doc"><h3>Methods</h3><div class="method section"><span class="method name">__contains__<span class="args">(self, val)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(self, stream)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"></div></div><div class="method section"><span class="method name">__iter__<span class="args">(self)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">_buf</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">stream</span><pre class="attr value">Default value: None</pre><div class="attr doc"></div></div></div></div><h2>Functions</h2> <a name="run"></a><div class="func section"><span class="func name">run<span class="args">(*arg, **kw)</span></span><div class="func doc"><p>Specialized version of nose.run for use inside of doctests that test test runs.</p> <p>This version of run() prints the result output to stdout. Before diff --git a/doc/module_nose.proxy.html b/doc/module_nose.proxy.html index 9ded090..f28d911 100644 --- a/doc/module_nose.proxy.html +++ b/doc/module_nose.proxy.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> <h2>Classes</h2><ul><li><a href="#ResultProxyFactory">ResultProxyFactory</a></li><li><a href="#ResultProxy">ResultProxy</a></li></ul><h2>Functions</h2><ul><li><a href="#proxied_attribute">proxied_attribute</a></li></ul><h2>Attributes</h2><ul><li><a href="#log">log</a></li></ul> </div> @@ -34,14 +34,14 @@ and the result passed to the test.</p> result used for the remaining tests. If a plugin returns a value from prepareTestResult, that object will be used as the result for all tests.</p> -</div></div><div class="method section"><span class="method name">__init__<span class="args">(self, config=None)</span></span><div class="method doc"></div></div></div></div> +</div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(self, config=None)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"></div></div></div></div> <a name="ResultProxy"></a><div class="cls section"><span class="cls name">ResultProxy</span> (object)<div class="cls doc"><p>Proxy to TestResults (or other results handler).</p> <p>One ResultProxy is created for each nose.case.Test. The result proxy calls plugins with the nose.case.Test instance (instead of the wrapped test case) as each result call is made. Finally, the real result method is called, also with the nose.case.Test instance as the test parameter.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, result, test, config=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addError<span class="args">(self, test, err)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addFailure<span class="args">(self, test, err)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addSuccess<span class="args">(self, test)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">afterTest<span class="args">(self, test)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">assertMyTest<span class="args">(self, test)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">beforeTest<span class="args">(self, test)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">startTest<span class="args">(self, test)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">stop<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">stopTest<span class="args">(self, test)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">errors</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Tests that raised an exception</p> +<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, result, test, config=None)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"></div></div><div class="method section"><span class="method name">addError<span class="args">(self, test, err)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addFailure<span class="args">(self, test, err)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addSuccess<span class="args">(self, test)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">afterTest<span class="args">(self, test)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">assertMyTest<span class="args">(self, test)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">beforeTest<span class="args">(self, test)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">startTest<span class="args">(self, test)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">stop<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">stopTest<span class="args">(self, test)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">errors</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Tests that raised an exception</p> </div></div><div class="attr section"><span class="attr name">failures</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Tests that failed</p> </div></div><div class="attr section"><span class="attr name">shouldStop</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Should the test run stop?</p> </div></div><div class="attr section"><span class="attr name">testsRun</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Number of tests run</p> diff --git a/doc/module_nose.result.html b/doc/module_nose.result.html index db91f6c..12e3f83 100644 --- a/doc/module_nose.result.html +++ b/doc/module_nose.result.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> <h2>Classes</h2><ul><li><a href="#TextTestResult">TextTestResult</a></li></ul><h2>Functions</h2><ul><li><a href="#ln">ln</a></li></ul><h2>Attributes</h2><ul><li><a href="#log">log</a></li></ul> </div> @@ -23,14 +23,14 @@ reporting.</p> <p>Highlighted methods are defined in this class.</p><a name="TextTestResult"></a><div class="cls section"><span class="cls name">TextTestResult</span> (unittest._TextTestResult)<div class="cls doc"><p>Text test result that extends unittest's default test result support for a configurable set of errorClasses (eg, Skip, Deprecated, TODO) that extend the errors/failures/success triad.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, stream, descriptions, verbosity, config=None, errorClasses=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_addError<span class="args">(self, test, err)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_count_relevant_tb_levels<span class="args">(self, tb)</span></span><span class="method inherited">(inherited from TestResult)</span><div class="method doc"></div></div><div class="method section"><span class="method name">_exc_info_to_string<span class="args">(self, err, test=None)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_is_relevant_tb_level<span class="args">(self, tb)</span></span><span class="method inherited">(inherited from TestResult)</span><div class="method doc"></div></div><div class="method section"><span class="method name">addError<span class="args">(self, test, err)</span></span><div class="method doc"><p>Overrides normal addError to add support for +<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, stream, descriptions, verbosity, config=None, errorClasses=None)</span></span><span class="method inherited">(inherited from _TextTestResult)</span><div class="method doc"></div></div><div class="method section"><span class="method name">_addError<span class="args">(self, test, err)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_count_relevant_tb_levels<span class="args">(self, tb)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_exc_info_to_string<span class="args">(self, err, test=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_is_relevant_tb_level<span class="args">(self, tb)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addError<span class="args">(self, test, err)</span></span><span class="method inherited">(inherited from _TextTestResult)</span><div class="method doc"><p>Overrides normal addError to add support for errorClasses. If the exception is a registered class, the error will be added to the list for that class, not errors.</p> -</div></div><div class="method section inherited"><span class="method name">addFailure<span class="args">(self, test, err)</span></span><span class="method inherited">(inherited from _TextTestResult)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addSuccess<span class="args">(self, test)</span></span><span class="method inherited">(inherited from _TextTestResult)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">getDescription<span class="args">(self, test)</span></span><span class="method inherited">(inherited from _TextTestResult)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">printErrorList<span class="args">(self, flavour, errors)</span></span><span class="method inherited">(inherited from _TextTestResult)</span><div class="method doc"></div></div><div class="method section"><span class="method name">printErrors<span class="args">(self)</span></span><div class="method doc"><p>Overrides to print all errorClasses errors as well.</p> +</div></div><div class="method section inherited"><span class="method name">addFailure<span class="args">(self, test, err)</span></span><span class="method inherited">(inherited from _TextTestResult)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addSuccess<span class="args">(self, test)</span></span><span class="method inherited">(inherited from _TextTestResult)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">getDescription<span class="args">(self, test)</span></span><span class="method inherited">(inherited from _TextTestResult)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">printErrorList<span class="args">(self, flavour, errors)</span></span><span class="method inherited">(inherited from _TextTestResult)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">printErrors<span class="args">(self)</span></span><span class="method inherited">(inherited from _TextTestResult)</span><div class="method doc"><p>Overrides to print all errorClasses errors as well.</p> </div></div><div class="method section"><span class="method name">printSummary<span class="args">(self, start, stop)</span></span><div class="method doc"><p>Called by the test runner to print the final summary of test run results.</p> -</div></div><div class="method section inherited"><span class="method name">startTest<span class="args">(self, test)</span></span><span class="method inherited">(inherited from _TextTestResult)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">stop<span class="args">(self)</span></span><span class="method inherited">(inherited from TestResult)</span><div class="method doc"><p>Indicates that the tests should be aborted</p> -</div></div><div class="method section inherited"><span class="method name">stopTest<span class="args">(self, test)</span></span><span class="method inherited">(inherited from TestResult)</span><div class="method doc"><p>Called when the given test has been run</p> +</div></div><div class="method section inherited"><span class="method name">startTest<span class="args">(self, test)</span></span><span class="method inherited">(inherited from _TextTestResult)</span><div class="method doc"></div></div><div class="method section"><span class="method name">stop<span class="args">(self)</span></span><div class="method doc"><p>Indicates that the tests should be aborted</p> +</div></div><div class="method section"><span class="method name">stopTest<span class="args">(self, test)</span></span><div class="method doc"><p>Called when the given test has been run</p> </div></div><div class="method section"><span class="method name">wasSuccessful<span class="args">(self)</span></span><div class="method doc"><p>Overrides to check that there are no errors in errorClasses lists that are marked as errors that should cause a run to fail.</p> diff --git a/doc/module_nose.selector.html b/doc/module_nose.selector.html index 0cc87fd..d582349 100644 --- a/doc/module_nose.selector.html +++ b/doc/module_nose.selector.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> <h2>Classes</h2><ul><li><a href="#Selector">Selector</a></li><li><a href="#defaultSelector">defaultSelector</a></li><li><a href="#TestAddress">TestAddress</a></li></ul> </div> @@ -22,7 +22,7 @@ thinks may be a test.</p> <p>Highlighted methods are defined in this class.</p><a name="Selector"></a><div class="cls section"><span class="cls name">Selector</span> (object)<div class="cls doc"><p>Core test selector. Examines test candidates and determines whether, given the specified configuration, the test candidate should be selected as a test.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, config)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">configure<span class="args">(self, config)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">matches<span class="args">(self, name)</span></span><div class="method doc"><p>Does the name match my requirements?</p> +<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, config)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"></div></div><div class="method section"><span class="method name">configure<span class="args">(self, config)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">matches<span class="args">(self, name)</span></span><div class="method doc"><p>Does the name match my requirements?</p> <p>To match, a name must match config.testMatch OR config.include and it must not match config.exclude</p> </div></div><div class="method section"><span class="method name">wantClass<span class="args">(self, cls)</span></span><div class="method doc"><p>Is the class a wanted test class?</p> @@ -55,7 +55,7 @@ system and it doesn't contain any directory separators and it doesn't end in .py.</p> <p>Callables may be a class name, function name, method name, or class.method specification.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, name, workingDir=None)</span></span><div class="method doc"></div></div></div></div> +<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, name, workingDir=None)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"></div></div></div></div> </div> <script src="http://www.google-analytics.com/urchin.js" diff --git a/doc/module_nose.suite.html b/doc/module_nose.suite.html index 1efac5b..2c68330 100644 --- a/doc/module_nose.suite.html +++ b/doc/module_nose.suite.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> <h2>Classes</h2><ul><li><a href="#FinalizingSuiteWrapper">FinalizingSuiteWrapper</a></li><li><a href="#ContextSuite">ContextSuite</a></li><li><a href="#ContextSuiteFactory">ContextSuiteFactory</a></li><li><a href="#TestModule">TestModule</a></li><li><a href="#ContextList">ContextList</a></li><li><a href="#LazySuite">LazySuite</a></li><li><a href="#MixedContextError">MixedContextError</a></li><li><a href="#TestDir">TestDir</a></li></ul><h2>Attributes</h2><ul><li><a href="#log">log</a></li><li><a href="#generators">generators</a></li></ul> </div> @@ -24,36 +24,36 @@ its tests.</p> executed. Used to call final functions in cases (like running in the standard test runner) where test running is not under nose's control.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__call__<span class="args">(self, *arg, **kw)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">__init__<span class="args">(self, suite, finalize)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__iter__<span class="args">(self)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addTest<span class="args">(self, test)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addTests<span class="args">(self, tests)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">countTestCases<span class="args">(self)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">debug<span class="args">(self)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"><p>Run the tests without collecting errors in a TestResult</p> -</div></div><div class="method section"><span class="method name">run<span class="args">(self, *arg, **kw)</span></span><div class="method doc"></div></div></div></div> +<h3>Methods</h3><div class="method section inherited"><span class="method name">__call__<span class="args">(self, *arg, **kw)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(self, suite, finalize)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__iter__<span class="args">(self)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addTest<span class="args">(self, test)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addTests<span class="args">(self, tests)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">countTestCases<span class="args">(self)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">debug<span class="args">(self)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"><p>Run the tests without collecting errors in a TestResult</p> +</div></div><div class="method section inherited"><span class="method name">run<span class="args">(self, *arg, **kw)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div></div></div> <a name="ContextSuite"></a><div class="cls section"><span class="cls name">ContextSuite</span> (<a href="module_nose.suite.html#LazySuite">LazySuite</a>)<div class="cls doc"><p>A suite with context.</p> <p>A ContextSuite executes fixtures (setup and teardown functions or methods) for the context containing its tests.</p> <p>The context may be explicitly passed. If it is not, a context (or nested set of contexts) will be constructed by examining the tests in the suite.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__call__<span class="args">(self, *arg, **kw)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">__init__<span class="args">(self, tests=(), context=None, factory=None, config=None, resultProxy=None)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__iter__<span class="args">(self)</span></span><span class="method inherited">(inherited from LazySuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__nonzero__<span class="args">(self)</span></span><span class="method inherited">(inherited from LazySuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_get_tests<span class="args">(self)</span></span><span class="method inherited">(inherited from LazySuite)</span><div class="method doc"></div></div><div class="method section"><span class="method name">_get_wrapped_tests<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_set_tests<span class="args">(self, tests)</span></span><span class="method inherited">(inherited from LazySuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addTest<span class="args">(self, test)</span></span><span class="method inherited">(inherited from LazySuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addTests<span class="args">(self, tests)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">countTestCases<span class="args">(self)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">debug<span class="args">(self)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"><p>Run the tests without collecting errors in a TestResult</p> +<h3>Methods</h3><div class="method section"><span class="method name">__call__<span class="args">(self, *arg, **kw)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(self, tests=(), context=None, factory=None, config=None, resultProxy=None, can_split=True)</span></span><span class="method inherited">(inherited from LazySuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__iter__<span class="args">(self)</span></span><span class="method inherited">(inherited from LazySuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__nonzero__<span class="args">(self)</span></span><span class="method inherited">(inherited from LazySuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_get_tests<span class="args">(self)</span></span><span class="method inherited">(inherited from LazySuite)</span><div class="method doc"></div></div><div class="method section"><span class="method name">_get_wrapped_tests<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">_set_tests<span class="args">(self, tests)</span></span><span class="method inherited">(inherited from LazySuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addTest<span class="args">(self, test)</span></span><span class="method inherited">(inherited from LazySuite)</span><div class="method doc"></div></div><div class="method section"><span class="method name">addTests<span class="args">(self, tests)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">countTestCases<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">debug<span class="args">(self)</span></span><div class="method doc"><p>Run the tests without collecting errors in a TestResult</p> </div></div><div class="method section"><span class="method name">exc_info<span class="args">(self)</span></span><div class="method doc"><p>Hook for replacing error tuple output</p> -</div></div><div class="method section"><span class="method name">run<span class="args">(self, result)</span></span><div class="method doc"><p>Run tests in suite inside of suite fixtures.</p> -</div></div><div class="method section"><span class="method name">setUp<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">setupContext<span class="args">(self, context)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">shortDescription<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">tearDown<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">teardownContext<span class="args">(self, context)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">_tests</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Access the tests in this suite. Tests are returned inside of a context wrapper.</p> -</div></div><div class="attr section"><span class="attr name">was_setup</span><pre class="attr value">Default value: False</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">was_torndown</span><pre class="attr value">Default value: False</pre><div class="attr doc"></div></div></div></div> +</div></div><div class="method section"><span class="method name">hasFixtures<span class="args">(self, ctx_callback=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">implementsAnyFixture<span class="args">(self, context, ctx_callback)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">run<span class="args">(self, result)</span></span><div class="method doc"><p>Run tests in suite inside of suite fixtures.</p> +</div></div><div class="method section"><span class="method name">setUp<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">setupContext<span class="args">(self, context)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">shortDescription<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">tearDown<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">teardownContext<span class="args">(self, context)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section inherited"><span class="attr name">_tests</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Access the tests in this suite. Tests are returned inside of a context wrapper.</p> +</div></div><div class="attr section"><span class="attr name">classSetup</span><pre class="attr value">Default value: ('setup_class', 'setup_all', 'setupClass', 'setupAll', 'setUpClass', 'setUpAll')</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">classTeardown</span><pre class="attr value">Default value: ('teardown_class', 'teardown_all', 'teardownClass', 'teardownAll', 'tearDownClass', 'tearDownAll')</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">moduleSetup</span><pre class="attr value">Default value: ('setup_module', 'setupModule', 'setUpModule', 'setup')</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">moduleTeardown</span><pre class="attr value">Default value: ('teardown_module', 'teardownModule', 'tearDownModule', 'teardown')</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">packageSetup</span><pre class="attr value">Default value: ('setup_package', 'setupPackage', 'setUpPackage')</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">packageTeardown</span><pre class="attr value">Default value: ('teardown_package', 'teardownPackage', 'tearDownPackage')</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">was_setup</span><pre class="attr value">Default value: False</pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">was_torndown</span><pre class="attr value">Default value: False</pre><div class="attr doc"></div></div></div></div> <a name="ContextSuiteFactory"></a><div class="cls section"><span class="cls name">ContextSuiteFactory</span> (object)<div class="cls doc"><p>Factory for ContextSuites. Called with a collection of tests, the factory decides on a hierarchy of contexts by introspecting the collection or the tests them selves to find the objects containing the test objects. It always returns one suite, but that suite may consist of a hierarchy of nested suites.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__call__<span class="args">(self, tests)</span></span><div class="method doc"><p>Return <tt class="docutils literal"><span class="pre">ContextSuite</span></tt> for tests. <tt class="docutils literal"><span class="pre">tests</span></tt> may either +<h3>Methods</h3><div class="method section"><span class="method name">__call__<span class="args">(self, tests, **kw)</span></span><div class="method doc"><p>Return <tt class="docutils literal"><span class="pre">ContextSuite</span></tt> for tests. <tt class="docutils literal"><span class="pre">tests</span></tt> may either be a callable (in which case the resulting ContextSuite will have no parent context and be evaluated lazily) or an iterable. In that case the tests will wrapped in nose.case.Test, be examined and the context of each found and a suite of suites returned, organized into a stack with the outermost suites belonging to the outermost contexts.</p> -</div></div><div class="method section"><span class="method name">__init__<span class="args">(self, config=None, suiteClass=None, resultProxy=<object object at 0x2af070d3d070>)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">ancestry<span class="args">(self, context)</span></span><div class="method doc"><p>Return the ancestry of the context (that is, all of the +</div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(self, config=None, suiteClass=None, resultProxy=<object object at 0x27460>)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"></div></div><div class="method section"><span class="method name">ancestry<span class="args">(self, context)</span></span><div class="method doc"><p>Return the ancestry of the context (that is, all of the packages and modules containing the context), in order of descent with the outermost ancestor last. This method is a generator.</p> -</div></div><div class="method section"><span class="method name">findContext<span class="args">(self, tests)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">makeSuite<span class="args">(self, tests, context)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">mixedSuites<span class="args">(self, tests)</span></span><div class="method doc"><p>The complex case where there are tests that don't all share +</div></div><div class="method section"><span class="method name">findContext<span class="args">(self, tests)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">makeSuite<span class="args">(self, tests, context, **kw)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">mixedSuites<span class="args">(self, tests)</span></span><div class="method doc"><p>The complex case where there are tests that don't all share the same context. Groups tests into suites with common ancestors, according to the following (essentially tail-recursive) procedure:</p> <p>Starting with the context of the first test, if it is not @@ -71,19 +71,19 @@ plus the results of recursion.</p> <a name="ContextList"></a><div class="cls section"><span class="cls name">ContextList</span> (object)<div class="cls doc"><p>Not quite a suite -- a group of tests in a context. This is used to hint the ContextSuiteFactory about what context the tests belong to, in cases where it may be ambiguous or missing.</p> -<h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(self, tests, context=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">__iter__<span class="args">(self)</span></span><div class="method doc"></div></div></div></div> +<h3>Methods</h3><div class="method section inherited"><span class="method name">__init__<span class="args">(self, tests, context=None)</span></span><span class="method inherited">(inherited from object)</span><div class="method doc"></div></div><div class="method section"><span class="method name">__iter__<span class="args">(self)</span></span><div class="method doc"></div></div></div></div> <a name="LazySuite"></a><div class="cls section"><span class="cls name">LazySuite</span> (unittest.TestSuite)<div class="cls doc"><p>A suite that may use a generator as its list of tests</p> -<h3>Methods</h3><div class="method section inherited"><span class="method name">__call__<span class="args">(self, *args, **kwds)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section"><span class="method name">__init__<span class="args">(self, tests=())</span></span><div class="method doc"><p>Initialize the suite. tests may be an iterable or a generator</p> -</div></div><div class="method section"><span class="method name">__iter__<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">__nonzero__<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_get_tests<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_set_tests<span class="args">(self, tests)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">addTest<span class="args">(self, test)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addTests<span class="args">(self, tests)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">countTestCases<span class="args">(self)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">debug<span class="args">(self)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"><p>Run the tests without collecting errors in a TestResult</p> +<h3>Methods</h3><div class="method section inherited"><span class="method name">__call__<span class="args">(self, *args, **kwds)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(self, tests=())</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"><p>Initialize the suite. tests may be an iterable or a generator</p> +</div></div><div class="method section inherited"><span class="method name">__iter__<span class="args">(self)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section"><span class="method name">__nonzero__<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_get_tests<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">_set_tests<span class="args">(self, tests)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addTest<span class="args">(self, test)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">addTests<span class="args">(self, tests)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">countTestCases<span class="args">(self)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">debug<span class="args">(self)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"><p>Run the tests without collecting errors in a TestResult</p> </div></div><div class="method section inherited"><span class="method name">run<span class="args">(self, result)</span></span><span class="method inherited">(inherited from TestSuite)</span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">_tests</span><pre class="attr value">Default value: (property)</pre><div class="attr doc"><p>Access the tests in this suite. Access is through a generator, so iteration may not be repeatable.</p> </div></div></div></div> <a name="MixedContextError"></a><div class="cls section"><span class="cls name">MixedContextError</span> (exceptions.Exception)<div class="cls doc"><p>Error raised when a context suite sees tests from more than one context.</p> -<h3>Methods</h3><div class="method section inherited"><span class="method name">__getitem__<span class="args">(...)</span></span><span class="method inherited">(inherited from BaseException)</span><div class="method doc"><p>x.__getitem__(y) <==> x[y]</p> -</div></div><div class="method section inherited"><span class="method name">__getslice__<span class="args">(...)</span></span><span class="method inherited">(inherited from BaseException)</span><div class="method doc"><p>x.__getslice__(i, j) <==> x[i:j]</p> +<h3>Methods</h3><div class="method section"><span class="method name">__getitem__<span class="args">(...)</span></span><div class="method doc"><p>x.__getitem__(y) <==> x[y]</p> +</div></div><div class="method section"><span class="method name">__getslice__<span class="args">(...)</span></span><div class="method doc"><p>x.__getslice__(i, j) <==> x[i:j]</p> <p>Use of negative indices is not supported.</p> </div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(...)</span></span><span class="method inherited">(inherited from Exception)</span><div class="method doc"><p>x.__init__(...) initializes x; see x.__class__.__doc__ for signature</p> -</div></div><div class="method section inherited"><span class="method name">__setstate__<span class="args">(...)</span></span><span class="method inherited">(inherited from BaseException)</span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section inherited"><span class="attr name">args</span><pre class="attr value">Default value: <attribute 'args' of 'exceptions.BaseException' objects></pre><div class="attr doc"></div></div><div class="attr section inherited"><span class="attr name">message</span><pre class="attr value">Default value: <member 'message' of 'exceptions.BaseException' objects></pre><div class="attr doc"></div></div></div></div> +</div></div><div class="method section"><span class="method name">__setstate__<span class="args">(...)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">args</span><pre class="attr value">Default value: <attribute 'args' of 'exceptions.BaseException' objects></pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">message</span><pre class="attr value">Default value: <member 'message' of 'exceptions.BaseException' objects></pre><div class="attr doc"></div></div></div></div> <a name="TestDir"></a><div class="cls section"><span class="cls name">TestDir</span> ()<div class="cls doc"><h3>Methods</h3><div class="method section"><span class="method name">__init__<span class="args">(*arg, **kw)</span></span><div class="method doc"></div></div></div></div><h2>Attributes</h2> <a name="log"></a><div class="attr section"><span class="attr name">log</span><pre class="attr value">Default value: <logging.Logger instance></pre><div class="attr doc"></div></div> <a name="generators"></a><div class="attr section"><span class="attr name">generators</span><pre class="attr value">Default value: _Feature((2, 2, 0, 'alpha', 1), (2, 3, 0, 'final', 0), 0)</pre><div class="attr doc"></div></div> diff --git a/doc/module_nose.tools.html b/doc/module_nose.tools.html index 1bd7d25..441f57f 100644 --- a/doc/module_nose.tools.html +++ b/doc/module_nose.tools.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> <h2>Classes</h2><ul><li><a href="#TimeExpired">TimeExpired</a></li></ul><h2>Functions</h2><ul><li><a href="#assert_true">assert_true</a></li><li><a href="#assert_equal">assert_equal</a></li><li><a href="#eq_">eq_</a></li><li><a href="#set_trace">set_trace</a></li><li><a href="#assert_almost_equals">assert_almost_equals</a></li><li><a href="#assert_equals">assert_equals</a></li><li><a href="#raises">raises</a></li><li><a href="#make_decorator">make_decorator</a></li><li><a href="#with_setup">with_setup</a></li><li><a href="#assert_almost_equal">assert_almost_equal</a></li><li><a href="#assert_not_equal">assert_not_equal</a></li><li><a href="#assert_not_almost_equals">assert_not_almost_equals</a></li><li><a href="#assert_not_equals">assert_not_equals</a></li><li><a href="#assert_raises">assert_raises</a></li><li><a href="#ok_">ok_</a></li><li><a href="#timed">timed</a></li><li><a href="#assert_not_almost_equal">assert_not_almost_equal</a></li><li><a href="#assert_false">assert_false</a></li></ul> </div> @@ -19,11 +19,11 @@ easier. You don't have to use them; nothing in the rest of nose depends on any of these methods.</p> <h2>Classes</h2> -<p>Highlighted methods are defined in this class.</p><a name="TimeExpired"></a><div class="cls section"><span class="cls name">TimeExpired</span> (exceptions.AssertionError)<div class="cls doc"><h3>Methods</h3><div class="method section inherited"><span class="method name">__getitem__<span class="args">(...)</span></span><span class="method inherited">(inherited from BaseException)</span><div class="method doc"><p>x.__getitem__(y) <==> x[y]</p> -</div></div><div class="method section inherited"><span class="method name">__getslice__<span class="args">(...)</span></span><span class="method inherited">(inherited from BaseException)</span><div class="method doc"><p>x.__getslice__(i, j) <==> x[i:j]</p> +<p>Highlighted methods are defined in this class.</p><a name="TimeExpired"></a><div class="cls section"><span class="cls name">TimeExpired</span> (exceptions.AssertionError)<div class="cls doc"><h3>Methods</h3><div class="method section"><span class="method name">__getitem__<span class="args">(...)</span></span><div class="method doc"><p>x.__getitem__(y) <==> x[y]</p> +</div></div><div class="method section"><span class="method name">__getslice__<span class="args">(...)</span></span><div class="method doc"><p>x.__getslice__(i, j) <==> x[i:j]</p> <p>Use of negative indices is not supported.</p> </div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(...)</span></span><span class="method inherited">(inherited from AssertionError)</span><div class="method doc"><p>x.__init__(...) initializes x; see x.__class__.__doc__ for signature</p> -</div></div><div class="method section inherited"><span class="method name">__setstate__<span class="args">(...)</span></span><span class="method inherited">(inherited from BaseException)</span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section inherited"><span class="attr name">args</span><pre class="attr value">Default value: <attribute 'args' of 'exceptions.BaseException' objects></pre><div class="attr doc"></div></div><div class="attr section inherited"><span class="attr name">message</span><pre class="attr value">Default value: <member 'message' of 'exceptions.BaseException' objects></pre><div class="attr doc"></div></div></div></div><h2>Functions</h2> +</div></div><div class="method section"><span class="method name">__setstate__<span class="args">(...)</span></span><div class="method doc"></div></div><h3>Attributes</h3><div class="attr section"><span class="attr name">args</span><pre class="attr value">Default value: <attribute 'args' of 'exceptions.BaseException' objects></pre><div class="attr doc"></div></div><div class="attr section"><span class="attr name">message</span><pre class="attr value">Default value: <member 'message' of 'exceptions.BaseException' objects></pre><div class="attr doc"></div></div></div></div><h2>Functions</h2> <a name="assert_true"></a><div class="func section"><span class="func name">assert_true<span class="args">(expr, msg)</span></span><div class="func doc"><p>Fail the test unless the expression is true.</p> </div></div> <a name="assert_equal"></a><div class="func section"><span class="func name">assert_equal<span class="args">(first, second, msg)</span></span><div class="func doc"><p>Fail if the two objects are unequal as determined by the '==' diff --git a/doc/module_nose.twistedtools.html b/doc/module_nose.twistedtools.html index 302699b..ef0411f 100644 --- a/doc/module_nose.twistedtools.html +++ b/doc/module_nose.twistedtools.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> <h2>Functions</h2><ul><li><a href="#deferred">deferred</a></li><li><a href="#stop_reactor">stop_reactor</a></li><li><a href="#threaded_reactor">threaded_reactor</a></li></ul><h2>Attributes</h2><ul><li><a href="#reactor">reactor</a></li></ul> </div> diff --git a/doc/module_nose.util.html b/doc/module_nose.util.html index 5f70af4..b335eb7 100644 --- a/doc/module_nose.util.html +++ b/doc/module_nose.util.html @@ -6,10 +6,10 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> - <h2>Classes</h2><ul><li><a href="#odict">odict</a></li></ul><h2>Functions</h2><ul><li><a href="#absfile">absfile</a></li><li><a href="#tolist">tolist</a></li><li><a href="#try_run">try_run</a></li><li><a href="#split_test_name">split_test_name</a></li><li><a href="#func_lineno">func_lineno</a></li><li><a href="#match_last">match_last</a></li><li><a href="#file_like">file_like</a></li><li><a href="#ln">ln</a></li><li><a href="#is_generator">is_generator</a></li><li><a href="#absdir">absdir</a></li><li><a href="#isgenerator">isgenerator</a></li><li><a href="#anyp">anyp</a></li><li><a href="#test_address">test_address</a></li><li><a href="#getfilename">getfilename</a></li><li><a href="#isclass">isclass</a></li><li><a href="#resolve_name">resolve_name</a></li><li><a href="#src">src</a></li><li><a href="#ispackage">ispackage</a></li><li><a href="#getpackage">getpackage</a></li><li><a href="#cmp_lineno">cmp_lineno</a></li></ul><h2>Attributes</h2><ul><li><a href="#log">log</a></li><li><a href="#class_types">class_types</a></li><li><a href="#CO_GENERATOR">CO_GENERATOR</a></li><li><a href="#ident_re">ident_re</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <h2>Classes</h2><ul><li><a href="#odict">odict</a></li></ul><h2>Functions</h2><ul><li><a href="#absfile">absfile</a></li><li><a href="#tolist">tolist</a></li><li><a href="#ls_tree">ls_tree</a></li><li><a href="#try_run">try_run</a></li><li><a href="#split_test_name">split_test_name</a></li><li><a href="#func_lineno">func_lineno</a></li><li><a href="#match_last">match_last</a></li><li><a href="#file_like">file_like</a></li><li><a href="#ln">ln</a></li><li><a href="#is_generator">is_generator</a></li><li><a href="#absdir">absdir</a></li><li><a href="#isgenerator">isgenerator</a></li><li><a href="#anyp">anyp</a></li><li><a href="#test_address">test_address</a></li><li><a href="#getfilename">getfilename</a></li><li><a href="#isclass">isclass</a></li><li><a href="#resolve_name">resolve_name</a></li><li><a href="#isproperty">isproperty</a></li><li><a href="#src">src</a></li><li><a href="#transplant_class">transplant_class</a></li><li><a href="#ispackage">ispackage</a></li><li><a href="#getpackage">getpackage</a></li><li><a href="#cmp_lineno">cmp_lineno</a></li><li><a href="#transplant_func">transplant_func</a></li></ul><h2>Attributes</h2><ul><li><a href="#log">log</a></li><li><a href="#ident_re">ident_re</a></li><li><a href="#skip_pattern">skip_pattern</a></li><li><a href="#class_types">class_types</a></li><li><a href="#CO_GENERATOR">CO_GENERATOR</a></li></ul> </div> <div id="main"> @@ -21,27 +21,27 @@ <p><a class="reference" href="http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/107747">http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/107747</a></p> <h3>Methods</h3><div class="method section inherited"><span class="method name">__cmp__<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>x.__cmp__(y) <==> cmp(x,y)</p> </div></div><div class="method section inherited"><span class="method name">__contains__<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>D.__contains__(k) -> True if D has a key k, else False</p> -</div></div><div class="method section"><span class="method name">__delitem__<span class="args">(self, key)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__eq__<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>x.__eq__(y) <==> x==y</p> +</div></div><div class="method section inherited"><span class="method name">__delitem__<span class="args">(self, key)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__eq__<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>x.__eq__(y) <==> x==y</p> </div></div><div class="method section inherited"><span class="method name">__ge__<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>x.__ge__(y) <==> x>=y</p> </div></div><div class="method section inherited"><span class="method name">__getitem__<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>x.__getitem__(y) <==> x[y]</p> </div></div><div class="method section inherited"><span class="method name">__gt__<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>x.__gt__(y) <==> x>y</p> -</div></div><div class="method section"><span class="method name">__init__<span class="args">(self, *arg, **kw)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__iter__<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>x.__iter__() <==> iter(x)</p> +</div></div><div class="method section inherited"><span class="method name">__init__<span class="args">(self, *arg, **kw)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">__iter__<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>x.__iter__() <==> iter(x)</p> </div></div><div class="method section inherited"><span class="method name">__le__<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>x.__le__(y) <==> x<=y</p> </div></div><div class="method section inherited"><span class="method name">__len__<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>x.__len__() <==> len(x)</p> </div></div><div class="method section inherited"><span class="method name">__lt__<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>x.__lt__(y) <==> x<y</p> </div></div><div class="method section inherited"><span class="method name">__ne__<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>x.__ne__(y) <==> x!=y</p> -</div></div><div class="method section"><span class="method name">__setitem__<span class="args">(self, key, item)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">clear<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">copy<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">fromkeys<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>dict.fromkeys(S[,v]) -> New dict with keys from S and values equal to v. +</div></div><div class="method section inherited"><span class="method name">__setitem__<span class="args">(self, key, item)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">clear<span class="args">(self)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">copy<span class="args">(self)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">fromkeys<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>dict.fromkeys(S[,v]) -> New dict with keys from S and values equal to v. v defaults to None.</p> </div></div><div class="method section inherited"><span class="method name">get<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.</p> </div></div><div class="method section inherited"><span class="method name">has_key<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>D.has_key(k) -> True if D has a key k, else False</p> -</div></div><div class="method section"><span class="method name">items<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">iteritems<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>D.iteritems() -> an iterator over the (key, value) items of D</p> +</div></div><div class="method section inherited"><span class="method name">items<span class="args">(self)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">iteritems<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>D.iteritems() -> an iterator over the (key, value) items of D</p> </div></div><div class="method section inherited"><span class="method name">iterkeys<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>D.iterkeys() -> an iterator over the keys of D</p> </div></div><div class="method section inherited"><span class="method name">itervalues<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>D.itervalues() -> an iterator over the values of D</p> -</div></div><div class="method section"><span class="method name">keys<span class="args">(self)</span></span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">pop<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>D.pop(k[,d]) -> v, remove specified key and return the corresponding value +</div></div><div class="method section inherited"><span class="method name">keys<span class="args">(self)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">pop<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>D.pop(k[,d]) -> v, remove specified key and return the corresponding value If key is not found, d is returned if given, otherwise KeyError is raised</p> </div></div><div class="method section inherited"><span class="method name">popitem<span class="args">(...)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"><p>D.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple; but raise KeyError if D is empty</p> -</div></div><div class="method section"><span class="method name">setdefault<span class="args">(self, key, failobj=None)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">update<span class="args">(self, dict)</span></span><div class="method doc"></div></div><div class="method section"><span class="method name">values<span class="args">(self)</span></span><div class="method doc"></div></div></div></div><h2>Functions</h2> +</div></div><div class="method section inherited"><span class="method name">setdefault<span class="args">(self, key, failobj=None)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">update<span class="args">(self, dict)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"></div></div><div class="method section inherited"><span class="method name">values<span class="args">(self)</span></span><span class="method inherited">(inherited from dict)</span><div class="method doc"></div></div></div></div><h2>Functions</h2> <a name="absfile"></a><div class="func section"><span class="func name">absfile<span class="args">(path, where=None)</span></span><div class="func doc"><p>Return absolute, normalized path to file (optionally in directory where), or None if the file can't be found either in where or the current working directory.</p> @@ -56,6 +56,7 @@ string into a list. The exception: None is returned as None, not [None].</p> <span class="go">['separate', 'values', 'with', 'commas', 'spaces', 'are', 'ok']</span> </pre></div> </div></div> +<a name="ls_tree"></a><div class="func section"><span class="func name">ls_tree<span class="args">(dir_path='', skip_pattern='(?:\\.svn)|(?:[^.]+\\.py[co])|(?:.*~)|(?:.*\\$py\\.class)', indent='|-- ', branch_indent='| ', last_indent='`-- ', last_branch_indent=' ')</span></span><div class="func doc"></div></div> <a name="try_run"></a><div class="func section"><span class="func name">try_run<span class="args">(obj, names)</span></span><div class="func doc"><p>Given a list of possible method names, try to run them with the provided object. Keep going until something works. Used to run setup/teardown methods for module, package, and function tests.</p> @@ -114,8 +115,35 @@ wholesale from unittest.TestLoader.loadTestByName.</p> <span class="go"><function resolve_name at...></span> </pre></div> </div></div> -<a name="src"></a><div class="func section"><span class="func name">src<span class="args">(filename)</span></span><div class="func doc"><p>Find the python source file for a .pyc or .pyo file. Returns the -filename provided if it is not a python source file.</p> +<a name="isproperty"></a><div class="func section"><span class="func name">isproperty<span class="args">(obj)</span></span><div class="func doc"><p>Is this a property?</p> +<div class="highlight"><pre><span class="gp">>>> </span><span class="k">class</span> <span class="nc">Foo</span><span class="p">:</span> +<span class="gp">... </span> <span class="k">def</span> <span class="nf">got</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> +<span class="gp">... </span> <span class="k">return</span> <span class="mf">2</span> +<span class="gp">... </span> <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> +<span class="gp">... </span> <span class="k">return</span> <span class="mf">1</span> +<span class="gp">... </span> <span class="n">get</span> <span class="o">=</span> <span class="nb">property</span><span class="p">(</span><span class="n">get</span><span class="p">)</span> +</pre></div> +<div class="highlight"><pre><span class="gp">>>> </span><span class="n">isproperty</span><span class="p">(</span><span class="n">Foo</span><span class="o">.</span><span class="n">got</span><span class="p">)</span> +<span class="go">False</span> +<span class="gp">>>> </span><span class="n">isproperty</span><span class="p">(</span><span class="n">Foo</span><span class="o">.</span><span class="n">get</span><span class="p">)</span> +<span class="go">True</span> +</pre></div> +</div></div> +<a name="src"></a><div class="func section"><span class="func name">src<span class="args">(filename)</span></span><div class="func doc"><p>Find the python source file for a .pyc, .pyo or $py.class file on +jython. Returns the filename provided if it is not a python source +file.</p> +</div></div> +<a name="transplant_class"></a><div class="func section"><span class="func name">transplant_class<span class="args">(cls, module)</span></span><div class="func doc"><p>Make a class appear to reside in <cite>module</cite>, rather than the module in which +it is actually defined.</p> +<div class="highlight"><pre><span class="gp">>>> </span><span class="k">from</span> <span class="nn">nose.failure</span> <span class="k">import</span> <span class="n">Failure</span> +<span class="gp">>>> </span><span class="n">Failure</span><span class="o">.</span><span class="n">__module__</span> +<span class="go">'nose.failure'</span> +<span class="gp">>>> </span><span class="n">Nf</span> <span class="o">=</span> <span class="n">transplant_class</span><span class="p">(</span><span class="n">Failure</span><span class="p">,</span> <span class="n">__name__</span><span class="p">)</span> +<span class="gp">>>> </span><span class="n">Nf</span><span class="o">.</span><span class="n">__module__</span> +<span class="go">'nose.util'</span> +<span class="gp">>>> </span><span class="n">Nf</span><span class="o">.</span><span class="n">__name__</span> +<span class="go">'Failure'</span> +</pre></div> </div></div> <a name="ispackage"></a><div class="func section"><span class="func name">ispackage<span class="args">(path)</span></span><div class="func doc"><p>Is this path a package directory?</p> <div class="highlight"><pre><span class="gp">>>> </span><span class="n">ispackage</span><span class="p">(</span><span class="s">'nose'</span><span class="p">)</span> @@ -161,11 +189,32 @@ name. Returns None if the file is not a python source file.</p> <span class="gp">>>> </span><span class="n">cmp_lineno</span><span class="p">(</span><span class="n">isgenerator</span><span class="p">,</span> <span class="n">isgenerator</span><span class="p">)</span> <span class="go">0</span> </pre></div> +</div></div> +<a name="transplant_func"></a><div class="func section"><span class="func name">transplant_func<span class="args">(func, module)</span></span><div class="func doc"><p>Make a function imported from module A appear as if it is located +in module B.</p> +<div class="highlight"><pre><span class="gp">>>> </span><span class="k">from</span> <span class="nn">pprint</span> <span class="k">import</span> <span class="n">pprint</span> +<span class="gp">>>> </span><span class="n">pprint</span><span class="o">.</span><span class="n">__module__</span> +<span class="go">'pprint'</span> +<span class="gp">>>> </span><span class="n">pp</span> <span class="o">=</span> <span class="n">transplant_func</span><span class="p">(</span><span class="n">pprint</span><span class="p">,</span> <span class="n">__name__</span><span class="p">)</span> +<span class="gp">>>> </span><span class="n">pp</span><span class="o">.</span><span class="n">__module__</span> +<span class="go">'nose.util'</span> +</pre></div> +<p>The original function is not modified</p> +<div class="highlight"><pre><span class="gp">>>> </span><span class="n">pprint</span><span class="o">.</span><span class="n">__module__</span> +<span class="go">'pprint'</span> +</pre></div> +<p>Calling the transplanted function calls the original.</p> +<div class="highlight"><pre><span class="gp">>>> </span><span class="n">pp</span><span class="p">([</span><span class="mf">1</span><span class="p">,</span> <span class="mf">2</span><span class="p">])</span> +<span class="go">[1, 2]</span> +<span class="gp">>>> </span><span class="n">pprint</span><span class="p">([</span><span class="mf">1</span><span class="p">,</span><span class="mf">2</span><span class="p">])</span> +<span class="go">[1, 2]</span> +</pre></div> </div></div><h2>Attributes</h2> <a name="log"></a><div class="attr section"><span class="attr name">log</span><pre class="attr value">Default value: <logging.Logger instance></pre><div class="attr doc"></div></div> +<a name="ident_re"></a><div class="attr section"><span class="attr name">ident_re</span><pre class="attr value">Default value: <_sre.SRE_Pattern object></pre><div class="attr doc"></div></div> +<a name="skip_pattern"></a><div class="attr section"><span class="attr name">skip_pattern</span><pre class="attr value">Default value: (?:\.svn)|(?:[^.]+\.py[co])|(?:.*~)|(?:.*\$py\.class)</pre><div class="attr doc"></div></div> <a name="class_types"></a><div class="attr section"><span class="attr name">class_types</span><pre class="attr value">Default value: (<type 'classobj'>, <type 'type'>)</pre><div class="attr doc"></div></div> <a name="CO_GENERATOR"></a><div class="attr section"><span class="attr name">CO_GENERATOR</span><pre class="attr value">Default value: 32</pre><div class="attr doc"></div></div> -<a name="ident_re"></a><div class="attr section"><span class="attr name">ident_re</span><pre class="attr value">Default value: <_sre.SRE_Pattern object></pre><div class="attr doc"></div></div> </div> <script src="http://www.google-analytics.com/urchin.js" diff --git a/doc/plugin_attrib.html b/doc/plugin_attrib.html index 30d2461..2e51da5 100644 --- a/doc/plugin_attrib.html +++ b/doc/plugin_attrib.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> <div id="main"> @@ -50,8 +50,14 @@ below for definition)</p> </dl> </li> <li><dl class="first docutils"> -<dt><cite>nosetests -a !slow</cite>:</dt> -<dd><p class="first last">Attribute "slow" must NOT be defined or its value must be equal to False</p> +<dt><cite>nosetests -a '!slow'</cite>:</dt> +<dd><p class="first">Attribute "slow" must NOT be defined or its value must be equal to False. +Note the quotes around the value -- this may be necessary if your shell +interprets <a href="#id1" name="id2"><span class="problematic" id="id2">`</span></a>!' as a special character.</p> +<div class="last system-message" id="id1"> +<p class="system-message-title">System Message: <a name="id1">WARNING/2</a> (<tt class="docutils"><string></tt>, line 23); <em><a href="#id2">backlink</a></em></p> +<p>Inline interpreted text or phrase reference start-string without end-string.</p> +</div> </dd> </dl> </li> @@ -105,8 +111,10 @@ below for definition)</p> <span class="sd"> Attribute "slow" must be defined and its value cannot equal to False</span> <span class="sd"> (False, [], "", etc...)</span> -<span class="sd">* `nosetests -a !slow`:</span> -<span class="sd"> Attribute "slow" must NOT be defined or its value must be equal to False</span> +<span class="sd">* `nosetests -a '!slow'`:</span> +<span class="sd"> Attribute "slow" must NOT be defined or its value must be equal to False. </span> +<span class="sd"> Note the quotes around the value -- this may be necessary if your shell </span> +<span class="sd"> interprets `!' as a special character.</span> <span class="sd">Eval expression syntax (-A, --eval-attr) examples:</span> @@ -123,7 +131,7 @@ below for definition)</p> <span class="k">from</span> <span class="nn">nose.util</span> <span class="k">import</span> <span class="n">tolist</span> <span class="n">log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s">'nose.plugins.attrib'</span><span class="p">)</span> -<span class="n">compat_24</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span> <span class="o">>=</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> +<span class="n">compat_24</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span> <span class="o">>=</span> <span class="p">(</span><span class="mf">2</span><span class="p">,</span> <span class="mf">4</span><span class="p">)</span> <span class="k">class</span> <span class="nc">ContextHelper</span><span class="p">:</span> <span class="sd">"""Returns default values for dictionary lookups."""</span> @@ -213,17 +221,17 @@ below for definition)</p> <span class="c"># don't die on trailing comma</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">attrib</span><span class="p">:</span> <span class="k">continue</span> - <span class="n">items</span> <span class="o">=</span> <span class="n">attrib</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">"="</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> - <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">items</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span> + <span class="n">items</span> <span class="o">=</span> <span class="n">attrib</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">"="</span><span class="p">,</span> <span class="mf">1</span><span class="p">)</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">items</span><span class="p">)</span> <span class="o">></span> <span class="mf">1</span><span class="p">:</span> <span class="c"># "name=value"</span> <span class="c"># -> 'str(obj.name) == value' must be True</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="o">=</span> <span class="n">items</span> <span class="k">else</span><span class="p">:</span> - <span class="n">key</span> <span class="o">=</span> <span class="n">items</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> - <span class="k">if</span> <span class="n">key</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s">"!"</span><span class="p">:</span> + <span class="n">key</span> <span class="o">=</span> <span class="n">items</span><span class="p">[</span><span class="mf">0</span><span class="p">]</span> + <span class="k">if</span> <span class="n">key</span><span class="p">[</span><span class="mf">0</span><span class="p">]</span> <span class="o">==</span> <span class="s">"!"</span><span class="p">:</span> <span class="c"># "!name"</span> <span class="c"># 'bool(obj.name)' must be False</span> - <span class="n">key</span> <span class="o">=</span> <span class="n">key</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> + <span class="n">key</span> <span class="o">=</span> <span class="n">key</span><span class="p">[</span><span class="mf">1</span><span class="p">:]</span> <span class="n">value</span> <span class="o">=</span> <span class="bp">False</span> <span class="k">else</span><span class="p">:</span> <span class="c"># "name"</span> diff --git a/doc/plugin_capture.html b/doc/plugin_capture.html index 82d80ca..6bbd205 100644 --- a/doc/plugin_capture.html +++ b/doc/plugin_capture.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> <div id="main"> @@ -16,7 +16,7 @@ <p>This plugin captures stdout during test execution, appending any output captured to the error or failure output, should the test fail -or raise an error. It is enabled by default but may be disable with +or raise an error. It is enabled by default but may be disabled with the options -s or --nocapture.</p> @@ -41,7 +41,7 @@ the options -s or --nocapture.</p> <div class="highlight"><pre><span class="sd">"""</span> <span class="sd">This plugin captures stdout during test execution, appending any</span> <span class="sd">output captured to the error or failure output, should the test fail</span> -<span class="sd">or raise an error. It is enabled by default but may be disable with</span> +<span class="sd">or raise an error. It is enabled by default but may be disabled with</span> <span class="sd">the options -s or --nocapture.</span> <span class="sd">"""</span> <span class="k">import</span> <span class="nn">logging</span> @@ -67,7 +67,7 @@ the options -s or --nocapture.</p> <span class="n">enabled</span> <span class="o">=</span> <span class="bp">True</span> <span class="n">env_opt</span> <span class="o">=</span> <span class="s">'NOSE_NOCAPTURE'</span> <span class="n">name</span> <span class="o">=</span> <span class="s">'capture'</span> - <span class="n">score</span> <span class="o">=</span> <span class="mi">500</span> + <span class="n">score</span> <span class="o">=</span> <span class="mf">500</span> <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="bp">self</span><span class="o">.</span><span class="n">stdout</span> <span class="o">=</span> <span class="p">[]</span> diff --git a/doc/plugin_cover.html b/doc/plugin_cover.html index 9eb410e..3b6e713 100644 --- a/doc/plugin_cover.html +++ b/doc/plugin_cover.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> <div id="main"> @@ -80,7 +80,7 @@ variable.</p> <span class="k">import</span> <span class="nn">os</span> <span class="k">import</span> <span class="nn">sys</span> <span class="k">from</span> <span class="nn">nose.plugins.base</span> <span class="k">import</span> <span class="n">Plugin</span> -<span class="k">from</span> <span class="nn">nose.util</span> <span class="k">import</span> <span class="n">tolist</span> +<span class="k">from</span> <span class="nn">nose.util</span> <span class="k">import</span> <span class="n">src</span><span class="p">,</span> <span class="n">tolist</span> <span class="n">log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="n">__name__</span><span class="p">)</span> @@ -97,6 +97,7 @@ variable.</p> <span class="sd"> """</span> <span class="n">coverTests</span> <span class="o">=</span> <span class="bp">False</span> <span class="n">coverPackages</span> <span class="o">=</span> <span class="bp">None</span> + <span class="n">score</span> <span class="o">=</span> <span class="mf">200</span> <span class="k">def</span> <span class="nf">options</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parser</span><span class="p">,</span> <span class="n">env</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">):</span> <span class="n">Plugin</span><span class="o">.</span><span class="n">options</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parser</span><span class="p">,</span> <span class="n">env</span><span class="p">)</span> @@ -171,8 +172,8 @@ variable.</p> <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">module</span><span class="p">,</span> <span class="s">'__file__'</span><span class="p">):</span> <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"no coverage of </span><span class="si">%s</span><span class="s">: no __file__"</span><span class="p">,</span> <span class="n">name</span><span class="p">)</span> <span class="k">return</span> <span class="bp">False</span> - <span class="n">root</span><span class="p">,</span> <span class="n">ext</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">module</span><span class="o">.</span><span class="n">__file__</span><span class="p">)</span> - <span class="k">if</span> <span class="ow">not</span> <span class="n">ext</span> <span class="ow">in</span> <span class="p">(</span><span class="s">'.py'</span><span class="p">,</span> <span class="s">'.pyc'</span><span class="p">,</span> <span class="s">'.pyo'</span><span class="p">):</span> + <span class="n">module_file</span> <span class="o">=</span> <span class="n">src</span><span class="p">(</span><span class="n">module</span><span class="o">.</span><span class="n">__file__</span><span class="p">)</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">module_file</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">module_file</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s">'.py'</span><span class="p">):</span> <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"no coverage of </span><span class="si">%s</span><span class="s">: not a python file"</span><span class="p">,</span> <span class="n">name</span><span class="p">)</span> <span class="k">return</span> <span class="bp">False</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">coverPackages</span><span class="p">:</span> diff --git a/doc/plugin_debug.html b/doc/plugin_debug.html index a40c7e1..40ff8d7 100644 --- a/doc/plugin_debug.html +++ b/doc/plugin_debug.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> <div id="main"> @@ -54,7 +54,7 @@ respectively.</p> <span class="sd"> """</span> <span class="n">enabled_for_errors</span> <span class="o">=</span> <span class="bp">False</span> <span class="n">enabled_for_failures</span> <span class="o">=</span> <span class="bp">False</span> - <span class="n">score</span> <span class="o">=</span> <span class="mi">5</span> <span class="c"># run last, among builtins</span> + <span class="n">score</span> <span class="o">=</span> <span class="mf">5</span> <span class="c"># run last, among builtins</span> <span class="k">def</span> <span class="nf">options</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parser</span><span class="p">,</span> <span class="n">env</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">):</span> <span class="n">parser</span><span class="o">.</span><span class="n">add_option</span><span class="p">(</span> diff --git a/doc/plugin_deprecated.html b/doc/plugin_deprecated.html index b5622e7..d1d12c5 100644 --- a/doc/plugin_deprecated.html +++ b/doc/plugin_deprecated.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> <div id="main"> diff --git a/doc/plugin_doctests.html b/doc/plugin_doctests.html index d21df3e..a7d0aae 100644 --- a/doc/plugin_doctests.html +++ b/doc/plugin_doctests.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> <div id="main"> @@ -19,22 +19,46 @@ environment variable to enable collection and execution of doctests. <a class="r tests are usually included in the tested package, not grouped into packages or modules of their own. For this reason, nose will try to detect and run doctest tests only in the non-test packages it discovers in the working -directory. Doctests may also be placed into files other than python modules, -in which case they can be collected and executed by using the ---doctest-extension switch or NOSE_DOCTEST_EXTENSION environment variable to -indicate which file extension(s) to load.</p> -<p>doctest tests are run like any other test, with the exception that output +directory.</p> +<p>Doctests may also be placed into files other than python modules, in which +case they can be collected and executed by using the --doctest-extension +switch or NOSE_DOCTEST_EXTENSION environment variable to indicate which file +extension(s) to load.</p> +<p>When loading doctests from non-module files, you may specify how to find +modules that contains fixtures for the tests using the --doctest-fixtures +switch. The value of that switch will be appended to the base name of each +doctest file loaded to produce a module name. For instance, for a doctest file +"widgets.rst" with the switch <tt class="docutils literal"><span class="pre">--doctest_fixtures=_fixt</span></tt>, fixtures will be +loaded from the module <tt class="docutils literal"><span class="pre">widgets_fixt.py</span></tt> if it exists.</p> +<p>A fixtures module may define any or all of the following functions:</p> +<ul> +<li><p class="first">setup([module]) or setup_module([module])</p> +<p>Called before any tests are run. You may raise SkipTest to skip all tests.</p> +</li> +<li><p class="first">teardown([module]) or teardown_module([module])</p> +<p>Called after all tests are run, if setup/setup_module did not raise an +unhandled exception.</p> +</li> +<li><p class="first">setup_test(test)</p> +<p>Called before each test in the file. NOTE: the argument passed is a +doctest.DocTest instance, <em>not</em> a unittest.TestCase.</p> +</li> +<li><p class="first">teardown_test(test)</p> +<p>Called after each test in the file whose setup_test call did not raise an +unhandled exception. NOTE: the argument passed is a doctest.DocTest +instance, <em>not</em> a unittest.TestCase</p> +</li> +</ul> +<p>Doctest tests are run like any other test, with the exception that output capture does not work, because doctest does its own output capture in the course of running a test.</p> -<p>This module also includes a specialized version of nose.run() that -makes it easier to write doctests that test test runs.</p> <h2>Plugin Methods Implemented</h2> <p>This plugin implements the following plugin interface methods:</p> - <ul><li><a href="plugin_interface.html#configure">configure</a></li><li><a href="plugin_interface.html#loadTestsFromFile">loadTestsFromFile</a></li><li><a href="plugin_interface.html#loadTestsFromModule">loadTestsFromModule</a></li><li><a href="plugin_interface.html#makeTest">makeTest</a></li><li><a href="plugin_interface.html#options">options</a></li><li><a href="plugin_interface.html#wantFile">wantFile</a></li></ul> + <ul><li><a href="plugin_interface.html#configure">configure</a></li><li><a href="plugin_interface.html#loadTestsFromFile">loadTestsFromFile</a></li><li><a href="plugin_interface.html#loadTestsFromModule">loadTestsFromModule</a></li><li><a href="plugin_interface.html#makeTest">makeTest</a></li><li><a href="plugin_interface.html#options">options</a></li><li><a href="plugin_interface.html#prepareTestLoader">prepareTestLoader</a></li><li><a href="plugin_interface.html#wantFile">wantFile</a></li></ul> <h2>Commandline Options</h2> @@ -52,6 +76,9 @@ makes it easier to write doctests that test test runs.</p> --doctest-extension=DOCTESTEXTENSION Also look for doctests in files with this extension [NOSE_DOCTEST_EXTENSION] + --doctest-fixtures=DOCTESTFIXTURES + Find fixtures for a doctest file in module with this + name appended to the base name of the doctest file </pre> <h2>Source</h2> @@ -61,31 +88,63 @@ makes it easier to write doctests that test test runs.</p> <span class="sd">tests are usually included in the tested package, not grouped into packages or</span> <span class="sd">modules of their own. For this reason, nose will try to detect and run doctest</span> <span class="sd">tests only in the non-test packages it discovers in the working</span> -<span class="sd">directory. Doctests may also be placed into files other than python modules,</span> -<span class="sd">in which case they can be collected and executed by using the</span> -<span class="sd">--doctest-extension switch or NOSE_DOCTEST_EXTENSION environment variable to</span> -<span class="sd">indicate which file extension(s) to load.</span> +<span class="sd">directory.</span> -<span class="sd">doctest tests are run like any other test, with the exception that output</span> +<span class="sd">Doctests may also be placed into files other than python modules, in which</span> +<span class="sd">case they can be collected and executed by using the --doctest-extension</span> +<span class="sd">switch or NOSE_DOCTEST_EXTENSION environment variable to indicate which file</span> +<span class="sd">extension(s) to load.</span> + +<span class="sd">When loading doctests from non-module files, you may specify how to find</span> +<span class="sd">modules that contains fixtures for the tests using the --doctest-fixtures</span> +<span class="sd">switch. The value of that switch will be appended to the base name of each</span> +<span class="sd">doctest file loaded to produce a module name. For instance, for a doctest file</span> +<span class="sd">"widgets.rst" with the switch ``--doctest_fixtures=_fixt``, fixtures will be</span> +<span class="sd">loaded from the module ``widgets_fixt.py`` if it exists.</span> + +<span class="sd">A fixtures module may define any or all of the following functions:</span> + +<span class="sd">* setup([module]) or setup_module([module])</span> +<span class="sd"> </span> +<span class="sd"> Called before any tests are run. You may raise SkipTest to skip all tests.</span> +<span class="sd"> </span> +<span class="sd">* teardown([module]) or teardown_module([module])</span> + +<span class="sd"> Called after all tests are run, if setup/setup_module did not raise an</span> +<span class="sd"> unhandled exception.</span> + +<span class="sd">* setup_test(test)</span> + +<span class="sd"> Called before each test in the file. NOTE: the argument passed is a</span> +<span class="sd"> doctest.DocTest instance, *not* a unittest.TestCase.</span> +<span class="sd"> </span> +<span class="sd">* teardown_test(test)</span> +<span class="sd"> </span> +<span class="sd"> Called after each test in the file whose setup_test call did not raise an</span> +<span class="sd"> unhandled exception. NOTE: the argument passed is a doctest.DocTest</span> +<span class="sd"> instance, *not* a unittest.TestCase</span> +<span class="sd"> </span> +<span class="sd">Doctest tests are run like any other test, with the exception that output</span> <span class="sd">capture does not work, because doctest does its own output capture in the</span> <span class="sd">course of running a test.</span> -<span class="sd">This module also includes a specialized version of nose.run() that</span> -<span class="sd">makes it easier to write doctests that test test runs.</span> - <span class="sd">.. _doctest: http://docs.python.org/lib/module-doctest.html</span> <span class="sd">"""</span> <span class="k">from</span> <span class="nn">__future__</span> <span class="k">import</span> <span class="n">generators</span> <span class="k">import</span> <span class="nn">logging</span> <span class="k">import</span> <span class="nn">os</span> +<span class="k">import</span> <span class="nn">unittest</span> <span class="k">from</span> <span class="nn">inspect</span> <span class="k">import</span> <span class="n">getmodule</span> <span class="k">from</span> <span class="nn">nose.plugins.base</span> <span class="k">import</span> <span class="n">Plugin</span> -<span class="k">from</span> <span class="nn">nose.util</span> <span class="k">import</span> <span class="n">anyp</span><span class="p">,</span> <span class="n">getpackage</span><span class="p">,</span> <span class="n">test_address</span><span class="p">,</span> <span class="n">resolve_name</span><span class="p">,</span> <span class="n">tolist</span> +<span class="k">from</span> <span class="nn">nose.suite</span> <span class="k">import</span> <span class="n">ContextSuite</span> +<span class="k">from</span> <span class="nn">nose.util</span> <span class="k">import</span> <span class="n">anyp</span><span class="p">,</span> <span class="n">getpackage</span><span class="p">,</span> <span class="n">test_address</span><span class="p">,</span> <span class="n">resolve_name</span><span class="p">,</span> \ + <span class="n">src</span><span class="p">,</span> <span class="n">tolist</span><span class="p">,</span> <span class="n">isproperty</span> <span class="k">try</span><span class="p">:</span> <span class="k">from</span> <span class="nn">cStringIO</span> <span class="k">import</span> <span class="n">StringIO</span> <span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span> <span class="k">from</span> <span class="nn">StringIO</span> <span class="k">import</span> <span class="n">StringIO</span> +<span class="k">import</span> <span class="nn">sys</span> <span class="n">log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="n">__name__</span><span class="p">)</span> @@ -115,7 +174,7 @@ makes it easier to write doctests that test test runs.</p> <span class="k">def</span> <span class="nf">set_trace</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="bp">self</span><span class="o">.</span><span class="n">__debugger_used</span> <span class="o">=</span> <span class="bp">True</span> - <span class="n">_orp</span><span class="o">.</span><span class="n">set_trace</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> + <span class="n">_orp</span><span class="o">.</span><span class="n">set_trace</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sys</span><span class="o">.</span><span class="n">_getframe</span><span class="p">()</span><span class="o">.</span><span class="n">f_back</span><span class="p">)</span> <span class="k">def</span> <span class="nf">set_continue</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="c"># Calling set_continue unconditionally would break unit test </span> @@ -125,11 +184,41 @@ makes it easier to write doctests that test test runs.</p> <span class="n">doctest</span><span class="o">.</span><span class="n">_OutputRedirectingPdb</span> <span class="o">=</span> <span class="n">NoseOutputRedirectingPdb</span> +<span class="k">class</span> <span class="nc">DoctestSuite</span><span class="p">(</span><span class="n">unittest</span><span class="o">.</span><span class="n">TestSuite</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Doctest suites are parallelizable at the module or file level only,</span> +<span class="sd"> since they may be attached to objects that are not individually</span> +<span class="sd"> addressable (like properties). This suite subclass is used when</span> +<span class="sd"> loading doctests from a module to ensure that behavior.</span> + +<span class="sd"> This class is used only if the plugin is not fully prepared;</span> +<span class="sd"> in normal use, the loader's suiteClass is used.</span> +<span class="sd"> </span> +<span class="sd"> """</span> + <span class="n">can_split</span> <span class="o">=</span> <span class="bp">False</span> + + <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">tests</span><span class="o">=</span><span class="p">(),</span> <span class="n">context</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">can_split</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span> + <span class="bp">self</span><span class="o">.</span><span class="n">context</span> <span class="o">=</span> <span class="n">context</span> + <span class="bp">self</span><span class="o">.</span><span class="n">can_split</span> <span class="o">=</span> <span class="n">can_split</span> + <span class="n">unittest</span><span class="o">.</span><span class="n">TestSuite</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">tests</span><span class="o">=</span><span class="n">tests</span><span class="p">)</span> + + <span class="k">def</span> <span class="nf">address</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="k">return</span> <span class="n">test_address</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="p">)</span> + + <span class="k">def</span> <span class="nf">__iter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="c"># 2.3 compat</span> + <span class="k">return</span> <span class="nb">iter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_tests</span><span class="p">)</span> + + <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_tests</span><span class="p">)</span> + + <span class="k">class</span> <span class="nc">Doctest</span><span class="p">(</span><span class="n">Plugin</span><span class="p">):</span> <span class="sd">"""</span> <span class="sd"> Activate doctest plugin to find and run doctests in non-test modules.</span> <span class="sd"> """</span> <span class="n">extension</span> <span class="o">=</span> <span class="bp">None</span> + <span class="n">suiteClass</span> <span class="o">=</span> <span class="n">DoctestSuite</span> <span class="k">def</span> <span class="nf">options</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parser</span><span class="p">,</span> <span class="n">env</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">):</span> <span class="n">Plugin</span><span class="o">.</span><span class="n">options</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parser</span><span class="p">,</span> <span class="n">env</span><span class="p">)</span> @@ -144,6 +233,11 @@ makes it easier to write doctests that test test runs.</p> <span class="n">dest</span><span class="o">=</span><span class="s">"doctestExtension"</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s">"Also look for doctests in files with "</span> <span class="s">"this extension [NOSE_DOCTEST_EXTENSION]"</span><span class="p">)</span> + <span class="n">parser</span><span class="o">.</span><span class="n">add_option</span><span class="p">(</span><span class="s">'--doctest-fixtures'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s">"store"</span><span class="p">,</span> + <span class="n">dest</span><span class="o">=</span><span class="s">"doctestFixtures"</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="s">"Find fixtures for a doctest file in module "</span> + <span class="s">"with this name appended to the base name "</span> + <span class="s">"of the doctest file"</span><span class="p">)</span> <span class="c"># Set the default as a list, if given in env; otherwise</span> <span class="c"># an additional value set on the command line will cause</span> <span class="c"># an error.</span> @@ -154,30 +248,38 @@ makes it easier to write doctests that test test runs.</p> <span class="k">def</span> <span class="nf">configure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="n">config</span><span class="p">):</span> <span class="n">Plugin</span><span class="o">.</span><span class="n">configure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="n">config</span><span class="p">)</span> <span class="bp">self</span><span class="o">.</span><span class="n">doctest_tests</span> <span class="o">=</span> <span class="n">options</span><span class="o">.</span><span class="n">doctest_tests</span> - <span class="k">try</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">extension</span> <span class="o">=</span> <span class="n">tolist</span><span class="p">(</span><span class="n">options</span><span class="o">.</span><span class="n">doctestExtension</span><span class="p">)</span> - <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span> - <span class="c"># 2.3, no other-file option</span> - <span class="bp">self</span><span class="o">.</span><span class="n">extension</span> <span class="o">=</span> <span class="bp">None</span> + <span class="bp">self</span><span class="o">.</span><span class="n">extension</span> <span class="o">=</span> <span class="n">tolist</span><span class="p">(</span><span class="n">options</span><span class="o">.</span><span class="n">doctestExtension</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">fixtures</span> <span class="o">=</span> <span class="n">options</span><span class="o">.</span><span class="n">doctestFixtures</span> <span class="bp">self</span><span class="o">.</span><span class="n">finder</span> <span class="o">=</span> <span class="n">doctest</span><span class="o">.</span><span class="n">DocTestFinder</span><span class="p">()</span> + <span class="k">def</span> <span class="nf">prepareTestLoader</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">loader</span><span class="p">):</span> + <span class="bp">self</span><span class="o">.</span><span class="n">suiteClass</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="n">suiteClass</span> + <span class="k">def</span> <span class="nf">loadTestsFromModule</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">module</span><span class="p">):</span> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">matches</span><span class="p">(</span><span class="n">module</span><span class="o">.</span><span class="n">__name__</span><span class="p">):</span> <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Doctest doesn't want module </span><span class="si">%s</span><span class="s">"</span><span class="p">,</span> <span class="n">module</span><span class="p">)</span> <span class="k">return</span> - <span class="n">tests</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">finder</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">module</span><span class="p">)</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">tests</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">finder</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">module</span><span class="p">)</span> + <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span> + <span class="c"># nose allows module.__test__ = False; doctest does not and throws</span> + <span class="c"># AttributeError</span> + <span class="k">return</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">tests</span><span class="p">:</span> <span class="k">return</span> <span class="n">tests</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span> - <span class="n">module_file</span> <span class="o">=</span> <span class="n">module</span><span class="o">.</span><span class="n">__file__</span> - <span class="k">if</span> <span class="n">module_file</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">:]</span> <span class="ow">in</span> <span class="p">(</span><span class="s">'.pyc'</span><span class="p">,</span> <span class="s">'.pyo'</span><span class="p">):</span> - <span class="n">module_file</span> <span class="o">=</span> <span class="n">module_file</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> + <span class="n">module_file</span> <span class="o">=</span> <span class="n">src</span><span class="p">(</span><span class="n">module</span><span class="o">.</span><span class="n">__file__</span><span class="p">)</span> + <span class="c"># FIXME this breaks the id plugin somehow (tests probably don't</span> + <span class="c"># get wrapped in result proxy or something)</span> + <span class="n">cases</span> <span class="o">=</span> <span class="p">[]</span> <span class="k">for</span> <span class="n">test</span> <span class="ow">in</span> <span class="n">tests</span><span class="p">:</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">test</span><span class="o">.</span><span class="n">examples</span><span class="p">:</span> <span class="k">continue</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">test</span><span class="o">.</span><span class="n">filename</span><span class="p">:</span> - <span class="n">test</span><span class="o">.</span><span class="n">filename</span> <span class="o">=</span> <span class="n">module_file</span> - <span class="k">yield</span> <span class="n">DocTestCase</span><span class="p">(</span><span class="n">test</span><span class="p">)</span> + <span class="n">test</span><span class="o">.</span><span class="n">filename</span> <span class="o">=</span> <span class="n">module_file</span> + <span class="n">cases</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">DocTestCase</span><span class="p">(</span><span class="n">test</span><span class="p">))</span> + <span class="k">if</span> <span class="n">cases</span><span class="p">:</span> + <span class="k">yield</span> <span class="bp">self</span><span class="o">.</span><span class="n">suiteClass</span><span class="p">(</span><span class="n">cases</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="n">module</span><span class="p">,</span> <span class="n">can_split</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> <span class="k">def</span> <span class="nf">loadTestsFromFile</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">filename</span><span class="p">):</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">extension</span> <span class="ow">and</span> <span class="n">anyp</span><span class="p">(</span><span class="n">filename</span><span class="o">.</span><span class="n">endswith</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">extension</span><span class="p">):</span> @@ -187,12 +289,37 @@ makes it easier to write doctests that test test runs.</p> <span class="n">doc</span> <span class="o">=</span> <span class="n">dh</span><span class="o">.</span><span class="n">read</span><span class="p">()</span> <span class="k">finally</span><span class="p">:</span> <span class="n">dh</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> + + <span class="n">fixture_context</span> <span class="o">=</span> <span class="bp">None</span> + <span class="n">globs</span> <span class="o">=</span> <span class="p">{</span><span class="s">'__file__'</span><span class="p">:</span> <span class="n">filename</span><span class="p">}</span> + <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">fixtures</span><span class="p">:</span> + <span class="n">base</span><span class="p">,</span> <span class="n">ext</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> + <span class="n">dirname</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span> + <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">dirname</span><span class="p">)</span> + <span class="n">fixt_mod</span> <span class="o">=</span> <span class="n">base</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">fixtures</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">fixture_context</span> <span class="o">=</span> <span class="nb">__import__</span><span class="p">(</span> + <span class="n">fixt_mod</span><span class="p">,</span> <span class="nb">globals</span><span class="p">(),</span> <span class="nb">locals</span><span class="p">(),</span> <span class="p">[</span><span class="s">"nop"</span><span class="p">])</span> + <span class="k">except</span> <span class="ne">ImportError</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span> + <span class="s">"Could not import </span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="s"> (</span><span class="si">%s</span><span class="s">)"</span><span class="p">,</span> <span class="n">fixt_mod</span><span class="p">,</span> <span class="n">e</span><span class="p">,</span> <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="p">)</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Fixture module </span><span class="si">%s</span><span class="s"> resolved to </span><span class="si">%s</span><span class="s">"</span><span class="p">,</span> + <span class="n">fixt_mod</span><span class="p">,</span> <span class="n">fixture_context</span><span class="p">)</span> + <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">fixture_context</span><span class="p">,</span> <span class="s">'globs'</span><span class="p">):</span> + <span class="n">globs</span> <span class="o">=</span> <span class="n">fixture_context</span><span class="o">.</span><span class="n">globs</span><span class="p">(</span><span class="n">globs</span><span class="p">)</span> <span class="n">parser</span> <span class="o">=</span> <span class="n">doctest</span><span class="o">.</span><span class="n">DocTestParser</span><span class="p">()</span> <span class="n">test</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">get_doctest</span><span class="p">(</span> - <span class="n">doc</span><span class="p">,</span> <span class="n">globs</span><span class="o">=</span><span class="p">{</span><span class="s">'__file__'</span><span class="p">:</span> <span class="n">filename</span><span class="p">},</span> <span class="n">name</span><span class="o">=</span><span class="n">name</span><span class="p">,</span> - <span class="n">filename</span><span class="o">=</span><span class="n">filename</span><span class="p">,</span> <span class="n">lineno</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> + <span class="n">doc</span><span class="p">,</span> <span class="n">globs</span><span class="o">=</span><span class="n">globs</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="n">name</span><span class="p">,</span> + <span class="n">filename</span><span class="o">=</span><span class="n">filename</span><span class="p">,</span> <span class="n">lineno</span><span class="o">=</span><span class="mf">0</span><span class="p">)</span> <span class="k">if</span> <span class="n">test</span><span class="o">.</span><span class="n">examples</span><span class="p">:</span> - <span class="k">yield</span> <span class="n">DocFileCase</span><span class="p">(</span><span class="n">test</span><span class="p">)</span> + <span class="n">case</span> <span class="o">=</span> <span class="n">DocFileCase</span><span class="p">(</span> + <span class="n">test</span><span class="p">,</span> + <span class="n">setUp</span><span class="o">=</span><span class="nb">getattr</span><span class="p">(</span><span class="n">fixture_context</span><span class="p">,</span> <span class="s">'setup_test'</span><span class="p">,</span> <span class="bp">None</span><span class="p">),</span> + <span class="n">tearDown</span><span class="o">=</span><span class="nb">getattr</span><span class="p">(</span><span class="n">fixture_context</span><span class="p">,</span> <span class="s">'teardown_test'</span><span class="p">,</span> <span class="bp">None</span><span class="p">))</span> + <span class="k">if</span> <span class="n">fixture_context</span><span class="p">:</span> + <span class="k">yield</span> <span class="n">ContextSuite</span><span class="p">(</span><span class="n">tests</span><span class="o">=</span><span class="p">(</span><span class="n">case</span><span class="p">,),</span> <span class="n">context</span><span class="o">=</span><span class="n">fixture_context</span><span class="p">)</span> + <span class="k">else</span><span class="p">:</span> + <span class="k">yield</span> <span class="n">case</span> <span class="k">else</span><span class="p">:</span> <span class="k">yield</span> <span class="bp">False</span> <span class="c"># no tests to load</span> @@ -200,10 +327,11 @@ makes it easier to write doctests that test test runs.</p> <span class="sd">"""Look for doctests in the given object, which will be a</span> <span class="sd"> function, method or class.</span> <span class="sd"> """</span> - <span class="n">doctests</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">finder</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">module</span><span class="o">=</span><span class="n">getmodule</span><span class="p">(</span><span class="n">parent</span><span class="p">))</span> + <span class="n">name</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s">'__name__'</span><span class="p">,</span> <span class="s">'Unnammed </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="nb">type</span><span class="p">(</span><span class="n">obj</span><span class="p">))</span> + <span class="n">doctests</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">finder</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">module</span><span class="o">=</span><span class="n">getmodule</span><span class="p">(</span><span class="n">parent</span><span class="p">),</span> <span class="n">name</span><span class="o">=</span><span class="n">name</span><span class="p">)</span> <span class="k">if</span> <span class="n">doctests</span><span class="p">:</span> <span class="k">for</span> <span class="n">test</span> <span class="ow">in</span> <span class="n">doctests</span><span class="p">:</span> - <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">test</span><span class="o">.</span><span class="n">examples</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">test</span><span class="o">.</span><span class="n">examples</span><span class="p">)</span> <span class="o">==</span> <span class="mf">0</span><span class="p">:</span> <span class="k">continue</span> <span class="k">yield</span> <span class="n">DocTestCase</span><span class="p">(</span><span class="n">test</span><span class="p">,</span> <span class="n">obj</span><span class="o">=</span><span class="n">obj</span><span class="p">)</span> @@ -247,17 +375,30 @@ makes it easier to write doctests that test test runs.</p> <span class="sd"> be passed -- this will be used as the test object for purposes of</span> <span class="sd"> determining the test address, if it is provided. </span> <span class="sd"> """</span> - <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">test</span><span class="p">,</span> <span class="n">optionflags</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">setUp</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">tearDown</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> + <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">test</span><span class="p">,</span> <span class="n">optionflags</span><span class="o">=</span><span class="mf">0</span><span class="p">,</span> <span class="n">setUp</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">tearDown</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">checker</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">obj</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span> <span class="bp">self</span><span class="o">.</span><span class="n">_nose_obj</span> <span class="o">=</span> <span class="n">obj</span> <span class="nb">super</span><span class="p">(</span><span class="n">DocTestCase</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span> - <span class="n">test</span><span class="p">,</span> <span class="n">optionflags</span><span class="o">=</span><span class="n">optionflags</span><span class="p">,</span> <span class="n">setUp</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">tearDown</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> - <span class="n">checker</span><span class="o">=</span><span class="bp">None</span><span class="p">)</span> + <span class="n">test</span><span class="p">,</span> <span class="n">optionflags</span><span class="o">=</span><span class="n">optionflags</span><span class="p">,</span> <span class="n">setUp</span><span class="o">=</span><span class="n">setUp</span><span class="p">,</span> <span class="n">tearDown</span><span class="o">=</span><span class="n">tearDown</span><span class="p">,</span> + <span class="n">checker</span><span class="o">=</span><span class="n">checker</span><span class="p">)</span> <span class="k">def</span> <span class="nf">address</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_nose_obj</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> <span class="k">return</span> <span class="n">test_address</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_nose_obj</span><span class="p">)</span> - <span class="k">return</span> <span class="n">test_address</span><span class="p">(</span><span class="n">resolve_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_dt_test</span><span class="o">.</span><span class="n">name</span><span class="p">))</span> + <span class="n">obj</span> <span class="o">=</span> <span class="n">resolve_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_dt_test</span><span class="o">.</span><span class="n">name</span><span class="p">)</span> + + <span class="k">if</span> <span class="n">isproperty</span><span class="p">(</span><span class="n">obj</span><span class="p">):</span> + <span class="c"># properties have no connection to the class they are in</span> + <span class="c"># so we can't just look 'em up, we have to first look up</span> + <span class="c"># the class, then stick the prop on the end</span> + <span class="n">parts</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dt_test</span><span class="o">.</span><span class="n">name</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">'.'</span><span class="p">)</span> + <span class="n">class_name</span> <span class="o">=</span> <span class="s">'.'</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">parts</span><span class="p">[:</span><span class="o">-</span><span class="mf">1</span><span class="p">])</span> + <span class="n">cls</span> <span class="o">=</span> <span class="n">resolve_name</span><span class="p">(</span><span class="n">class_name</span><span class="p">)</span> + <span class="n">base_addr</span> <span class="o">=</span> <span class="n">test_address</span><span class="p">(</span><span class="n">cls</span><span class="p">)</span> + <span class="k">return</span> <span class="p">(</span><span class="n">base_addr</span><span class="p">[</span><span class="mf">0</span><span class="p">],</span> <span class="n">base_addr</span><span class="p">[</span><span class="mf">1</span><span class="p">],</span> + <span class="s">'.'</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">base_addr</span><span class="p">[</span><span class="mf">2</span><span class="p">],</span> <span class="n">parts</span><span class="p">[</span><span class="o">-</span><span class="mf">1</span><span class="p">]]))</span> + <span class="k">else</span><span class="p">:</span> + <span class="k">return</span> <span class="n">test_address</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span> <span class="c"># doctests loaded via find(obj) omit the module name</span> <span class="c"># so we need to override id, __repr__ and shortDescription</span> @@ -274,7 +415,7 @@ makes it easier to write doctests that test test runs.</p> <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="n">name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">()</span> <span class="n">name</span> <span class="o">=</span> <span class="n">name</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">'.'</span><span class="p">)</span> - <span class="k">return</span> <span class="s">"</span><span class="si">%s</span><span class="s"> (</span><span class="si">%s</span><span class="s">)"</span> <span class="o">%</span> <span class="p">(</span><span class="n">name</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="s">'.'</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">name</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> + <span class="k">return</span> <span class="s">"</span><span class="si">%s</span><span class="s"> (</span><span class="si">%s</span><span class="s">)"</span> <span class="o">%</span> <span class="p">(</span><span class="n">name</span><span class="p">[</span><span class="o">-</span><span class="mf">1</span><span class="p">],</span> <span class="s">'.'</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">name</span><span class="p">[:</span><span class="o">-</span><span class="mf">1</span><span class="p">]))</span> <span class="n">__str__</span> <span class="o">=</span> <span class="n">__repr__</span> <span class="k">def</span> <span class="nf">shortDescription</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> @@ -295,7 +436,7 @@ makes it easier to write doctests that test test runs.</p> <span class="k">import</span> <span class="nn">warnings</span> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s">"run() has been moved to nose.plugins.plugintest. Please "</span> <span class="s">"update your imports."</span><span class="p">,</span> <span class="n">category</span><span class="o">=</span><span class="ne">DeprecationWarning</span><span class="p">,</span> - <span class="n">stacklevel</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span> + <span class="n">stacklevel</span><span class="o">=</span><span class="mf">2</span><span class="p">)</span> <span class="k">from</span> <span class="nn">nose.plugins.plugintest</span> <span class="k">import</span> <span class="n">run</span> <span class="n">run</span><span class="p">(</span><span class="o">*</span><span class="n">arg</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">)</span> </pre></div> diff --git a/doc/plugin_exceptions.html b/doc/plugin_exceptions.html index 9c43c86..30c0426 100644 --- a/doc/plugin_exceptions.html +++ b/doc/plugin_exceptions.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> @@ -17,7 +17,7 @@ <p>Plugin methods should not fail silently. When a plugin method raises an exception before or during the execution of a test, the exception -will be wrapped in a <a class="reference" href="module_nose.case.html#Failure">nose.case.Failure</a> instance and appear as a +will be wrapped in a <a class="reference" href="module_nose.failure.html#Failure">nose.failure.Failure</a> instance and appear as a failing test. Exceptions raised at other times, such as in the preparation phase with <tt class="docutils literal"><span class="pre">prepareTestLoader</span></tt> or <tt class="docutils literal"><span class="pre">prepareTestResult</span></tt>, or after a test executes, in <tt class="docutils literal"><span class="pre">afterTest</span></tt> will stop the entire test @@ -26,7 +26,7 @@ run.</p> <div class="highlight"><pre><span class="gp">>>> </span><span class="k">import</span> <span class="nn">os</span> <span class="gp">>>> </span><span class="k">import</span> <span class="nn">sys</span> <span class="gp">>>> </span><span class="k">from</span> <span class="nn">nose.plugins</span> <span class="k">import</span> <span class="n">Plugin</span> -<span class="gp">>>> </span><span class="k">from</span> <span class="nn">nose.plugins.plugintest</span> <span class="k">import</span> <span class="n">run</span> +<span class="gp">>>> </span><span class="k">from</span> <span class="nn">nose.plugins.plugintest</span> <span class="k">import</span> <span class="n">run_buffered</span> <span class="k">as</span> <span class="n">run</span> </pre></div> </blockquote> <p>Our first test plugins take no command-line arguments and raises @@ -34,9 +34,9 @@ AttributeError in beforeTest and afterTest.</p> <blockquote> <div class="highlight"><pre><span class="gp">>>> </span><span class="k">class</span> <span class="nc">EnabledPlugin</span><span class="p">(</span><span class="n">Plugin</span><span class="p">):</span> <span class="gp">... </span> <span class="sd">"""Plugin that takes no command-line arguments"""</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="n">enabled</span> <span class="o">=</span> <span class="bp">True</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">configure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="n">conf</span><span class="p">):</span> <span class="gp">... </span> <span class="k">pass</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">options</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parser</span><span class="p">,</span> <span class="n">env</span><span class="o">=</span><span class="p">{}):</span> @@ -44,13 +44,13 @@ AttributeError in beforeTest and afterTest.</p> </pre></div> <div class="highlight"><pre><span class="gp">>>> </span><span class="k">class</span> <span class="nc">FailBeforePlugin</span><span class="p">(</span><span class="n">EnabledPlugin</span><span class="p">):</span> <span class="gp">... </span> <span class="n">name</span> <span class="o">=</span> <span class="s">"fail-before"</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">beforeTest</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">test</span><span class="p">):</span> <span class="gp">... </span> <span class="k">raise</span> <span class="ne">AttributeError</span><span class="p">()</span> </pre></div> <div class="highlight"><pre><span class="gp">>>> </span><span class="k">class</span> <span class="nc">FailAfterPlugin</span><span class="p">(</span><span class="n">EnabledPlugin</span><span class="p">):</span> <span class="gp">... </span> <span class="n">name</span> <span class="o">=</span> <span class="s">"fail-after"</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">afterTest</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">test</span><span class="p">):</span> <span class="gp">... </span> <span class="k">raise</span> <span class="ne">AttributeError</span><span class="p">()</span> </pre></div> @@ -67,16 +67,14 @@ tests failing.</p> <span class="go">======================================================================</span> <span class="go">ERROR: test_spam.test_spam</span> <span class="go">----------------------------------------------------------------------</span> -<span class="gt">Traceback (most recent call last):</span> -<span class="c">...</span> -<span class="nc">AttributeError</span> +<span class="gp">...</span> +<span class="go">AttributeError</span> <span class="go"><BLANKLINE></span> <span class="go">======================================================================</span> <span class="go">ERROR: test_spam.test_eggs</span> <span class="go">----------------------------------------------------------------------</span> -<span class="gt">Traceback (most recent call last):</span> -<span class="c">...</span> -<span class="nc">AttributeError</span> +<span class="gp">...</span> +<span class="go">AttributeError</span> <span class="go"><BLANKLINE></span> <span class="go">----------------------------------------------------------------------</span> <span class="go">Ran 0 tests in ...s</span> @@ -88,9 +86,8 @@ tests failing.</p> <blockquote> <div class="highlight"><pre><span class="gp">>>> </span><span class="n">run</span><span class="p">(</span><span class="n">argv</span><span class="o">=</span><span class="p">[</span><span class="s">'nosetests'</span><span class="p">,</span> <span class="n">suitepath</span><span class="p">],</span> <span class="gp">... </span> <span class="n">plugins</span><span class="o">=</span><span class="p">[</span><span class="n">FailAfterPlugin</span><span class="p">()])</span> -<span class="gt">Traceback (most recent call last):</span> -<span class="c">...</span> -<span class="nc">AttributeError</span> +<span class="gp">...</span> +<span class="go">AttributeError</span> </pre></div> </blockquote> <p>Likewise since the next plugin fails in a preparatory method, outside @@ -98,15 +95,75 @@ of test execution, the entire test run fails when the plugin is used.</p> <blockquote> <div class="highlight"><pre><span class="gp">>>> </span><span class="k">class</span> <span class="nc">FailPreparationPlugin</span><span class="p">(</span><span class="n">EnabledPlugin</span><span class="p">):</span> <span class="gp">... </span> <span class="n">name</span> <span class="o">=</span> <span class="s">"fail-prepare"</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">prepareTestLoader</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">loader</span><span class="p">):</span> <span class="gp">... </span> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s">"That loader is not my type"</span><span class="p">)</span> </pre></div> <div class="highlight"><pre><span class="gp">>>> </span><span class="n">run</span><span class="p">(</span><span class="n">argv</span><span class="o">=</span><span class="p">[</span><span class="s">'nosetests'</span><span class="p">,</span> <span class="n">suitepath</span><span class="p">],</span> <span class="gp">... </span> <span class="n">plugins</span><span class="o">=</span><span class="p">[</span><span class="n">FailPreparationPlugin</span><span class="p">()])</span> -<span class="gt">Traceback (most recent call last):</span> -<span class="c">...</span> -<span class="nc">TypeError</span>: <span class="n-Identifier">That loader is not my type</span> +<span class="gp">...</span> +<span class="go">TypeError: That loader is not my type</span> +</pre></div> +</blockquote> +<p>Even AttributeErrors and TypeErrors are not silently suppressed as +they used to be for some generative plugin methods (issueXXX).</p> +<p>These methods caught TypeError and AttributeError and did not record +the exception, before issue152 was fixed: .loadTestsFromDir(), +.loadTestsFromModule(), .loadTestsFromTestCase(), +loadTestsFromTestClass, and .makeTest(). Now, the exception is +caught, but logged as a Failure.</p> +<blockquote> +<div class="highlight"><pre><span class="gp">>>> </span><span class="k">class</span> <span class="nc">FailLoadPlugin</span><span class="p">(</span><span class="n">EnabledPlugin</span><span class="p">):</span> +<span class="gp">... </span> <span class="n">name</span> <span class="o">=</span> <span class="s">"fail-load"</span> +<span class="gp">...</span> +<span class="gp">... </span> <span class="k">def</span> <span class="nf">loadTestsFromModule</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">module</span><span class="p">):</span> +<span class="gp">... </span> <span class="c"># we're testing exception handling behaviour during</span> +<span class="gp">... </span> <span class="c"># iteration, so be a generator function, without</span> +<span class="gp">... </span> <span class="c"># actually yielding any tests</span> +<span class="gp">... </span> <span class="k">if</span> <span class="bp">False</span><span class="p">:</span> +<span class="gp">... </span> <span class="k">yield</span> <span class="bp">None</span> +<span class="gp">... </span> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s">"bug in plugin"</span><span class="p">)</span> +</pre></div> +<div class="highlight"><pre><span class="gp">>>> </span><span class="n">run</span><span class="p">(</span><span class="n">argv</span><span class="o">=</span><span class="p">[</span><span class="s">'nosetests'</span><span class="p">,</span> <span class="n">suitepath</span><span class="p">],</span> +<span class="gp">... </span> <span class="n">plugins</span><span class="o">=</span><span class="p">[</span><span class="n">FailLoadPlugin</span><span class="p">()])</span> +<span class="go">..E</span> +<span class="go">======================================================================</span> +<span class="go">ERROR: Failure: TypeError (bug in plugin)</span> +<span class="go">----------------------------------------------------------------------</span> +<span class="gp">...</span> +<span class="go">TypeError: bug in plugin</span> +<span class="go"><BLANKLINE></span> +<span class="go">----------------------------------------------------------------------</span> +<span class="go">Ran 3 tests in ...s</span> +<span class="go"><BLANKLINE></span> +<span class="go">FAILED (errors=1)</span> +</pre></div> +</blockquote> +<p>Also, before issue152 was resolved, .loadTestsFromFile() and +.loadTestsFromName() didn't catch these errors at all, so the +following test would crash nose:</p> +<blockquote> +<div class="highlight"><pre><span class="gp">>>> </span><span class="k">class</span> <span class="nc">FailLoadFromNamePlugin</span><span class="p">(</span><span class="n">EnabledPlugin</span><span class="p">):</span> +<span class="gp">... </span> <span class="n">name</span> <span class="o">=</span> <span class="s">"fail-load-from-name"</span> +<span class="gp">...</span> +<span class="gp">... </span> <span class="k">def</span> <span class="nf">loadTestsFromName</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">module</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">importPath</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span> +<span class="gp">... </span> <span class="k">if</span> <span class="bp">False</span><span class="p">:</span> +<span class="gp">... </span> <span class="k">yield</span> <span class="bp">None</span> +<span class="gp">... </span> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s">"bug in plugin"</span><span class="p">)</span> +</pre></div> +<div class="highlight"><pre><span class="gp">>>> </span><span class="n">run</span><span class="p">(</span><span class="n">argv</span><span class="o">=</span><span class="p">[</span><span class="s">'nosetests'</span><span class="p">,</span> <span class="n">suitepath</span><span class="p">],</span> +<span class="gp">... </span> <span class="n">plugins</span><span class="o">=</span><span class="p">[</span><span class="n">FailLoadFromNamePlugin</span><span class="p">()])</span> +<span class="go">E</span> +<span class="go">======================================================================</span> +<span class="go">ERROR: Failure: TypeError (bug in plugin)</span> +<span class="go">----------------------------------------------------------------------</span> +<span class="gp">...</span> +<span class="go">TypeError: bug in plugin</span> +<span class="go"><BLANKLINE></span> +<span class="go">----------------------------------------------------------------------</span> +<span class="go">Ran 1 test in ...s</span> +<span class="go"><BLANKLINE></span> +<span class="go">FAILED (errors=1)</span> </pre></div> </blockquote> diff --git a/doc/plugin_failuredetail.html b/doc/plugin_failuredetail.html index dddc147..cf75dd1 100644 --- a/doc/plugin_failuredetail.html +++ b/doc/plugin_failuredetail.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> <div id="main"> @@ -58,7 +58,7 @@ in the context output to provide more debugging information.</p> <span class="sd"> traceback of the failure exception is examined and displayed with extra</span> <span class="sd"> context around the line where the exception was raised.</span> <span class="sd"> """</span> - <span class="n">score</span> <span class="o">=</span> <span class="mi">600</span> <span class="c"># before capture</span> + <span class="n">score</span> <span class="o">=</span> <span class="mf">600</span> <span class="c"># before capture</span> <span class="k">def</span> <span class="nf">options</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parser</span><span class="p">,</span> <span class="n">env</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">):</span> <span class="n">parser</span><span class="o">.</span><span class="n">add_option</span><span class="p">(</span> diff --git a/doc/plugin_interface.html b/doc/plugin_interface.html index 88e4cd8..cb92a31 100644 --- a/doc/plugin_interface.html +++ b/doc/plugin_interface.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> <h2>New methods</h2><ul><li><a href="#afterContext">afterContext</a></li><li><a href="#afterDirectory">afterDirectory</a></li><li><a href="#afterImport">afterImport</a></li><li><a href="#afterTest">afterTest</a></li><li><a href="#beforeContext">beforeContext</a></li><li><a href="#beforeDirectory">beforeDirectory</a></li><li><a href="#beforeImport">beforeImport</a></li><li><a href="#beforeTest">beforeTest</a></li><li><a href="#describeTest">describeTest</a></li><li><a href="#formatError">formatError</a></li><li><a href="#formatFailure">formatFailure</a></li><li><a href="#handleError">handleError</a></li><li><a href="#handleFailure">handleFailure</a></li><li><a href="#loadTestsFromDir">loadTestsFromDir</a></li><li><a href="#loadTestsFromFile">loadTestsFromFile</a></li><li><a href="#loadTestsFromNames">loadTestsFromNames</a></li><li><a href="#loadTestsFromTestClass">loadTestsFromTestClass</a></li><li><a href="#makeTest">makeTest</a></li><li><a href="#options">options</a></li><li><a href="#prepareTestCase">prepareTestCase</a></li><li><a href="#prepareTestLoader">prepareTestLoader</a></li><li><a href="#prepareTestResult">prepareTestResult</a></li><li><a href="#prepareTestRunner">prepareTestRunner</a></li><li><a href="#startContext">startContext</a></li><li><a href="#stopContext">stopContext</a></li><li><a href="#testName">testName</a></li></ul><h2>Changed methods</h2><ul><li><a href="#addError">addError</a></li><li><a href="#addFailure">addFailure</a></li><li><a href="#addSuccess">addSuccess</a></li></ul><h2>Deprecated methods</h2><ul><li><a href="#addDeprecated">addDeprecated</a></li><li><a href="#addOptions">addOptions</a></li><li><a href="#addSkip">addSkip</a></li><li><a href="#add_options">add_options</a></li><li><a href="#loadTestsFromPath">loadTestsFromPath</a></li><li><a href="#wantModuleTests">wantModuleTests</a></li></ul> </div> diff --git a/doc/plugin_isolate.html b/doc/plugin_isolate.html index 00e16b6..0cc8aaf 100644 --- a/doc/plugin_isolate.html +++ b/doc/plugin_isolate.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> <div id="main"> @@ -121,7 +121,7 @@ the coverage plugin.</p> <span class="sd"> plugin should not be used with the coverage plugin in any other case</span> <span class="sd"> where module reloading may produce undesirable side-effects.</span> <span class="sd"> """</span> - <span class="n">score</span> <span class="o">=</span> <span class="mi">10</span> <span class="c"># I want to be last</span> + <span class="n">score</span> <span class="o">=</span> <span class="mf">10</span> <span class="c"># I want to be last</span> <span class="n">name</span> <span class="o">=</span> <span class="s">'isolation'</span> <span class="k">def</span> <span class="nf">configure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="n">conf</span><span class="p">):</span> @@ -152,7 +152,7 @@ the coverage plugin.</p> <span class="sd"> fixtures will be set up and torn down around each test named.</span> <span class="sd"> """</span> <span class="c"># Fast path for when we don't care</span> - <span class="k">if</span> <span class="ow">not</span> <span class="n">names</span> <span class="ow">or</span> <span class="nb">len</span><span class="p">(</span><span class="n">names</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">names</span> <span class="ow">or</span> <span class="nb">len</span><span class="p">(</span><span class="n">names</span><span class="p">)</span> <span class="o">==</span> <span class="mf">1</span><span class="p">:</span> <span class="k">return</span> <span class="n">loader</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">loader</span> <span class="n">plugins</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">plugins</span> diff --git a/doc/plugin_multiprocess.html b/doc/plugin_multiprocess.html new file mode 100644 index 0000000..36f7188 --- /dev/null +++ b/doc/plugin_multiprocess.html @@ -0,0 +1,599 @@ +<html> + <head> + <title>nose: builtin plugin: multiprocess</title> + <link rel="stylesheet" href="site.css" type="text/css"></link> + </head> + <body> + + <div id="menu"> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + </div> + + <div id="main"> + <h1>nose: builtin plugin: multiprocess</h1> + + <p>The multiprocess plugin enables you to distribute your test run among a set of +worker processes that run tests in parallel. This can speed up CPU-bound test +runs (as long as the number of work processeses is around the number of +processors or cores available), but is mainly useful for IO-bound tests which +can benefit from massive parallelization, since most of the tests spend most +of their time waiting for data to arrive from someplace else.</p> +<div class="section"> +<h1><a id="how-tests-are-distributed" name="how-tests-are-distributed">How tests are distributed</a></h1> +<p>The ideal case would be to dispatch each test to a worker process +separately. This ideal is not attainable in all cases, however, because many +test suites depend on context (class, module or package) fixtures.</p> +<p>The plugin can't know (unless you tell it -- see below!) whether a given +context fixture is re-entrant (that is, can be called many times +concurrently), or may be shared among tests running in different +processes. Therefore, if a context has fixtures, the default behavior is to +dispatch the entire suite to a worker as a unit.</p> +<div class="section"> +<h2><a id="controlling-distribution" name="controlling-distribution">Controlling distribution</a></h2> +<p>There are two context-level variables that you can use to control this default +behavior.</p> +<p>If a context's fixtures are re-entrant, set <cite>_multiprocess_can_split_ = True</cite> +in the context, and the plugin will dispatch tests in suites bound to that +context as if the context had no fixtures. This means that the fixtures will +execute multiple times, typically once per test, and concurrently.</p> +<p>If a context's fixtures may be shared by tests running in different processes +-- for instance a package-level fixture that starts an external http server or +initializes a shared database -- then set <cite>_multiprocess_shared_ = True</cite> in +the context. Fixtures for contexts so marked will execute in the primary nose +process, and tests in those contexts will be individually dispatched to run in +parallel.</p> +</div> +</div> +<div class="section"> +<h1><a id="how-results-are-collected-and-reported" name="how-results-are-collected-and-reported">How results are collected and reported</a></h1> +<p>As each test or suite executes in a worker process, results (failures, errors, +and specially handled exceptions like SkipTest) are collected in that +process. When the test or suite is complete, the results are returned to the +main nose process. There, any progress output (dots) is printed, and the +results from the test or suite combined into a consolidated result +set. Finally when results have been received for all dispatched tests, or all +workers have died, the result summary is output as normal.</p> +</div> +<div class="section"> +<h1><a id="beware" name="beware">Beware!</a></h1> +<p>Not all test suites will benefit from, or even operate correctly using, this +plugin. If you don't have multiple processors, CPU-bound tests will run more +slowly than otherwise, for instance. There are also some differences in plugin +interactions and behaviors due to the way in which tests are dispatched and +loaded. In general, test loading under the plugin operates as if it were +always in directed mode, not discovered mode. For instance, doctests in test +modules will always be found when using this plugin and the doctest plugin +together.</p> +<p>But most likely the biggest issue you will face is concurrency. Unless you +have kept your tests as religiously pure unit tests, with no side-effects, no +ordering issues, and no external dependencies, chances are you will experience +odd, intermittent and unexplainable failures and errors when using this +plugin. This doesn't necessarily mean the plugin is broken: it may mean that +your test suite is not safe for concurrency.</p> +</div> + + + <h2>Plugin Methods Implemented</h2> + + <p>This plugin implements the following plugin interface methods:</p> + + <ul><li><a href="plugin_interface.html#configure">configure</a></li><li><a href="plugin_interface.html#options">options</a></li><li><a href="plugin_interface.html#prepareTestLoader">prepareTestLoader</a></li><li><a href="plugin_interface.html#prepareTestRunner">prepareTestRunner</a></li></ul> + + + <h2>Commandline Options</h2> + + <p>This plugin adds the following commandline options:</p> + + <pre>Options: + --processes=MULTIPROCESS_WORKERS + Spread test run among this many processes. Set a + number equal to the number of processors or cores in + your machine for best results. [NOSE_PROCESSES] + --process-timeout=MULTIPROCESS_TIMEOUT + Set timeout for return of results from each test + runner process. [NOSE_PROCESS_TIMEOUT] +</pre> + + <h2>Source</h2> + + <div class="highlight"><pre><span class="sd">"""</span> +<span class="sd">Mutltiprocess: parallel testing</span> +<span class="sd">-------------------------------</span> + +<span class="sd">The multiprocess plugin enables you to distribute your test run among a set of</span> +<span class="sd">worker processes that run tests in parallel. This can speed up CPU-bound test</span> +<span class="sd">runs (as long as the number of work processeses is around the number of</span> +<span class="sd">processors or cores available), but is mainly useful for IO-bound tests which</span> +<span class="sd">can benefit from massive parallelization, since most of the tests spend most</span> +<span class="sd">of their time waiting for data to arrive from someplace else.</span> + +<span class="sd">How tests are distributed</span> +<span class="sd">=========================</span> + +<span class="sd">The ideal case would be to dispatch each test to a worker process</span> +<span class="sd">separately. This ideal is not attainable in all cases, however, because many</span> +<span class="sd">test suites depend on context (class, module or package) fixtures.</span> + +<span class="sd">The plugin can't know (unless you tell it -- see below!) whether a given</span> +<span class="sd">context fixture is re-entrant (that is, can be called many times</span> +<span class="sd">concurrently), or may be shared among tests running in different</span> +<span class="sd">processes. Therefore, if a context has fixtures, the default behavior is to</span> +<span class="sd">dispatch the entire suite to a worker as a unit.</span> + +<span class="sd">Controlling distribution</span> +<span class="sd">^^^^^^^^^^^^^^^^^^^^^^^^</span> + +<span class="sd">There are two context-level variables that you can use to control this default</span> +<span class="sd">behavior.</span> + +<span class="sd">If a context's fixtures are re-entrant, set `_multiprocess_can_split_ = True`</span> +<span class="sd">in the context, and the plugin will dispatch tests in suites bound to that</span> +<span class="sd">context as if the context had no fixtures. This means that the fixtures will</span> +<span class="sd">execute multiple times, typically once per test, and concurrently.</span> + +<span class="sd">If a context's fixtures may be shared by tests running in different processes</span> +<span class="sd">-- for instance a package-level fixture that starts an external http server or</span> +<span class="sd">initializes a shared database -- then set `_multiprocess_shared_ = True` in</span> +<span class="sd">the context. Fixtures for contexts so marked will execute in the primary nose</span> +<span class="sd">process, and tests in those contexts will be individually dispatched to run in</span> +<span class="sd">parallel.</span> + +<span class="sd">How results are collected and reported</span> +<span class="sd">======================================</span> + +<span class="sd">As each test or suite executes in a worker process, results (failures, errors,</span> +<span class="sd">and specially handled exceptions like SkipTest) are collected in that</span> +<span class="sd">process. When the test or suite is complete, the results are returned to the</span> +<span class="sd">main nose process. There, any progress output (dots) is printed, and the</span> +<span class="sd">results from the test or suite combined into a consolidated result</span> +<span class="sd">set. Finally when results have been received for all dispatched tests, or all</span> +<span class="sd">workers have died, the result summary is output as normal.</span> + +<span class="sd">Beware!</span> +<span class="sd">=======</span> + +<span class="sd">Not all test suites will benefit from, or even operate correctly using, this</span> +<span class="sd">plugin. If you don't have multiple processors, CPU-bound tests will run more</span> +<span class="sd">slowly than otherwise, for instance. There are also some differences in plugin</span> +<span class="sd">interactions and behaviors due to the way in which tests are dispatched and</span> +<span class="sd">loaded. In general, test loading under the plugin operates as if it were</span> +<span class="sd">always in directed mode, not discovered mode. For instance, doctests in test</span> +<span class="sd">modules will always be found when using this plugin and the doctest plugin</span> +<span class="sd">together.</span> + +<span class="sd">But most likely the biggest issue you will face is concurrency. Unless you</span> +<span class="sd">have kept your tests as religiously pure unit tests, with no side-effects, no</span> +<span class="sd">ordering issues, and no external dependencies, chances are you will experience</span> +<span class="sd">odd, intermittent and unexplainable failures and errors when using this</span> +<span class="sd">plugin. This doesn't necessarily mean the plugin is broken: it may mean that</span> +<span class="sd">your test suite is not safe for concurrency.</span> + + +<span class="sd">"""</span> +<span class="k">import</span> <span class="nn">logging</span> +<span class="k">import</span> <span class="nn">os</span> +<span class="k">import</span> <span class="nn">sys</span> +<span class="k">import</span> <span class="nn">time</span> +<span class="k">import</span> <span class="nn">traceback</span> +<span class="k">import</span> <span class="nn">unittest</span> +<span class="k">import</span> <span class="nn">nose.case</span> +<span class="k">from</span> <span class="nn">nose.core</span> <span class="k">import</span> <span class="n">TextTestRunner</span> +<span class="k">from</span> <span class="nn">nose</span> <span class="k">import</span> <span class="n">failure</span> +<span class="k">from</span> <span class="nn">nose</span> <span class="k">import</span> <span class="n">loader</span> +<span class="k">from</span> <span class="nn">nose.plugins.base</span> <span class="k">import</span> <span class="n">Plugin</span> +<span class="k">from</span> <span class="nn">nose.result</span> <span class="k">import</span> <span class="n">TextTestResult</span> +<span class="k">from</span> <span class="nn">nose.suite</span> <span class="k">import</span> <span class="n">ContextSuite</span> +<span class="k">from</span> <span class="nn">nose.util</span> <span class="k">import</span> <span class="n">test_address</span> +<span class="k">from</span> <span class="nn">Queue</span> <span class="k">import</span> <span class="n">Empty</span> + +<span class="n">log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="n">__name__</span><span class="p">)</span> +<span class="c"># debugging repeat log messages</span> +<span class="c">#class FakeLog:</span> +<span class="c"># def __init__(self, out=sys.stderr):</span> +<span class="c"># self.out = out</span> +<span class="c"># def debug(self, msg, *arg):</span> +<span class="c"># print >> self.out, "!", msg % arg</span> +<span class="c">#log = FakeLog()</span> + +<span class="k">try</span><span class="p">:</span> + <span class="k">from</span> <span class="nn">processing</span> <span class="k">import</span> <span class="n">Process</span><span class="p">,</span> <span class="n">Queue</span><span class="p">,</span> <span class="n">Pool</span><span class="p">,</span> <span class="n">Event</span> +<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span> + <span class="n">Process</span> <span class="o">=</span> <span class="n">Queue</span> <span class="o">=</span> <span class="n">Pool</span> <span class="o">=</span> <span class="n">Event</span> <span class="o">=</span> <span class="bp">None</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"processing module not available"</span><span class="p">)</span> +<span class="k">try</span><span class="p">:</span> + <span class="k">from</span> <span class="nn">cStringIO</span> <span class="k">import</span> <span class="n">StringIO</span> +<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span> + <span class="k">import</span> <span class="nn">StringIO</span> + + +<span class="k">class</span> <span class="nc">TestLet</span><span class="p">:</span> + <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">case</span><span class="p">):</span> + <span class="k">try</span><span class="p">:</span> + <span class="bp">self</span><span class="o">.</span><span class="n">_id</span> <span class="o">=</span> <span class="n">case</span><span class="o">.</span><span class="n">id</span><span class="p">()</span> + <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span> + <span class="k">pass</span> + <span class="bp">self</span><span class="o">.</span><span class="n">_short_description</span> <span class="o">=</span> <span class="n">case</span><span class="o">.</span><span class="n">shortDescription</span><span class="p">()</span> + <span class="bp">self</span><span class="o">.</span><span class="n">_str</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">case</span><span class="p">)</span> + + <span class="k">def</span> <span class="nf">id</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_id</span> + + <span class="k">def</span> <span class="nf">shortDescription</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_short_description</span> + + <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_str</span> + + +<span class="k">class</span> <span class="nc">MultiProcess</span><span class="p">(</span><span class="n">Plugin</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Run tests in multiple processes. Requires processing module.</span> +<span class="sd"> """</span> + <span class="n">score</span> <span class="o">=</span> <span class="mf">1000</span> + + <span class="k">def</span> <span class="nf">options</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parser</span><span class="p">,</span> <span class="n">env</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">):</span> + <span class="k">if</span> <span class="n">Process</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> + <span class="bp">self</span><span class="o">.</span><span class="n">can_configure</span> <span class="o">=</span> <span class="bp">False</span> + <span class="bp">self</span><span class="o">.</span><span class="n">enabled</span> <span class="o">=</span> <span class="bp">False</span> + <span class="k">return</span> + <span class="n">parser</span><span class="o">.</span><span class="n">add_option</span><span class="p">(</span><span class="s">"--processes"</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s">"store"</span><span class="p">,</span> + <span class="n">default</span><span class="o">=</span><span class="n">env</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'NOSE_PROCESSES'</span><span class="p">,</span> <span class="mf">0</span><span class="p">),</span> + <span class="n">dest</span><span class="o">=</span><span class="s">"multiprocess_workers"</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="s">"Spread test run among this many processes. "</span> + <span class="s">"Set a number equal to the number of processors "</span> + <span class="s">"or cores in your machine for best results. "</span> + <span class="s">"[NOSE_PROCESSES]"</span><span class="p">)</span> + <span class="n">parser</span><span class="o">.</span><span class="n">add_option</span><span class="p">(</span><span class="s">"--process-timeout"</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s">"store"</span><span class="p">,</span> + <span class="n">default</span><span class="o">=</span><span class="n">env</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'NOSE_PROCESS_TIMEOUT'</span><span class="p">,</span> <span class="mf">10</span><span class="p">),</span> + <span class="n">dest</span><span class="o">=</span><span class="s">"multiprocess_timeout"</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="s">"Set timeout for return of results from each "</span> + <span class="s">"test runner process. [NOSE_PROCESS_TIMEOUT]"</span><span class="p">)</span> + + <span class="k">def</span> <span class="nf">configure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="n">config</span><span class="p">):</span> + <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">options</span><span class="p">,</span> <span class="s">'multiprocess_workers'</span><span class="p">):</span> + <span class="bp">self</span><span class="o">.</span><span class="n">enabled</span> <span class="o">=</span> <span class="bp">False</span> + <span class="k">return</span> + <span class="bp">self</span><span class="o">.</span><span class="n">config</span> <span class="o">=</span> <span class="n">config</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">workers</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">options</span><span class="o">.</span><span class="n">multiprocess_workers</span><span class="p">)</span> + <span class="k">except</span> <span class="p">(</span><span class="ne">TypeError</span><span class="p">,</span> <span class="ne">ValueError</span><span class="p">):</span> + <span class="n">workers</span> <span class="o">=</span> <span class="mf">0</span> + <span class="k">if</span> <span class="n">workers</span><span class="p">:</span> + <span class="bp">self</span><span class="o">.</span><span class="n">enabled</span> <span class="o">=</span> <span class="bp">True</span> + <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">multiprocess_workers</span> <span class="o">=</span> <span class="n">workers</span> + <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">multiprocess_timeout</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">options</span><span class="o">.</span><span class="n">multiprocess_timeout</span><span class="p">)</span> + + <span class="k">def</span> <span class="nf">prepareTestLoader</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">loader</span><span class="p">):</span> + <span class="bp">self</span><span class="o">.</span><span class="n">loaderClass</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="n">__class__</span> + + <span class="k">def</span> <span class="nf">prepareTestRunner</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">runner</span><span class="p">):</span> + <span class="c"># replace with our runner class</span> + <span class="k">return</span> <span class="n">MultiProcessTestRunner</span><span class="p">(</span><span class="n">stream</span><span class="o">=</span><span class="n">runner</span><span class="o">.</span><span class="n">stream</span><span class="p">,</span> + <span class="n">verbosity</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">verbosity</span><span class="p">,</span> + <span class="n">config</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">,</span> + <span class="n">loaderClass</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">loaderClass</span><span class="p">)</span> + + +<span class="k">class</span> <span class="nc">MultiProcessTestRunner</span><span class="p">(</span><span class="n">TextTestRunner</span><span class="p">):</span> + + <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span> + <span class="bp">self</span><span class="o">.</span><span class="n">loaderClass</span> <span class="o">=</span> <span class="n">kw</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s">'loaderClass'</span><span class="p">,</span> <span class="n">loader</span><span class="o">.</span><span class="n">defaultTestLoader</span><span class="p">)</span> + <span class="nb">super</span><span class="p">(</span><span class="n">MultiProcessTestRunner</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">**</span><span class="n">kw</span><span class="p">)</span> + + <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">test</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Execute the test (which may be a test suite). If the test is a suite,</span> +<span class="sd"> distribute it out among as many processes as have been configured, at</span> +<span class="sd"> as fine a level as is possible given the context fixtures defined in the</span> +<span class="sd"> suite or any sub-suites.</span> + +<span class="sd"> """</span> + <span class="n">wrapper</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">plugins</span><span class="o">.</span><span class="n">prepareTest</span><span class="p">(</span><span class="n">test</span><span class="p">)</span> + <span class="k">if</span> <span class="n">wrapper</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> + <span class="n">test</span> <span class="o">=</span> <span class="n">wrapper</span> + + <span class="c"># plugins can decorate or capture the output stream</span> + <span class="n">wrapped</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">plugins</span><span class="o">.</span><span class="n">setOutputStream</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">stream</span><span class="p">)</span> + <span class="k">if</span> <span class="n">wrapped</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> + <span class="bp">self</span><span class="o">.</span><span class="n">stream</span> <span class="o">=</span> <span class="n">wrapped</span> + + <span class="n">testQueue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span> + <span class="n">resultQueue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span> + <span class="n">tasks</span> <span class="o">=</span> <span class="p">{}</span> + <span class="n">completed</span> <span class="o">=</span> <span class="p">{}</span> + <span class="n">workers</span> <span class="o">=</span> <span class="p">[]</span> + <span class="n">to_teardown</span> <span class="o">=</span> <span class="p">[]</span> + <span class="n">shouldStop</span> <span class="o">=</span> <span class="n">Event</span><span class="p">()</span> + + <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_makeResult</span><span class="p">()</span> + <span class="n">start</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> + + <span class="c"># dispatch and collect results</span> + <span class="c"># put indexes only on queue because tests aren't picklable</span> + <span class="k">for</span> <span class="n">case</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">next_batch</span><span class="p">(</span><span class="n">test</span><span class="p">):</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Next batch </span><span class="si">%s</span><span class="s"> (</span><span class="si">%s</span><span class="s">)"</span><span class="p">,</span> <span class="n">case</span><span class="p">,</span> <span class="nb">type</span><span class="p">(</span><span class="n">case</span><span class="p">))</span> + <span class="k">if</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">case</span><span class="p">,</span> <span class="n">nose</span><span class="o">.</span><span class="n">case</span><span class="o">.</span><span class="n">Test</span><span class="p">)</span> <span class="ow">and</span> + <span class="nb">isinstance</span><span class="p">(</span><span class="n">case</span><span class="o">.</span><span class="n">test</span><span class="p">,</span> <span class="n">failure</span><span class="o">.</span><span class="n">Failure</span><span class="p">)):</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Case is a Failure"</span><span class="p">)</span> + <span class="n">case</span><span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="c"># run here to capture the failure</span> + <span class="k">continue</span> + <span class="c"># handle shared fixtures</span> + <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">case</span><span class="p">,</span> <span class="n">ContextSuite</span><span class="p">)</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">sharedFixtures</span><span class="p">(</span><span class="n">case</span><span class="p">):</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"</span><span class="si">%s</span><span class="s"> has shared fixtures"</span><span class="p">,</span> <span class="n">case</span><span class="p">)</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">case</span><span class="o">.</span><span class="n">setUp</span><span class="p">()</span> + <span class="k">except</span> <span class="p">(</span><span class="ne">KeyboardInterrupt</span><span class="p">,</span> <span class="ne">SystemExit</span><span class="p">):</span> + <span class="k">raise</span> + <span class="k">except</span><span class="p">:</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"</span><span class="si">%s</span><span class="s"> setup failed"</span><span class="p">,</span> <span class="n">sys</span><span class="o">.</span><span class="n">exc_info</span><span class="p">())</span> + <span class="n">result</span><span class="o">.</span><span class="n">addError</span><span class="p">(</span><span class="n">case</span><span class="p">,</span> <span class="n">sys</span><span class="o">.</span><span class="n">exc_info</span><span class="p">())</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">to_teardown</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">case</span><span class="p">)</span> + <span class="k">for</span> <span class="n">_t</span> <span class="ow">in</span> <span class="n">case</span><span class="p">:</span> + <span class="n">test_addr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">address</span><span class="p">(</span><span class="n">_t</span><span class="p">)</span> + <span class="n">testQueue</span><span class="o">.</span><span class="n">put</span><span class="p">(</span><span class="n">test_addr</span><span class="p">,</span> <span class="n">block</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> + <span class="n">tasks</span><span class="p">[</span><span class="n">test_addr</span><span class="p">]</span> <span class="o">=</span> <span class="bp">None</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Queued shared-fixture test </span><span class="si">%s</span><span class="s"> (</span><span class="si">%s</span><span class="s">) to </span><span class="si">%s</span><span class="s">"</span><span class="p">,</span> + <span class="nb">len</span><span class="p">(</span><span class="n">tasks</span><span class="p">),</span> <span class="n">test_addr</span><span class="p">,</span> <span class="n">testQueue</span><span class="p">)</span> + + <span class="k">else</span><span class="p">:</span> + <span class="n">test_addr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">address</span><span class="p">(</span><span class="n">case</span><span class="p">)</span> + <span class="n">testQueue</span><span class="o">.</span><span class="n">put</span><span class="p">(</span><span class="n">test_addr</span><span class="p">,</span> <span class="n">block</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> + <span class="n">tasks</span><span class="p">[</span><span class="n">test_addr</span><span class="p">]</span> <span class="o">=</span> <span class="bp">None</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Queued test </span><span class="si">%s</span><span class="s"> (</span><span class="si">%s</span><span class="s">) to </span><span class="si">%s</span><span class="s">"</span><span class="p">,</span> + <span class="nb">len</span><span class="p">(</span><span class="n">tasks</span><span class="p">),</span> <span class="n">test_addr</span><span class="p">,</span> <span class="n">testQueue</span><span class="p">)</span> + + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Starting </span><span class="si">%s</span><span class="s"> workers"</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">multiprocess_workers</span><span class="p">)</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">multiprocess_workers</span><span class="p">):</span> + <span class="n">p</span> <span class="o">=</span> <span class="n">Process</span><span class="p">(</span><span class="n">target</span><span class="o">=</span><span class="n">runner</span><span class="p">,</span> <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> + <span class="n">testQueue</span><span class="p">,</span> + <span class="n">resultQueue</span><span class="p">,</span> + <span class="n">shouldStop</span><span class="p">,</span> + <span class="bp">self</span><span class="o">.</span><span class="n">loaderClass</span><span class="p">,</span> + <span class="n">result</span><span class="o">.</span><span class="n">__class__</span><span class="p">,</span> + <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">))</span> + <span class="n">p</span><span class="o">.</span><span class="n">setDaemon</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span> + <span class="n">p</span><span class="o">.</span><span class="n">start</span><span class="p">()</span> + <span class="n">workers</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">p</span><span class="p">)</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Started worker process </span><span class="si">%s</span><span class="s">"</span><span class="p">,</span> <span class="n">i</span><span class="o">+</span><span class="mf">1</span><span class="p">)</span> + + <span class="n">num_tasks</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">tasks</span><span class="p">)</span> + <span class="k">while</span> <span class="n">tasks</span><span class="p">:</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Waiting for results (</span><span class="si">%s</span><span class="s">/</span><span class="si">%s</span><span class="s"> tasks)"</span><span class="p">,</span> + <span class="nb">len</span><span class="p">(</span><span class="n">completed</span><span class="p">),</span> <span class="n">num_tasks</span><span class="p">)</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">addr</span><span class="p">,</span> <span class="n">batch_result</span> <span class="o">=</span> <span class="n">resultQueue</span><span class="o">.</span><span class="n">get</span><span class="p">(</span> + <span class="n">timeout</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">multiprocess_timeout</span><span class="p">)</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">'Results received for </span><span class="si">%s</span><span class="s">'</span><span class="p">,</span> <span class="n">addr</span><span class="p">)</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">tasks</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">addr</span><span class="p">)</span> + <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Got result for unknown task? </span><span class="si">%s</span><span class="s">"</span><span class="p">,</span> <span class="n">addr</span><span class="p">)</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">completed</span><span class="p">[</span><span class="n">addr</span><span class="p">]</span> <span class="o">=</span> <span class="n">batch_result</span> + <span class="bp">self</span><span class="o">.</span><span class="n">consolidate</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">batch_result</span><span class="p">)</span> + <span class="k">if</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">stopOnError</span> + <span class="ow">and</span> <span class="ow">not</span> <span class="n">result</span><span class="o">.</span><span class="n">wasSuccessful</span><span class="p">()):</span> + <span class="c"># set the stop condition</span> + <span class="n">shouldStop</span><span class="o">.</span><span class="n">set</span><span class="p">()</span> + <span class="k">break</span> + <span class="k">except</span> <span class="n">Empty</span><span class="p">:</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Timed out with </span><span class="si">%s</span><span class="s"> tasks pending"</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">tasks</span><span class="p">))</span> + <span class="n">any_alive</span> <span class="o">=</span> <span class="bp">False</span> + <span class="k">for</span> <span class="n">w</span> <span class="ow">in</span> <span class="n">workers</span><span class="p">:</span> + <span class="k">if</span> <span class="n">w</span><span class="o">.</span><span class="n">isAlive</span><span class="p">():</span> + <span class="n">any_alive</span> <span class="o">=</span> <span class="bp">True</span> + <span class="k">break</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">any_alive</span><span class="p">:</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"All workers dead"</span><span class="p">)</span> + <span class="k">break</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Completed </span><span class="si">%s</span><span class="s">/</span><span class="si">%s</span><span class="s"> tasks (</span><span class="si">%s</span><span class="s"> remain)"</span><span class="p">,</span> + <span class="nb">len</span><span class="p">(</span><span class="n">completed</span><span class="p">),</span> <span class="n">num_tasks</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">tasks</span><span class="p">))</span> + + <span class="k">for</span> <span class="n">case</span> <span class="ow">in</span> <span class="n">to_teardown</span><span class="p">:</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Tearing down shared fixtures for </span><span class="si">%s</span><span class="s">"</span><span class="p">,</span> <span class="n">case</span><span class="p">)</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">case</span><span class="o">.</span><span class="n">tearDown</span><span class="p">()</span> + <span class="k">except</span> <span class="p">(</span><span class="ne">KeyboardInterrupt</span><span class="p">,</span> <span class="ne">SystemExit</span><span class="p">):</span> + <span class="k">raise</span> + <span class="k">except</span><span class="p">:</span> + <span class="n">result</span><span class="o">.</span><span class="n">addError</span><span class="p">(</span><span class="n">case</span><span class="p">,</span> <span class="n">sys</span><span class="o">.</span><span class="n">exc_info</span><span class="p">())</span> + + <span class="n">stop</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> + + <span class="n">result</span><span class="o">.</span><span class="n">printErrors</span><span class="p">()</span> + <span class="n">result</span><span class="o">.</span><span class="n">printSummary</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">plugins</span><span class="o">.</span><span class="n">finalize</span><span class="p">(</span><span class="n">result</span><span class="p">)</span> + + <span class="c"># Tell all workers to stop</span> + <span class="k">for</span> <span class="n">w</span> <span class="ow">in</span> <span class="n">workers</span><span class="p">:</span> + <span class="k">if</span> <span class="n">w</span><span class="o">.</span><span class="n">isAlive</span><span class="p">():</span> + <span class="n">testQueue</span><span class="o">.</span><span class="n">put</span><span class="p">(</span><span class="s">'STOP'</span><span class="p">,</span> <span class="n">block</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> + + <span class="k">return</span> <span class="n">result</span> + + <span class="k">def</span> <span class="nf">address</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">case</span><span class="p">):</span> + <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">case</span><span class="p">,</span> <span class="s">'address'</span><span class="p">):</span> + <span class="k">try</span><span class="p">:</span> + <span class="nb">file</span><span class="p">,</span> <span class="n">mod</span><span class="p">,</span> <span class="n">call</span> <span class="o">=</span> <span class="n">case</span><span class="o">.</span><span class="n">address</span><span class="p">()</span> + <span class="k">except</span><span class="p">:</span> + <span class="k">import</span> <span class="nn">sys</span> + <span class="k">import</span> <span class="nn">pdb</span> + <span class="n">ec</span><span class="p">,</span> <span class="n">ev</span><span class="p">,</span> <span class="n">tb</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">exc_info</span><span class="p">()</span> + <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">__stdout__</span> + <span class="n">pdb</span><span class="o">.</span><span class="n">post_mortem</span><span class="p">(</span><span class="n">tb</span><span class="p">)</span> + <span class="k">raise</span> + <span class="k">elif</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">case</span><span class="p">,</span> <span class="s">'context'</span><span class="p">):</span> + <span class="nb">file</span><span class="p">,</span> <span class="n">mod</span><span class="p">,</span> <span class="n">call</span> <span class="o">=</span> <span class="n">test_address</span><span class="p">(</span><span class="n">case</span><span class="o">.</span><span class="n">context</span><span class="p">)</span> + <span class="k">else</span><span class="p">:</span> + <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s">"Unable to convert </span><span class="si">%s</span><span class="s"> to address"</span> <span class="o">%</span> <span class="n">case</span><span class="p">)</span> + <span class="n">parts</span> <span class="o">=</span> <span class="p">[]</span> + <span class="k">if</span> <span class="nb">file</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> + <span class="k">if</span> <span class="n">mod</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> + <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s">"Unaddressable case </span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> <span class="n">case</span><span class="p">)</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">parts</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">mod</span><span class="p">)</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">parts</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">file</span><span class="p">)</span> + <span class="k">if</span> <span class="n">call</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> + <span class="n">parts</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">call</span><span class="p">)</span> + <span class="k">return</span> <span class="s">':'</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">str</span><span class="p">,</span> <span class="n">parts</span><span class="p">))</span> + + <span class="c"># FIXME camel for consistency</span> + <span class="k">def</span> <span class="nf">next_batch</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">test</span><span class="p">):</span> + <span class="c"># allows tests or suites to mark themselves as not safe</span> + <span class="c"># for multiprocess execution</span> + <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">test</span><span class="p">,</span> <span class="s">'context'</span><span class="p">):</span> + <span class="k">if</span> <span class="ow">not</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">test</span><span class="o">.</span><span class="n">context</span><span class="p">,</span> <span class="s">'_multiprocess_'</span><span class="p">,</span> <span class="bp">True</span><span class="p">):</span> + <span class="k">return</span> + + <span class="k">if</span> <span class="p">((</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">test</span><span class="p">,</span> <span class="n">ContextSuite</span><span class="p">)</span> + <span class="ow">and</span> <span class="n">test</span><span class="o">.</span><span class="n">hasFixtures</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">check_can_split</span><span class="p">))</span> + <span class="ow">or</span> <span class="ow">not</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">test</span><span class="p">,</span> <span class="s">'can_split'</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span> + <span class="ow">or</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">test</span><span class="p">,</span> <span class="n">unittest</span><span class="o">.</span><span class="n">TestSuite</span><span class="p">)):</span> + <span class="c"># regular test case, or a suite with context fixtures</span> + <span class="c"># either way we've hit something we can ask a worker</span> + <span class="c"># to run</span> + <span class="k">yield</span> <span class="n">test</span> + <span class="k">else</span><span class="p">:</span> + <span class="c"># Suite is without fixtures at this level; but it may have</span> + <span class="c"># fixtures at any deeper level, so we need to examine it all</span> + <span class="c"># the way down to the case level</span> + <span class="k">for</span> <span class="n">case</span> <span class="ow">in</span> <span class="n">test</span><span class="p">:</span> + <span class="k">for</span> <span class="n">batch</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">next_batch</span><span class="p">(</span><span class="n">case</span><span class="p">):</span> + <span class="k">yield</span> <span class="n">batch</span> + + <span class="c"># FIXME camel for consistency</span> + <span class="k">def</span> <span class="nf">check_can_split</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">fixt</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Callback that we use to check whether the fixtures found in a</span> +<span class="sd"> context or ancestor are ones we care about.</span> + +<span class="sd"> Contexts can tell us that their fixtures are reentrant by setting</span> +<span class="sd"> _multiprocess_can_split_. So if we see that, we return False to</span> +<span class="sd"> disregard those fixtures.</span> +<span class="sd"> """</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">fixt</span><span class="p">:</span> + <span class="k">return</span> <span class="bp">False</span> + <span class="k">if</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="s">'_multiprocess_can_split_'</span><span class="p">,</span> <span class="bp">False</span><span class="p">):</span> + <span class="k">return</span> <span class="bp">False</span> + <span class="k">return</span> <span class="bp">True</span> + + <span class="k">def</span> <span class="nf">sharedFixtures</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">case</span><span class="p">):</span> + <span class="n">context</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">case</span><span class="p">,</span> <span class="s">'context'</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">context</span><span class="p">:</span> + <span class="k">return</span> <span class="bp">False</span> + <span class="k">return</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="s">'_multiprocess_shared_'</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span> + + <span class="k">def</span> <span class="nf">consolidate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">result</span><span class="p">,</span> <span class="n">batch_result</span><span class="p">):</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"batch result is </span><span class="si">%s</span><span class="s">"</span> <span class="p">,</span> <span class="n">batch_result</span><span class="p">)</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">output</span><span class="p">,</span> <span class="n">testsRun</span><span class="p">,</span> <span class="n">failures</span><span class="p">,</span> <span class="n">errors</span><span class="p">,</span> <span class="n">errorClasses</span> <span class="o">=</span> <span class="n">batch_result</span> + <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"result in unexpected format </span><span class="si">%s</span><span class="s">"</span><span class="p">,</span> <span class="n">batch_result</span><span class="p">)</span> + <span class="n">failure</span><span class="o">.</span><span class="n">Failure</span><span class="p">(</span><span class="o">*</span><span class="n">sys</span><span class="o">.</span><span class="n">exc_info</span><span class="p">())(</span><span class="n">result</span><span class="p">)</span> + <span class="k">return</span> + <span class="bp">self</span><span class="o">.</span><span class="n">stream</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">output</span><span class="p">)</span> + <span class="n">result</span><span class="o">.</span><span class="n">testsRun</span> <span class="o">+=</span> <span class="n">testsRun</span> + <span class="n">result</span><span class="o">.</span><span class="n">failures</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">failures</span><span class="p">)</span> + <span class="n">result</span><span class="o">.</span><span class="n">errors</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">errors</span><span class="p">)</span> + <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="p">(</span><span class="n">storage</span><span class="p">,</span> <span class="n">label</span><span class="p">,</span> <span class="n">isfail</span><span class="p">)</span> <span class="ow">in</span> <span class="n">errorClasses</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> + <span class="k">if</span> <span class="n">key</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">result</span><span class="o">.</span><span class="n">errorClasses</span><span class="p">:</span> + <span class="c"># Ordinarily storage is result attribute</span> + <span class="c"># but it's only processed through the errorClasses</span> + <span class="c"># dict, so it's ok to fake it here</span> + <span class="n">result</span><span class="o">.</span><span class="n">errorClasses</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="p">([],</span> <span class="n">label</span><span class="p">,</span> <span class="n">isfail</span><span class="p">)</span> + <span class="n">mystorage</span><span class="p">,</span> <span class="n">_junk</span><span class="p">,</span> <span class="n">_junk</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="n">errorClasses</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> + <span class="n">mystorage</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">storage</span><span class="p">)</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Ran </span><span class="si">%s</span><span class="s"> tests (</span><span class="si">%s</span><span class="s">)"</span><span class="p">,</span> <span class="n">testsRun</span><span class="p">,</span> <span class="n">result</span><span class="o">.</span><span class="n">testsRun</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">runner</span><span class="p">(</span><span class="n">ix</span><span class="p">,</span> <span class="n">testQueue</span><span class="p">,</span> <span class="n">resultQueue</span><span class="p">,</span> <span class="n">shouldStop</span><span class="p">,</span> + <span class="n">loaderClass</span><span class="p">,</span> <span class="n">resultClass</span><span class="p">,</span> <span class="n">config</span><span class="p">):</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Worker </span><span class="si">%s</span><span class="s"> executing"</span><span class="p">,</span> <span class="n">ix</span><span class="p">)</span> + <span class="n">loader</span> <span class="o">=</span> <span class="n">loaderClass</span><span class="p">(</span><span class="n">config</span><span class="o">=</span><span class="n">config</span><span class="p">)</span> + <span class="n">loader</span><span class="o">.</span><span class="n">suiteClass</span><span class="o">.</span><span class="n">suiteClass</span> <span class="o">=</span> <span class="n">NoSharedFixtureContextSuite</span> + + <span class="k">def</span> <span class="nf">get</span><span class="p">():</span> + <span class="n">case</span> <span class="o">=</span> <span class="n">testQueue</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">timeout</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">multiprocess_timeout</span><span class="p">)</span> + <span class="k">return</span> <span class="n">case</span> + + <span class="k">def</span> <span class="nf">makeResult</span><span class="p">():</span> + <span class="n">stream</span> <span class="o">=</span> <span class="n">unittest</span><span class="o">.</span><span class="n">_WritelnDecorator</span><span class="p">(</span><span class="n">StringIO</span><span class="p">())</span> + <span class="k">return</span> <span class="n">resultClass</span><span class="p">(</span><span class="n">stream</span><span class="p">,</span> <span class="n">descriptions</span><span class="o">=</span><span class="mf">1</span><span class="p">,</span> + <span class="n">verbosity</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">verbosity</span><span class="p">,</span> + <span class="n">config</span><span class="o">=</span><span class="n">config</span><span class="p">)</span> + + <span class="k">def</span> <span class="nf">batch</span><span class="p">(</span><span class="n">result</span><span class="p">):</span> + <span class="n">failures</span> <span class="o">=</span> <span class="p">[(</span><span class="n">TestLet</span><span class="p">(</span><span class="n">c</span><span class="p">),</span> <span class="n">err</span><span class="p">)</span> <span class="k">for</span> <span class="n">c</span><span class="p">,</span> <span class="n">err</span> <span class="ow">in</span> <span class="n">result</span><span class="o">.</span><span class="n">failures</span><span class="p">]</span> + <span class="n">errors</span> <span class="o">=</span> <span class="p">[(</span><span class="n">TestLet</span><span class="p">(</span><span class="n">c</span><span class="p">),</span> <span class="n">err</span><span class="p">)</span> <span class="k">for</span> <span class="n">c</span><span class="p">,</span> <span class="n">err</span> <span class="ow">in</span> <span class="n">result</span><span class="o">.</span><span class="n">errors</span><span class="p">]</span> + <span class="n">errorClasses</span> <span class="o">=</span> <span class="p">{}</span> + <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="p">(</span><span class="n">storage</span><span class="p">,</span> <span class="n">label</span><span class="p">,</span> <span class="n">isfail</span><span class="p">)</span> <span class="ow">in</span> <span class="n">result</span><span class="o">.</span><span class="n">errorClasses</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> + <span class="n">errorClasses</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="p">([(</span><span class="n">TestLet</span><span class="p">(</span><span class="n">c</span><span class="p">),</span> <span class="n">err</span><span class="p">)</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">storage</span><span class="p">],</span> + <span class="n">label</span><span class="p">,</span> <span class="n">isfail</span><span class="p">)</span> + <span class="k">return</span> <span class="p">(</span> + <span class="n">result</span><span class="o">.</span><span class="n">stream</span><span class="o">.</span><span class="n">getvalue</span><span class="p">(),</span> + <span class="n">result</span><span class="o">.</span><span class="n">testsRun</span><span class="p">,</span> + <span class="n">failures</span><span class="p">,</span> + <span class="n">errors</span><span class="p">,</span> + <span class="n">errorClasses</span><span class="p">)</span> + <span class="k">try</span><span class="p">:</span> + <span class="k">try</span><span class="p">:</span> + <span class="k">for</span> <span class="n">test_addr</span> <span class="ow">in</span> <span class="nb">iter</span><span class="p">(</span><span class="n">get</span><span class="p">,</span> <span class="s">'STOP'</span><span class="p">):</span> + <span class="k">if</span> <span class="n">shouldStop</span><span class="o">.</span><span class="n">isSet</span><span class="p">():</span> + <span class="k">break</span> + <span class="n">result</span> <span class="o">=</span> <span class="n">makeResult</span><span class="p">()</span> + <span class="n">test</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="n">loadTestsFromNames</span><span class="p">([</span><span class="n">test_addr</span><span class="p">])</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Worker </span><span class="si">%s</span><span class="s"> Test is </span><span class="si">%s</span><span class="s"> (</span><span class="si">%s</span><span class="s">)"</span><span class="p">,</span> <span class="n">ix</span><span class="p">,</span> <span class="n">test_addr</span><span class="p">,</span> <span class="n">test</span><span class="p">)</span> + + <span class="k">try</span><span class="p">:</span> + <span class="n">test</span><span class="p">(</span><span class="n">result</span><span class="p">)</span> + <span class="n">resultQueue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">test_addr</span><span class="p">,</span> <span class="n">batch</span><span class="p">(</span><span class="n">result</span><span class="p">)))</span> + <span class="k">except</span> <span class="ne">KeyboardInterrupt</span><span class="p">,</span> <span class="ne">SystemExit</span><span class="p">:</span> + <span class="k">raise</span> + <span class="k">except</span><span class="p">:</span> + <span class="n">log</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="s">"Error running test or returning results"</span><span class="p">)</span> + <span class="n">failure</span><span class="o">.</span><span class="n">Failure</span><span class="p">(</span><span class="o">*</span><span class="n">sys</span><span class="o">.</span><span class="n">exc_info</span><span class="p">())(</span><span class="n">result</span><span class="p">)</span> + <span class="n">resultQueue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">test_addr</span><span class="p">,</span> <span class="n">batch</span><span class="p">(</span><span class="n">result</span><span class="p">)))</span> + <span class="k">except</span> <span class="n">Empty</span><span class="p">:</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Worker </span><span class="si">%s</span><span class="s"> timed out waiting for tasks"</span><span class="p">,</span> <span class="n">ix</span><span class="p">)</span> + <span class="k">finally</span><span class="p">:</span> + <span class="n">resultQueue</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Worker </span><span class="si">%s</span><span class="s"> ending"</span><span class="p">,</span> <span class="n">ix</span><span class="p">)</span> + + +<span class="k">class</span> <span class="nc">NoSharedFixtureContextSuite</span><span class="p">(</span><span class="n">ContextSuite</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Context suite that never fires shared fixtures.</span> + +<span class="sd"> When a context sets _multiprocess_shared_, fixtures in that context</span> +<span class="sd"> are executed by the main process. Using this suite class prevents them</span> +<span class="sd"> from executing in the runner process as well.</span> +<span class="sd"> </span> +<span class="sd"> """</span> + + <span class="k">def</span> <span class="nf">setupContext</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span> + <span class="k">if</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="s">'_multiprocess_shared_'</span><span class="p">,</span> <span class="bp">False</span><span class="p">):</span> + <span class="k">return</span> + <span class="nb">super</span><span class="p">(</span><span class="n">NoSharedFixtureContextSuite</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">setupContext</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> + + <span class="k">def</span> <span class="nf">teardownContext</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span> + <span class="k">if</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="s">'_multiprocess_shared_'</span><span class="p">,</span> <span class="bp">False</span><span class="p">):</span> + <span class="k">return</span> + <span class="nb">super</span><span class="p">(</span><span class="n">NoSharedFixtureContextSuite</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">teardownContext</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> +</pre></div> + + + </div> + <script src="http://www.google-analytics.com/urchin.js" + type="text/javascript"> + </script> + <script type="text/javascript"> + _uacct = "UA-2236166-1"; + urchinTracker(); + </script> + </body> +</html> + diff --git a/doc/plugin_prof.html b/doc/plugin_prof.html index a77462d..d5b4690 100644 --- a/doc/plugin_prof.html +++ b/doc/plugin_prof.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> <div id="main"> @@ -57,7 +57,11 @@ more details on the various output options.</p> <span class="sd">more details on the various output options.</span> <span class="sd">"""</span> -<span class="k">import</span> <span class="nn">hotshot</span><span class="o">,</span> <span class="nn">hotshot.stats</span> +<span class="k">try</span><span class="p">:</span> + <span class="k">import</span> <span class="nn">hotshot</span> + <span class="k">from</span> <span class="nn">hotshot</span> <span class="k">import</span> <span class="n">stats</span> +<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span> + <span class="n">hotshot</span><span class="p">,</span> <span class="n">stats</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span> <span class="k">import</span> <span class="nn">logging</span> <span class="k">import</span> <span class="nn">os</span> <span class="k">import</span> <span class="nn">sys</span> @@ -74,6 +78,8 @@ more details on the various output options.</p> <span class="n">pfile</span> <span class="o">=</span> <span class="bp">None</span> <span class="n">clean_stats_file</span> <span class="o">=</span> <span class="bp">False</span> <span class="k">def</span> <span class="nf">options</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parser</span><span class="p">,</span> <span class="n">env</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">):</span> + <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">available</span><span class="p">():</span> + <span class="k">return</span> <span class="n">Plugin</span><span class="o">.</span><span class="n">options</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parser</span><span class="p">,</span> <span class="n">env</span><span class="p">)</span> <span class="n">parser</span><span class="o">.</span><span class="n">add_option</span><span class="p">(</span><span class="s">'--profile-sort'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s">'store'</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s">'profile_sort'</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">env</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'NOSE_PROFILE_SORT'</span><span class="p">,</span> <span class="s">'cumulative'</span><span class="p">),</span> @@ -88,16 +94,23 @@ more details on the various output options.</p> <span class="n">default</span><span class="o">=</span><span class="n">env</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'NOSE_PROFILE_RESTRICT'</span><span class="p">),</span> <span class="n">help</span><span class="o">=</span><span class="s">"Restrict profiler output. See help for "</span> <span class="s">"pstats.Stats for details"</span><span class="p">)</span> - + + <span class="k">def</span> <span class="nf">available</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span> + <span class="k">return</span> <span class="n">hotshot</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> + <span class="n">available</span> <span class="o">=</span> <span class="nb">classmethod</span><span class="p">(</span><span class="n">available</span><span class="p">)</span> + <span class="k">def</span> <span class="nf">begin</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">available</span><span class="p">():</span> + <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_create_pfile</span><span class="p">()</span> <span class="bp">self</span><span class="o">.</span><span class="n">prof</span> <span class="o">=</span> <span class="n">hotshot</span><span class="o">.</span><span class="n">Profile</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pfile</span><span class="p">)</span> <span class="k">def</span> <span class="nf">configure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="n">conf</span><span class="p">):</span> + <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">available</span><span class="p">():</span> + <span class="bp">self</span><span class="o">.</span><span class="n">enabled</span> <span class="o">=</span> <span class="bp">False</span> + <span class="k">return</span> <span class="n">Plugin</span><span class="o">.</span><span class="n">configure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="n">conf</span><span class="p">)</span> - <span class="bp">self</span><span class="o">.</span><span class="n">options</span> <span class="o">=</span> <span class="n">options</span> <span class="bp">self</span><span class="o">.</span><span class="n">conf</span> <span class="o">=</span> <span class="n">conf</span> - <span class="k">if</span> <span class="n">options</span><span class="o">.</span><span class="n">profile_stats_file</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">pfile</span> <span class="o">=</span> <span class="n">options</span><span class="o">.</span><span class="n">profile_stats_file</span> <span class="bp">self</span><span class="o">.</span><span class="n">clean_stats_file</span> <span class="o">=</span> <span class="bp">False</span> @@ -109,6 +122,8 @@ more details on the various output options.</p> <span class="bp">self</span><span class="o">.</span><span class="n">restrict</span> <span class="o">=</span> <span class="n">tolist</span><span class="p">(</span><span class="n">options</span><span class="o">.</span><span class="n">profile_restrict</span><span class="p">)</span> <span class="k">def</span> <span class="nf">prepareTest</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">test</span><span class="p">):</span> + <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">available</span><span class="p">():</span> + <span class="k">return</span> <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">'preparing test </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">test</span><span class="p">)</span> <span class="k">def</span> <span class="nf">run_and_profile</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">prof</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">prof</span><span class="p">,</span> <span class="n">test</span><span class="o">=</span><span class="n">test</span><span class="p">):</span> <span class="bp">self</span><span class="o">.</span><span class="n">_create_pfile</span><span class="p">()</span> @@ -118,15 +133,15 @@ more details on the various output options.</p> <span class="k">def</span> <span class="nf">report</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stream</span><span class="p">):</span> <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">'printing profiler report'</span><span class="p">)</span> <span class="bp">self</span><span class="o">.</span><span class="n">prof</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> - <span class="n">stats</span> <span class="o">=</span> <span class="n">hotshot</span><span class="o">.</span><span class="n">stats</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pfile</span><span class="p">)</span> - <span class="n">stats</span><span class="o">.</span><span class="n">sort_stats</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sort</span><span class="p">)</span> + <span class="n">prof_stats</span> <span class="o">=</span> <span class="n">stats</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pfile</span><span class="p">)</span> + <span class="n">prof_stats</span><span class="o">.</span><span class="n">sort_stats</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sort</span><span class="p">)</span> <span class="c"># 2.5 has completely different stream handling from 2.4 and earlier.</span> <span class="c"># Before 2.5, stats objects have no stream attribute; in 2.5 and later</span> <span class="c"># a reference sys.stdout is stored before we can tweak it.</span> <span class="n">compat_25</span> <span class="o">=</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">stats</span><span class="p">,</span> <span class="s">'stream'</span><span class="p">)</span> <span class="k">if</span> <span class="n">compat_25</span><span class="p">:</span> - <span class="n">tmp</span> <span class="o">=</span> <span class="n">stats</span><span class="o">.</span><span class="n">stream</span> + <span class="n">tmp</span> <span class="o">=</span> <span class="n">prof_stats</span><span class="o">.</span><span class="n">stream</span> <span class="n">stats</span><span class="o">.</span><span class="n">stream</span> <span class="o">=</span> <span class="n">stream</span> <span class="k">else</span><span class="p">:</span> <span class="n">tmp</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span> @@ -134,9 +149,9 @@ more details on the various output options.</p> <span class="k">try</span><span class="p">:</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">restrict</span><span class="p">:</span> <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">'setting profiler restriction to </span><span class="si">%s</span><span class="s">'</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">restrict</span><span class="p">)</span> - <span class="n">stats</span><span class="o">.</span><span class="n">print_stats</span><span class="p">(</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">restrict</span><span class="p">)</span> + <span class="n">prof_stats</span><span class="o">.</span><span class="n">print_stats</span><span class="p">(</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">restrict</span><span class="p">)</span> <span class="k">else</span><span class="p">:</span> - <span class="n">stats</span><span class="o">.</span><span class="n">print_stats</span><span class="p">()</span> + <span class="n">prof_stats</span><span class="o">.</span><span class="n">print_stats</span><span class="p">()</span> <span class="k">finally</span><span class="p">:</span> <span class="k">if</span> <span class="n">compat_25</span><span class="p">:</span> <span class="n">stats</span><span class="o">.</span><span class="n">stream</span> <span class="o">=</span> <span class="n">tmp</span> @@ -144,9 +159,14 @@ more details on the various output options.</p> <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span> <span class="o">=</span> <span class="n">tmp</span> <span class="k">def</span> <span class="nf">finalize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">result</span><span class="p">):</span> + <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">available</span><span class="p">():</span> + <span class="k">return</span> <span class="k">try</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">prof</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span> + <span class="c"># TODO: is this trying to catch just the case where not</span> + <span class="c"># hasattr(self.prof, "close")? If so, the function call should be</span> + <span class="c"># moved out of the try: suite.</span> <span class="k">pass</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">clean_stats_file</span><span class="p">:</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">fileno</span><span class="p">:</span> diff --git a/doc/plugin_skip.html b/doc/plugin_skip.html index 7059c70..e5ec568 100644 --- a/doc/plugin_skip.html +++ b/doc/plugin_skip.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> <div id="main"> diff --git a/doc/plugin_testid.html b/doc/plugin_testid.html index 72107e3..0edf32a 100644 --- a/doc/plugin_testid.html +++ b/doc/plugin_testid.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> <div id="main"> @@ -110,6 +110,7 @@ specifying a test id.</p> <span class="k">import</span> <span class="nn">logging</span> <span class="k">import</span> <span class="nn">os</span> <span class="k">from</span> <span class="nn">nose.plugins</span> <span class="k">import</span> <span class="n">Plugin</span> +<span class="k">from</span> <span class="nn">nose.util</span> <span class="k">import</span> <span class="n">src</span> <span class="k">try</span><span class="p">:</span> <span class="k">from</span> <span class="nn">cPickle</span> <span class="k">import</span> <span class="n">dump</span><span class="p">,</span> <span class="n">load</span> @@ -142,7 +143,7 @@ specifying a test id.</p> <span class="bp">self</span><span class="o">.</span><span class="n">idfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="n">options</span><span class="o">.</span><span class="n">testIdFile</span><span class="p">)</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isabs</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">idfile</span><span class="p">):</span> <span class="bp">self</span><span class="o">.</span><span class="n">idfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">conf</span><span class="o">.</span><span class="n">workingDir</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">idfile</span><span class="p">)</span> - <span class="bp">self</span><span class="o">.</span><span class="n">id</span> <span class="o">=</span> <span class="mi">1</span> + <span class="bp">self</span><span class="o">.</span><span class="n">id</span> <span class="o">=</span> <span class="mf">1</span> <span class="c"># Ids and tests are mirror images: ids are {id: test address} and</span> <span class="c"># tests are {test address: id}</span> <span class="bp">self</span><span class="o">.</span><span class="n">ids</span> <span class="o">=</span> <span class="p">{}</span> @@ -187,9 +188,7 @@ specifying a test id.</p> <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Make name </span><span class="si">%s</span><span class="s">"</span><span class="p">,</span> <span class="n">addr</span><span class="p">)</span> <span class="n">filename</span><span class="p">,</span> <span class="n">module</span><span class="p">,</span> <span class="n">call</span> <span class="o">=</span> <span class="n">addr</span> <span class="k">if</span> <span class="n">filename</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> - <span class="k">if</span> <span class="n">filename</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">:]</span> <span class="ow">in</span> <span class="p">(</span><span class="s">'.pyc'</span><span class="p">,</span> <span class="s">'.pyo'</span><span class="p">):</span> - <span class="n">filename</span> <span class="o">=</span> <span class="n">filename</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> - <span class="n">head</span> <span class="o">=</span> <span class="n">filename</span> + <span class="n">head</span> <span class="o">=</span> <span class="n">src</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span> <span class="k">else</span><span class="p">:</span> <span class="n">head</span> <span class="o">=</span> <span class="n">module</span> <span class="k">if</span> <span class="n">call</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> @@ -201,16 +200,17 @@ specifying a test id.</p> <span class="k">def</span> <span class="nf">startTest</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">test</span><span class="p">):</span> <span class="n">adr</span> <span class="o">=</span> <span class="n">test</span><span class="o">.</span><span class="n">address</span><span class="p">()</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">'start test </span><span class="si">%s</span><span class="s"> (</span><span class="si">%s</span><span class="s">)'</span><span class="p">,</span> <span class="n">adr</span><span class="p">,</span> <span class="n">adr</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">tests</span><span class="p">)</span> <span class="k">if</span> <span class="n">adr</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">tests</span><span class="p">:</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">shouldSave</span> <span class="ow">or</span> <span class="n">adr</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_seen</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">stream</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">' '</span><span class="p">)</span> <span class="k">else</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">stream</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'#</span><span class="si">%s</span><span class="s"> '</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">tests</span><span class="p">[</span><span class="n">adr</span><span class="p">])</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_seen</span><span class="p">[</span><span class="n">adr</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span> + <span class="bp">self</span><span class="o">.</span><span class="n">_seen</span><span class="p">[</span><span class="n">adr</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1</span> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">tests</span><span class="p">[</span><span class="n">adr</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span> <span class="bp">self</span><span class="o">.</span><span class="n">stream</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'#</span><span class="si">%s</span><span class="s"> '</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">)</span> - <span class="bp">self</span><span class="o">.</span><span class="n">id</span> <span class="o">+=</span> <span class="mi">1</span> + <span class="bp">self</span><span class="o">.</span><span class="n">id</span> <span class="o">+=</span> <span class="mf">1</span> <span class="k">def</span> <span class="nf">tr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span> <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"tr '</span><span class="si">%s</span><span class="s">'"</span><span class="p">,</span> <span class="n">name</span><span class="p">)</span> diff --git a/doc/plugintest_environment.html b/doc/plugintest_environment.html index 685315b..bfc4237 100644 --- a/doc/plugintest_environment.html +++ b/doc/plugintest_environment.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> @@ -35,14 +35,14 @@ environment it's given by nose.</p> <blockquote> <div class="highlight"><pre><span class="gp">>>> </span><span class="k">class</span> <span class="nc">PrintEnvPlugin</span><span class="p">(</span><span class="n">Plugin</span><span class="p">):</span> <span class="gp">... </span> <span class="n">name</span> <span class="o">=</span> <span class="s">"print-env"</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="c"># no command line arg needed to activate plugin</span> <span class="gp">... </span> <span class="n">enabled</span> <span class="o">=</span> <span class="bp">True</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">configure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="n">conf</span><span class="p">):</span> <span class="gp">... </span> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">can_configure</span><span class="p">:</span> <span class="gp">... </span> <span class="k">return</span> <span class="gp">... </span> <span class="bp">self</span><span class="o">.</span><span class="n">conf</span> <span class="o">=</span> <span class="n">conf</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">options</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parser</span><span class="p">,</span> <span class="n">env</span><span class="o">=</span><span class="p">{}):</span> <span class="gp">... </span> <span class="k">print</span> <span class="s">"env:"</span><span class="p">,</span> <span class="n">env</span> </pre></div> @@ -54,7 +54,7 @@ can test the cases where that is used as the default.</p> <div class="highlight"><pre><span class="gp">>>> </span><span class="n">old_config</span> <span class="o">=</span> <span class="n">nose</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">Config</span> </pre></div> <div class="highlight"><pre><span class="gp">>>> </span><span class="k">class</span> <span class="nc">PrintArgvConfig</span><span class="p">(</span><span class="n">old_config</span><span class="p">):</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">configure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">argv</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">doc</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span> <span class="gp">... </span> <span class="k">print</span> <span class="s">"argv:"</span><span class="p">,</span> <span class="n">argv</span> <span class="gp">... </span> <span class="n">old_config</span><span class="o">.</span><span class="n">configure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">argv</span><span class="p">,</span> <span class="n">doc</span><span class="p">)</span> @@ -71,7 +71,7 @@ subclassing.</p> <span class="gp">... </span> <span class="n">FailureDetail</span><span class="p">(),</span> <span class="gp">... </span> <span class="n">Capture</span><span class="p">(),</span> <span class="gp">... </span> <span class="p">]</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">makeSuite</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="gp">... </span> <span class="k">return</span> <span class="n">unittest</span><span class="o">.</span><span class="n">TestSuite</span><span class="p">(</span><span class="n">tests</span><span class="o">=</span><span class="p">[])</span> </pre></div> @@ -118,12 +118,13 @@ If <tt class="docutils literal"><span class="pre">env</span></tt> is not overrid </blockquote> <p><tt class="docutils literal"><span class="pre">nose.plugins.plugintest.run()</span></tt> should work analogously.</p> <blockquote> -<div class="highlight"><pre><span class="gp">>>> </span><span class="k">from</span> <span class="nn">nose.plugins.plugintest</span> <span class="k">import</span> <span class="n">run</span> +<div class="highlight"><pre><span class="gp">>>> </span><span class="k">from</span> <span class="nn">nose.plugins.plugintest</span> <span class="k">import</span> <span class="n">run_buffered</span> <span class="k">as</span> <span class="n">run</span> </pre></div> <div class="highlight"><pre><span class="gp">>>> </span><span class="n">run</span><span class="p">(</span><span class="n">suite</span><span class="o">=</span><span class="n">unittest</span><span class="o">.</span><span class="n">TestSuite</span><span class="p">(</span><span class="n">tests</span><span class="o">=</span><span class="p">[]),</span> <span class="gp">... </span> <span class="n">plugins</span><span class="o">=</span><span class="p">[</span><span class="n">PrintEnvPlugin</span><span class="p">()])</span> <span class="c"># doctest: +REPORT_NDIFF</span> <span class="go">argv: ['nosetests', '-v']</span> <span class="go">env: {}</span> +<span class="go"><BLANKLINE></span> <span class="go">----------------------------------------------------------------------</span> <span class="go">Ran 0 tests in ...s</span> <span class="go"><BLANKLINE></span> @@ -134,6 +135,7 @@ If <tt class="docutils literal"><span class="pre">env</span></tt> is not overrid <span class="gp">... </span> <span class="n">plugins</span><span class="o">=</span><span class="p">[</span><span class="n">PrintEnvPlugin</span><span class="p">()])</span> <span class="c"># doctest: +REPORT_NDIFF</span> <span class="go">argv: ['nosetests', '-v']</span> <span class="go">env: {}</span> +<span class="go"><BLANKLINE></span> <span class="go">----------------------------------------------------------------------</span> <span class="go">Ran 0 tests in ...s</span> <span class="go"><BLANKLINE></span> @@ -144,6 +146,7 @@ If <tt class="docutils literal"><span class="pre">env</span></tt> is not overrid <span class="gp">... </span> <span class="n">plugins</span><span class="o">=</span><span class="p">[</span><span class="n">PrintEnvPlugin</span><span class="p">()])</span> <span class="c"># doctest: +REPORT_NDIFF</span> <span class="go">argv: ['nosetests', '-v']</span> <span class="go">env: {'foo': 'bar'}</span> +<span class="go"><BLANKLINE></span> <span class="go">----------------------------------------------------------------------</span> <span class="go">Ran 0 tests in ...s</span> <span class="go"><BLANKLINE></span> @@ -157,6 +160,7 @@ If <tt class="docutils literal"><span class="pre">env</span></tt> is not overrid <span class="gp">... </span> <span class="n">plugins</span><span class="o">=</span><span class="p">[</span><span class="n">PrintEnvPlugin</span><span class="p">()])</span> <span class="c"># doctest: +REPORT_NDIFF</span> <span class="go">argv: ['spam']</span> <span class="go">env: {}</span> +<span class="go"><BLANKLINE></span> <span class="go">----------------------------------------------------------------------</span> <span class="go">Ran 0 tests in ...s</span> <span class="go"><BLANKLINE></span> @@ -173,6 +177,7 @@ If <tt class="docutils literal"><span class="pre">env</span></tt> is not overrid <span class="gp">... </span> <span class="n">suite</span><span class="o">=</span><span class="n">unittest</span><span class="o">.</span><span class="n">TestSuite</span><span class="p">(</span><span class="n">tests</span><span class="o">=</span><span class="p">[]))</span> <span class="c"># doctest: +REPORT_NDIFF</span> <span class="go">argv: ['nosetests', '-v']</span> <span class="go">env: {'foo': 'bar'}</span> +<span class="go"><BLANKLINE></span> <span class="go">----------------------------------------------------------------------</span> <span class="go">Ran 0 tests in ...s</span> <span class="go"><BLANKLINE></span> diff --git a/doc/selector_plugin.html b/doc/selector_plugin.html index 85e5050..ef3cef2 100644 --- a/doc/selector_plugin.html +++ b/doc/selector_plugin.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> @@ -24,16 +24,23 @@ object is selected as a test.</p> older projects with a different test naming scheme. Fortunately, you can easily override this behavior by providing a custom selector using a plugin.</p> +<blockquote> +<div class="highlight"><pre><span class="gp">>>> </span><span class="k">import</span> <span class="nn">os</span> +<span class="gp">>>> </span><span class="n">support</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">__file__</span><span class="p">),</span> <span class="s">'support'</span><span class="p">)</span> +</pre></div> +</blockquote> <p>In this example, the project to be tested consists of a module and -package and associated tests, layed out like this:</p> +package and associated tests, laid out like this:</p> <pre class="literal-block"> +>>> from nose.util import ls_tree +>>> print ls_tree(support) |-- mymodule.py |-- mypackage | |-- __init__.py -| |-- math -| | |-- __init__.py -| | `-- basic.py -| `-- strings.py +| |-- strings.py +| `-- math +| |-- __init__.py +| `-- basic.py `-- tests |-- testlib.py |-- math @@ -43,12 +50,6 @@ package and associated tests, layed out like this:</p> `-- strings `-- cat.py </pre> -<p>The project is located in the <tt class="docutils literal"><span class="pre">support</span></tt> directory next to this test file.</p> -<blockquote> -<div class="highlight"><pre><span class="gp">>>> </span><span class="k">import</span> <span class="nn">os</span> -<span class="gp">>>> </span><span class="n">support</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">__file__</span><span class="p">),</span> <span class="s">'support'</span><span class="p">)</span> -</pre></div> -</blockquote> <p>Because the test modules do not include <tt class="docutils literal"><span class="pre">test</span></tt> in their names, nose's default selector is unable to discover this project's tests.</p> <div class="note"> @@ -57,7 +58,7 @@ nose's default selector is unable to discover this project's tests.</p> output to remove timings, which will vary from run to run, and redirects the output to stdout.</p> <blockquote class="last"> -<div class="highlight"><pre><span class="gp">>>> </span><span class="k">from</span> <span class="nn">nose.plugins.plugintest</span> <span class="k">import</span> <span class="n">run</span> +<div class="highlight"><pre><span class="gp">>>> </span><span class="k">from</span> <span class="nn">nose.plugins.plugintest</span> <span class="k">import</span> <span class="n">run_buffered</span> <span class="k">as</span> <span class="n">run</span> </pre></div> </blockquote> </div> @@ -95,7 +96,7 @@ how they are named.</li> <span class="gp">... </span> <span class="k">def</span> <span class="nf">wantFile</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">filename</span><span class="p">):</span> <span class="gp">... </span> <span class="c"># we want python modules under tests/, except testlib</span> <span class="gp">... </span> <span class="n">parts</span> <span class="o">=</span> <span class="n">filename</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">sep</span><span class="p">)</span> -<span class="gp">... </span> <span class="n">base</span><span class="p">,</span> <span class="n">ext</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">parts</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span> +<span class="gp">... </span> <span class="n">base</span><span class="p">,</span> <span class="n">ext</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">parts</span><span class="p">[</span><span class="o">-</span><span class="mf">1</span><span class="p">])</span> <span class="gp">... </span> <span class="k">return</span> <span class="s">'tests'</span> <span class="ow">in</span> <span class="n">parts</span> <span class="ow">and</span> <span class="n">ext</span> <span class="o">==</span> <span class="s">'.py'</span> <span class="ow">and</span> <span class="n">base</span> <span class="o">!=</span> <span class="s">'testlib'</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">wantModule</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">module</span><span class="p">):</span> <span class="gp">... </span> <span class="c"># wantDirectory and wantFile above will ensure that</span> diff --git a/doc/unwanted_package.html b/doc/unwanted_package.html index 4483c5c..9b3a55b 100644 --- a/doc/unwanted_package.html +++ b/doc/unwanted_package.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> @@ -36,7 +36,7 @@ and an unwanted package called <tt class="docutils literal"><span class="pre">un output to remove timings, which will vary from run to run, and redirects the output to stdout.</p> <blockquote class="last"> -<div class="highlight"><pre><span class="gp">>>> </span><span class="k">from</span> <span class="nn">nose.plugins.plugintest</span> <span class="k">import</span> <span class="n">run</span> +<div class="highlight"><pre><span class="gp">>>> </span><span class="k">from</span> <span class="nn">nose.plugins.plugintest</span> <span class="k">import</span> <span class="n">run_buffered</span> <span class="k">as</span> <span class="n">run</span> </pre></div> </blockquote> </div> @@ -63,10 +63,10 @@ prevent nose from descending into the unwanted package.</p> <span class="gp">... </span> <span class="c"># no command line arg needed to activate plugin</span> <span class="gp">... </span> <span class="n">enabled</span> <span class="o">=</span> <span class="bp">True</span> <span class="gp">... </span> <span class="n">name</span> <span class="o">=</span> <span class="s">"unwanted-package"</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">configure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="n">conf</span><span class="p">):</span> <span class="gp">... </span> <span class="k">pass</span> <span class="c"># always on</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">wantDirectory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dirname</span><span class="p">):</span> <span class="gp">... </span> <span class="n">want</span> <span class="o">=</span> <span class="bp">None</span> <span class="gp">... </span> <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">dirname</span><span class="p">)</span> <span class="o">==</span> <span class="s">"unwanted_package"</span><span class="p">:</span> diff --git a/doc/writing_plugins.html b/doc/writing_plugins.html index e625d6c..95e1512 100644 --- a/doc/writing_plugins.html +++ b/doc/writing_plugins.html @@ -6,9 +6,9 @@ <body> <div id="menu"> - <p>This document covers nose version <b>0.10.1</b></p> - <p>Last update: <b>Fri Jan 4 10:06:23 2008</b></p> - <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> + <p>This document covers nose version <b>0.11.0</b></p> + <p>Last update: <b>Mon Sep 1 12:17:45 2008</b></p> + <h2>Plugins</h2><ul><li><a href="plugin_attrib.html">Builtin Plugin: attrib</a></li><li><a href="plugin_capture.html">Builtin Plugin: capture</a></li><li><a href="plugin_cover.html">Builtin Plugin: cover</a></li><li><a href="plugin_debug.html">Builtin Plugin: debug</a></li><li><a href="plugin_deprecated.html">Builtin Plugin: deprecated</a></li><li><a href="plugin_doctests.html">Builtin Plugin: doctests</a></li><li><a href="plugin_failuredetail.html">Builtin Plugin: failuredetail</a></li><li><a href="plugin_isolate.html">Builtin Plugin: isolate</a></li><li><a href="plugin_logcapture.html">Builtin Plugin: logcapture</a></li><li><a href="plugin_multiprocess.html">Builtin Plugin: multiprocess</a></li><li><a href="plugin_prof.html">Builtin Plugin: prof</a></li><li><a href="plugin_skip.html">Builtin Plugin: skip</a></li><li><a href="plugin_testid.html">Builtin Plugin: testid</a></li><li><a href="error_class_plugin.html">ErrorClass Plugins</a></li><li><a href="plugin_interface.html">Plugin Interface</a></li><li><a href="writing_plugins.html">Writing Plugins</a></li></ul><h2>Modules</h2><ul><li><a href="module_nose.case.html">Module: nose.case</a></li><li><a href="module_nose.commands.html">Module: nose.commands</a></li><li><a href="module_nose.config.html">Module: nose.config</a></li><li><a href="module_nose.core.html">Module: nose.core</a></li><li><a href="module_nose.exc.html">Module: nose.exc</a></li><li><a href="module_nose.failure.html">Module: nose.failure</a></li><li><a href="module_nose.importer.html">Module: nose.importer</a></li><li><a href="module_nose.inspector.html">Module: nose.inspector</a></li><li><a href="module_nose.loader.html">Module: nose.loader</a></li><li><a href="module_nose.plugins.manager.html">Module: nose.plugins.manager</a></li><li><a href="module_nose.plugins.plugintest.html">Module: nose.plugins.plugintest</a></li><li><a href="module_nose.proxy.html">Module: nose.proxy</a></li><li><a href="module_nose.result.html">Module: nose.result</a></li><li><a href="module_nose.selector.html">Module: nose.selector</a></li><li><a href="module_nose.suite.html">Module: nose.suite</a></li><li><a href="module_nose.tools.html">Module: nose.tools</a></li><li><a href="module_nose.twistedtools.html">Module: nose.twistedtools</a></li><li><a href="module_nose.util.html">Module: nose.util</a></li></ul><h2>Plugin Examples</h2><ul><li><a href="doctest_fixtures.html">Doctest Fixtures</a></li><li><a href="unwanted_package.html">Excluding Unwanted Packages</a></li><li><a href="errorclass_failure.html">Failure of Errorclasses</a></li><li><a href="imported_tests.html">Importing Tests</a></li><li><a href="empty_plugin.html">Minimal plugin</a></li><li><a href="multiprocess.html">Parallel Testing with nose</a></li><li><a href="restricted_plugin_options.html">Restricted Plugin Managers</a></li><li><a href="init_plugin.html">Running Initialization Code Before the Test Run</a></li><li><a href="selector_plugin.html">Using a Custom Selector</a></li><li><a href="plugin_exceptions.html">When Plugins Fail</a></li><li><a href="plugintest_environment.html">nose.plugins.plugintest, os.environ and sys.argv</a></li></ul> </div> @@ -20,8 +20,8 @@ reporting. There are two basic rules for plugins:</p> <ul class="simple"> <li>Plugin classes should subclass <a class="reference" href="http://python-nose.googlecode.com/svn/trunk/nose/plugins/base.py">nose.plugins.Plugin</a>.</li> <li>Plugins may implement any of the methods described in the class -<a class="reference" href="plugin_interface.html">PluginInterface</a> in nose.plugins.base. Please note that this class is for -documentary purposes only; plugins may not subclass PluginInterface.</li> +<a class="reference" href="i_plugin_interface.html">IPluginInterface</a> in nose.plugins.base. Please note that this class is for +documentary purposes only; plugins may not subclass IPluginInterface.</li> </ul> <div class="section"> <h1><a id="registering" name="registering">Registering</a></h1> @@ -138,7 +138,7 @@ designed to test plugins in their native runtime environment.</p> <span class="gp">... </span> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="p">:</span> <span class="gp">... </span> <span class="c"># i.e. check for patterns</span> <span class="gp">... </span> <span class="k">pass</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="c"># or check for a line containing ...</span> <span class="gp">... </span> <span class="k">assert</span> <span class="s">"ValueError"</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">output</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">makeSuite</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> @@ -146,7 +146,7 @@ designed to test plugins in their native runtime environment.</p> <span class="gp">... </span> <span class="k">def</span> <span class="nf">runTest</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="gp">... </span> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s">"I hate foo"</span><span class="p">)</span> <span class="gp">... </span> <span class="k">return</span> <span class="n">unittest</span><span class="o">.</span><span class="n">TestSuite</span><span class="p">([</span><span class="n">TC</span><span class="p">()])</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">>>> </span><span class="n">res</span> <span class="o">=</span> <span class="n">unittest</span><span class="o">.</span><span class="n">TestResult</span><span class="p">()</span> <span class="gp">>>> </span><span class="n">case</span> <span class="o">=</span> <span class="n">TestPluginFoo</span><span class="p">(</span><span class="s">'test_foo'</span><span class="p">)</span> <span class="gp">>>> </span><span class="n">case</span><span class="p">(</span><span class="n">res</span><span class="p">)</span> @@ -171,26 +171,26 @@ arguments and reads environment variables.</p> <span class="gp">... </span> <span class="n">Plugin</span><span class="o">.</span><span class="n">configure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="n">conf</span><span class="p">)</span> <span class="gp">... </span> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">enabled</span><span class="p">:</span> <span class="gp">... </span> <span class="k">return</span> -<span class="gp">... </span> <span class="bp">self</span><span class="o">.</span><span class="n">fanciness</span> <span class="o">=</span> <span class="mi">1</span> +<span class="gp">... </span> <span class="bp">self</span><span class="o">.</span><span class="n">fanciness</span> <span class="o">=</span> <span class="mf">1</span> <span class="gp">... </span> <span class="k">if</span> <span class="n">options</span><span class="o">.</span><span class="n">more_fancy</span><span class="p">:</span> -<span class="gp">... </span> <span class="bp">self</span><span class="o">.</span><span class="n">fanciness</span> <span class="o">=</span> <span class="mi">2</span> +<span class="gp">... </span> <span class="bp">self</span><span class="o">.</span><span class="n">fanciness</span> <span class="o">=</span> <span class="mf">2</span> <span class="gp">... </span> <span class="k">if</span> <span class="s">'EVEN_FANCIER'</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">env</span><span class="p">:</span> -<span class="gp">... </span> <span class="bp">self</span><span class="o">.</span><span class="n">fanciness</span> <span class="o">=</span> <span class="mi">3</span> -<span class="go">...</span> +<span class="gp">... </span> <span class="bp">self</span><span class="o">.</span><span class="n">fanciness</span> <span class="o">=</span> <span class="mf">3</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">options</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parser</span><span class="p">,</span> <span class="n">env</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">):</span> <span class="gp">... </span> <span class="bp">self</span><span class="o">.</span><span class="n">env</span> <span class="o">=</span> <span class="n">env</span> <span class="gp">... </span> <span class="n">parser</span><span class="o">.</span><span class="n">add_option</span><span class="p">(</span><span class="s">'--more-fancy'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s">'store_true'</span><span class="p">)</span> <span class="gp">... </span> <span class="n">Plugin</span><span class="o">.</span><span class="n">options</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parser</span><span class="p">,</span> <span class="n">env</span><span class="o">=</span><span class="n">env</span><span class="p">)</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">report</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stream</span><span class="p">):</span> <span class="gp">... </span> <span class="n">stream</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"FANCY "</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">fanciness</span><span class="p">)</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">>>> </span><span class="k">class</span> <span class="nc">TestFancyOutputter</span><span class="p">(</span><span class="n">PluginTester</span><span class="p">,</span> <span class="n">unittest</span><span class="o">.</span><span class="n">TestCase</span><span class="p">):</span> <span class="gp">... </span> <span class="n">activate</span> <span class="o">=</span> <span class="s">'--with-fancy'</span> <span class="c"># enables the plugin</span> <span class="gp">... </span> <span class="n">plugins</span> <span class="o">=</span> <span class="p">[</span><span class="n">FancyOutputter</span><span class="p">()]</span> <span class="gp">... </span> <span class="n">args</span> <span class="o">=</span> <span class="p">[</span><span class="s">'--more-fancy'</span><span class="p">]</span> <span class="gp">... </span> <span class="n">env</span> <span class="o">=</span> <span class="p">{</span><span class="s">'EVEN_FANCIER'</span><span class="p">:</span> <span class="s">'1'</span><span class="p">}</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">... </span> <span class="k">def</span> <span class="nf">test_fancy_output</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="gp">... </span> <span class="k">assert</span> <span class="s">"FANCY FANCY FANCY"</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="p">,</span> <span class="p">(</span> <span class="gp">... </span> <span class="s">"got: </span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">output</span><span class="p">)</span> @@ -199,7 +199,7 @@ arguments and reads environment variables.</p> <span class="gp">... </span> <span class="k">def</span> <span class="nf">runTest</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="gp">... </span> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s">"I hate fancy stuff"</span><span class="p">)</span> <span class="gp">... </span> <span class="k">return</span> <span class="n">unittest</span><span class="o">.</span><span class="n">TestSuite</span><span class="p">([</span><span class="n">TC</span><span class="p">()])</span> -<span class="go">...</span> +<span class="gp">...</span> <span class="gp">>>> </span><span class="n">res</span> <span class="o">=</span> <span class="n">unittest</span><span class="o">.</span><span class="n">TestResult</span><span class="p">()</span> <span class="gp">>>> </span><span class="n">case</span> <span class="o">=</span> <span class="n">TestFancyOutputter</span><span class="p">(</span><span class="s">'test_fancy_output'</span><span class="p">)</span> <span class="gp">>>> </span><span class="n">case</span><span class="p">(</span><span class="n">res</span><span class="p">)</span> |