[Python-modules-commits] [nose2] 02/16: Import nose2_0.7.3.orig.tar.gz

Pierre-Elliott Bécue peb-guest at moszumanska.debian.org
Sat Dec 23 18:32:35 UTC 2017


This is an automated email from the git hooks/post-receive script.

peb-guest pushed a commit to branch master
in repository nose2.

commit 9932a698755a353ea9f6d806c5ca7afca16a0d00
Author: Pierre-Elliott Bécue <becue at crans.org>
Date:   Fri Dec 22 23:46:54 2017 +0100

    Import nose2_0.7.3.orig.tar.gz
---
 MANIFEST.in                                        |   5 +-
 PKG-INFO                                           |  76 ++++--
 README.rst                                         |  68 ++++--
 docs/changelog.rst                                 |  45 +++-
 docs/conf.py                                       | 227 ++----------------
 docs/configuration.rst                             |   6 +
 docs/dev/compat.rst                                |   6 -
 docs/dev/contributing.rst                          | 151 ++++++++----
 docs/dev/hook_reference.rst                        |  64 +++++
 docs/dev/internals.rst                             |   1 -
 docs/dev/writing_plugins.rst                       |   2 +-
 docs/differences.rst                               |   8 +-
 docs/getting_started.rst                           |   9 +-
 docs/plugins.rst                                   |  11 +-
 docs/plugins/layers.rst                            |  90 +++----
 docs/plugins/mp.rst                                |   2 +-
 docs/such_dsl.rst                                  |   2 +-
 nose2.egg-info/PKG-INFO                            |  76 ++++--
 nose2.egg-info/SOURCES.txt                         |  40 +++-
 nose2.egg-info/entry_points.txt                    |   2 +-
 nose2.egg-info/requires.txt                        |  39 ++-
 nose2/_version.py                                  |   4 +-
 nose2/backports/ordereddict.py                     | 264 ---------------------
 nose2/compat.py                                    |  37 ---
 nose2/events.py                                    | 157 +++++++++++-
 nose2/exceptions.py                                |   5 +
 nose2/loader.py                                    |   3 +-
 nose2/main.py                                      |   2 +-
 nose2/plugins/buffer.py                            |  50 +++-
 nose2/plugins/collect.py                           |   4 +-
 nose2/plugins/coverage.py                          |  75 ++++--
 nose2/plugins/junitxml.py                          |  91 +++++--
 nose2/plugins/layers.py                            | 233 ++++++++++++------
 nose2/plugins/loader/discovery.py                  |  13 +-
 nose2/plugins/loader/functions.py                  |  16 +-
 nose2/plugins/loader/generators.py                 |   9 +-
 nose2/plugins/loader/parameters.py                 |  16 +-
 nose2/plugins/loader/testcases.py                  |   5 +-
 nose2/plugins/loader/testclasses.py                |  12 +-
 nose2/plugins/mp.py                                | 130 ++++++----
 nose2/plugins/prof.py                              |   6 +
 nose2/plugins/result.py                            |   2 +-
 nose2/session.py                                   |  11 +-
 nose2/suite.py                                     |  57 ++++-
 nose2/tests/_common.py                             |   8 +-
 .../functional/support/lib/layer_hooks_plugin.py   |  34 +++
 .../coverage_of_imports/lib20171102/__init__.py    |   6 +
 .../coverage_of_imports/lib20171102/mod1.py        |  15 ++
 .../coverage_of_imports/test_import_coverage.py    |  11 +
 .../expected_failures/expected_failures.py         |   8 +-
 .../scenario/junitxml/chdir/test_junitxml_chdir.py |   3 +-
 .../support/scenario/layers/test_layers.py         |   4 +-
 .../test_layers_and_attributes.py                  |   2 +-
 .../scenario/layers_and_non_layers}/__init__.py    |   0
 .../scenario/layers_and_non_layers/common.py       |  60 +++++
 .../scenario/layers_and_non_layers/test_layers.py  |  67 ++++++
 .../test_such_with_has_setup.py                    |  24 ++
 .../test_such_with_uses_decorator.py               |  51 ++++
 .../scenario/layers_hooks/test_layers_simple.py    |  53 +++++
 .../scenario/layers_hooks/test_simple_such.py      |   9 +
 .../layers_with_errors/test_layers_with_errors.py  |   2 +-
 .../test_layers_with_inheritance.py                |   2 +-
 .../scenario/module_import_err/pkg}/__init__.py    |   0
 .../module_import_err/pkg/test_attribute_err.py    |  11 +
 .../module_import_err/pkg/test_import_err.py       |  13 +
 .../test_coverage_config/coveragerc/.coveragerc    |   2 +
 .../coveragerc/covered_lib_coveragerc}/__init__.py |   0
 .../coveragerc/covered_lib_coveragerc/mod1.py      |  10 +
 .../coveragerc/test_coveragerc.py                  |   8 +
 .../nose2cfg/covered_lib_nose2cfg}/__init__.py     |   0
 .../nose2cfg/covered_lib_nose2cfg/mod1.py          |  10 +
 .../test_coverage_config/nose2cfg/nose2.cfg        |   2 +
 .../test_coverage_config/nose2cfg/test_nose2cfg.py |   8 +
 .../tests_in_package/pkg1/test/test_things.py      |   5 +-
 .../pkgunegg/test/test_things.py                   |   5 +-
 .../functional/support/such/test_such_timing.py    |  50 ++++
 nose2/tests/functional/test_coverage.py            |  88 +++++--
 nose2/tests/functional/test_layers_hooks.py        | 132 +++++++++++
 nose2/tests/functional/test_layers_plugin.py       |  13 +-
 nose2/tests/functional/test_loading.py             |  63 ++++-
 nose2/tests/functional/test_mp_plugin.py           |  34 ++-
 nose2/tests/functional/test_session.py             |  30 +++
 nose2/tests/functional/test_such_dsl.py            |   7 +
 nose2/tests/functional/test_util.py                |  16 ++
 nose2/tests/unit/test_buffer_plugin.py             |  35 ++-
 nose2/tests/unit/test_collector.py                 |   2 +-
 nose2/tests/unit/test_config.py                    |   2 +-
 nose2/tests/unit/test_failfast.py                  |   2 +-
 nose2/tests/unit/test_functions_loader.py          |   2 +-
 nose2/tests/unit/test_junitxml.py                  |  63 ++++-
 nose2/tests/unit/test_layers_plugin.py             | 128 +++++++++-
 nose2/tests/unit/test_mp_plugin.py                 |  17 ++
 nose2/tests/unit/test_session.py                   |   2 +-
 nose2/tools/such.py                                |  37 +--
 nose2/util.py                                      | 156 +++++++++---
 requirements-2.7.txt                               |   1 +
 requirements-3.2.txt                               |   1 +
 .../backports/__init__.py => requirements-3.3.txt  |   0
 .../backports/__init__.py => requirements-3.4.txt  |   0
 .../backports/__init__.py => requirements-3.5.txt  |   0
 .../backports/__init__.py => requirements-3.6.txt  |   0
 .../backports/__init__.py => requirements-3.7.txt  |   0
 requirements-docs.txt                              |   4 +-
 requirements-py26.txt                              |   5 -
 requirements-pypy2.7.txt                           |   1 +
 requirements-pypy3.2.txt                           |   1 +
 requirements-pypy3.3.txt                           |   1 +
 .../__init__.py => requirements-pypy3.5.txt        |   0
 requirements.txt                                   |   2 +-
 setup.cfg                                          |   1 -
 setup.py                                           |  43 +++-
 tox.ini                                            |  38 +--
 112 files changed, 2424 insertions(+), 1118 deletions(-)

diff --git a/MANIFEST.in b/MANIFEST.in
index 4014291..68f3140 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,12 +1,11 @@
 include AUTHORS
 include requirements.txt
-include requirements-py26.txt
-include requirements-docs.txt
+include requirements-*.txt
 include tox.ini
 include unittest.cfg
 include README.rst
 include license.txt
-recursive-include nose2/tests/functional/support *.py *.txt *.cfg *.rst *.json *.egg
+recursive-include nose2/tests/functional/support *.py *.txt *.cfg *.rst *.json *.egg .coveragerc
 recursive-include docs *.inc *.py *.rst Makefile
 graft bin
 global-exclude __pycache__
diff --git a/PKG-INFO b/PKG-INFO
index 0f75368..b73095c 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,11 +1,12 @@
-Metadata-Version: 1.0
+Metadata-Version: 1.1
 Name: nose2
-Version: 0.6.5
+Version: 0.7.3
 Summary: nose2 is the next generation of nicer testing for Python
 Home-page: https://github.com/nose-devs/nose2
 Author: Jason Pellerin
 Author-email: jpellerin+nose at gmail.com
 License: UNKNOWN
+Description-Content-Type: UNKNOWN
 Description: .. image:: https://travis-ci.org/nose-devs/nose2.png?branch=master
             :target: https://travis-ci.org/nose-devs/nose2
             :alt: Build Status
@@ -18,23 +19,24 @@ Description: .. image:: https://travis-ci.org/nose-devs/nose2.png?branch=master
            :target: https://landscape.io/github/nose-devs/nose2/master
            :alt: Code Health
             
-        .. image:: https://pypip.in/v/nose2/badge.png
-            :target: https://crate.io/packages/nose2/
+        .. image:: https://img.shields.io/pypi/v/nose2.svg
+            :target: https://pypi.org/project/nose2/
             :alt: Latest PyPI version
         
-        .. image:: https://pypip.in/d/nose2/badge.png
-            :target: https://crate.io/packages/nose2/
-            :alt: Number of PyPI downloads
-            
         .. image:: https://www.versioneye.com/user/projects/52037a30632bac57a00257ea/badge.png
             :target: https://www.versioneye.com/user/projects/52037a30632bac57a00257ea/
             :alt: Dependencies Status    
         
+        .. image:: https://badges.gitter.im/gitterHQ/gitter.png
+            :target: https://gitter.im/nose2
+            :alt: Gitter Channel
+        
         Welcome to nose2
         ================
         
-        nose2 is the next generation of nicer testing for Python, based
-        on the plugins branch of unittest2. nose2 aims to improve on nose by:
+        **Note**: As of 0.7.0 we no longer support 2.6, 3.2, or 3.3. We also removed ``nose2.compat``.
+        
+        ``nose2`` aims to improve on nose by:
         
          * providing a better plugin api
          * being easier for users to configure
@@ -42,18 +44,51 @@ Description: .. image:: https://travis-ci.org/nose-devs/nose2.png?branch=master
          * supporting Python 2 and 3 from the same codebase, without translation
          * encouraging greater community involvement in its development
         
-        In service of some those goals, some features of nose *will not* be
-        supported in nose2. See `differences`_ for a thorough rundown.
+        In service of some those goals, some features of ``nose`` *are not*
+        supported in ``nose2``. See `differences`_ for a thorough rundown.
+        
+        Workflow
+        --------
+        
+        If you want to make contributions, you can use the ``Makefile`` to get started
+        quickly and easily::
+        
+            # All you need is a supported version of python and virtualenv installed
+            make test
+        
+        tox will run our full test suite
+        against all supported version of python that you have installed locally.
+        Don't worry if you don't have all supported versions installed.
+        Your changes will get tested automatically when you make a PR.
+        
+        Use ``make help`` to see other options.
+        
+        Original Mission & Present Goals
+        --------------------------------
+        
+        When ``nose2`` was first written, the plan for its future was to wait for
+        ``unittest2`` plugins to be released (``nose2`` is actually based on the
+        plugins branch of ``unittest2``).
+        Once that was done, ``nose2`` was to become a set of plugins and default
+        configuration for ``unittest2``.
+        
+        However, based on the current status of ``unittest2``, it is doubtful that this
+        plan will ever be carried out.
+        
+        Current Goals
+        ~~~~~~~~~~~~~
+        
+        Even though ``unittest2`` plugins never arrived, ``nose2`` is still being
+        maintained!
+        We have a small community interested in continuing to work on and use ``nose2``
         
-        In time -- once unittest2 supports plugins -- nose2 should be able to
-        become just a collection of plugins and configuration defaults. For
-        now, it provides a plugin api similar to the one in the unittest2
-        plugins branch, and overrides various unittest2 objects.
+        However, given the current climate, with much more interest accruing around
+        `pytest`_, ``nose2`` is prioritizing bugfixes and maintenance ahead of new
+        feature development.
         
-        You are witnesses at the new birth of nose, mark 2. Hope you enjoy our
-        new direction!
+        .. _differences: https://nose2.readthedocs.io/en/latest/differences.html
         
-        .. _differences: http://readthedocs.org/docs/nose2/en/latest/differences.html
+        .. _pytest: http://pytest.readthedocs.io/en/latest/
         
 Keywords: unittest,testing,tests
 Platform: UNKNOWN
@@ -62,12 +97,11 @@ Classifier: Environment :: Console
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved :: BSD License
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3.2
 Classifier: Programming Language :: Python :: 3.3
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Operating System :: OS Independent
diff --git a/README.rst b/README.rst
index b82c653..4ba6f61 100644
--- a/README.rst
+++ b/README.rst
@@ -10,23 +10,24 @@
    :target: https://landscape.io/github/nose-devs/nose2/master
    :alt: Code Health
     
-.. image:: https://pypip.in/v/nose2/badge.png
-    :target: https://crate.io/packages/nose2/
+.. image:: https://img.shields.io/pypi/v/nose2.svg
+    :target: https://pypi.org/project/nose2/
     :alt: Latest PyPI version
 
-.. image:: https://pypip.in/d/nose2/badge.png
-    :target: https://crate.io/packages/nose2/
-    :alt: Number of PyPI downloads
-    
 .. image:: https://www.versioneye.com/user/projects/52037a30632bac57a00257ea/badge.png
     :target: https://www.versioneye.com/user/projects/52037a30632bac57a00257ea/
     :alt: Dependencies Status    
 
+.. image:: https://badges.gitter.im/gitterHQ/gitter.png
+    :target: https://gitter.im/nose2
+    :alt: Gitter Channel
+
 Welcome to nose2
 ================
 
-nose2 is the next generation of nicer testing for Python, based
-on the plugins branch of unittest2. nose2 aims to improve on nose by:
+**Note**: As of 0.7.0 we no longer support 2.6, 3.2, or 3.3. We also removed ``nose2.compat``.
+
+``nose2`` aims to improve on nose by:
 
  * providing a better plugin api
  * being easier for users to configure
@@ -34,15 +35,48 @@ on the plugins branch of unittest2. nose2 aims to improve on nose by:
  * supporting Python 2 and 3 from the same codebase, without translation
  * encouraging greater community involvement in its development
 
-In service of some those goals, some features of nose *will not* be
-supported in nose2. See `differences`_ for a thorough rundown.
+In service of some those goals, some features of ``nose`` *are not*
+supported in ``nose2``. See `differences`_ for a thorough rundown.
+
+Workflow
+--------
+
+If you want to make contributions, you can use the ``Makefile`` to get started
+quickly and easily::
+
+    # All you need is a supported version of python and virtualenv installed
+    make test
+
+tox will run our full test suite
+against all supported version of python that you have installed locally.
+Don't worry if you don't have all supported versions installed.
+Your changes will get tested automatically when you make a PR.
+
+Use ``make help`` to see other options.
+
+Original Mission & Present Goals
+--------------------------------
+
+When ``nose2`` was first written, the plan for its future was to wait for
+``unittest2`` plugins to be released (``nose2`` is actually based on the
+plugins branch of ``unittest2``).
+Once that was done, ``nose2`` was to become a set of plugins and default
+configuration for ``unittest2``.
+
+However, based on the current status of ``unittest2``, it is doubtful that this
+plan will ever be carried out.
+
+Current Goals
+~~~~~~~~~~~~~
+
+Even though ``unittest2`` plugins never arrived, ``nose2`` is still being
+maintained!
+We have a small community interested in continuing to work on and use ``nose2``
 
-In time -- once unittest2 supports plugins -- nose2 should be able to
-become just a collection of plugins and configuration defaults. For
-now, it provides a plugin api similar to the one in the unittest2
-plugins branch, and overrides various unittest2 objects.
+However, given the current climate, with much more interest accruing around
+`pytest`_, ``nose2`` is prioritizing bugfixes and maintenance ahead of new
+feature development.
 
-You are witnesses at the new birth of nose, mark 2. Hope you enjoy our
-new direction!
+.. _differences: https://nose2.readthedocs.io/en/latest/differences.html
 
-.. _differences: http://readthedocs.org/docs/nose2/en/latest/differences.html
+.. _pytest: http://pytest.readthedocs.io/en/latest/
diff --git a/docs/changelog.rst b/docs/changelog.rst
index fe986c5..0888952 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -1,23 +1,52 @@
 Changelog
 =========
 
-0.6.5
+0.7.3
 -----
+* Fixed
+  * Tests failing due to .coveragerc not in MANIFEST
 
-* Added
-    * module version number as described in PEP 396
+Added support for python 3.6.
+
+0.7.2
+-----
+* Fixed
+  * Proper indentation of test with docstring in layers 
+  * MP plugin now calls startSubprocess in subprocess
 
-0.6.4
+0.7.1
 -----
+(Built but never deployed.)
 
 * Fixed
-    * fix deadlock in mp plugin
+  * Automatically create .coverage file during coverage reporting
+  * Better handling of import failures
 
-0.6.3
+* Developer workflow changes
+    * Add Makefile to enable "quickstart" workflow
+    * Removed bootstrap.sh and test.sh
+
+0.7.0
 -----
 
-* Added
-    * python 3.5 support
+* BREAKING Dropped unsupported Python 2.6, 3.2, 3.3
+    * Added support for Python 3.4, 3.5
+    * ``nose2.compat`` is removed because it is no longer needed. If you have ``from nose2.compat import unittest`` in your code, you will need to replace it with ``import unittest``.
+
+* Replace cov-core with coverage plugin
+
+* Fixed
+    * Prevent crashing from UnicodeDecodeError
+    * Fix unicode stream encoding
+
+* Features
+    * Add layer fixture events and hooks
+    * junit-xml: add logs in "system-out"
+    * Give better error when cannot import a testname
+    * Give full exc_info to loader.failedLoadTests
+    * Better errors when tests fail to load
+    * Reduce the processes created in the MP plugin if there are not enough tests.
+    * Allow combination of MP and OutputBuffer plugins on Python 3
 
 0.6.2
 -----
diff --git a/docs/conf.py b/docs/conf.py
index 0e9d05f..5aa2f9d 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,221 +1,28 @@
-# -*- coding: utf-8 -*-
-#
-# nose2 documentation build configuration file, created by
-# sphinx-quickstart on Thu Oct  7 15:16:09 2010.
-#
-# This file is execfile()d with the current directory set to its containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
+import sys
+import os
+import sphinx_rtd_theme
 
-import sys, os
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
 sys.path.insert(0, os.path.abspath('..'))
-sys.path.append(os.path.abspath('_themes'))
-
-# -- General configuration -----------------------------------------------------
-
-# If your documentation needs a minimal Sphinx version, state it here.
-needs_sphinx = '1.0'
-
-# Add any Sphinx extension module names here, as strings. They can be extensions
-# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.intersphinx', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.ifconfig', 'sphinx.ext.viewcode', 'nose2.sphinxext']
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix of source filenames.
+extensions = ['sphinx.ext.autodoc',
+              'sphinx.ext.doctest',
+              'sphinx.ext.intersphinx',
+              'sphinx.ext.todo',
+              'sphinx.ext.coverage',
+              'sphinx.ext.ifconfig',
+              'sphinx.ext.viewcode',
+              'nose2.sphinxext']
 source_suffix = '.rst'
-
-# The encoding of source files.
-#source_encoding = 'utf-8-sig'
-
-# The master toctree document.
 master_doc = 'index'
-
-# General information about the project.
 project = u'nose2'
 copyright = u'2010, Jason Pellerin'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = '0.4'
-# The full version, including alpha/beta/rc tags.
-release = '0.4.7'
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
+version = '0.6'
+release = '0.6.0'
 exclude_patterns = ['_build']
-
-# The reST default role (used for this markup: `text`) to use for all documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
+templates_path = ['_templates']
 pygments_style = 'sphinx'
-
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-
-# -- Options for HTML output ---------------------------------------------------
-
-# The theme to use for HTML and HTML Help pages.  See the documentation for
-# a list of builtin themes.
-html_theme = 'default'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further.  For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-html_theme_path = ['_themes']
-
-# The name for this set of Sphinx documents.  If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar.  Default is the same as html_title.
-#html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-#html_static_path = ['_static']
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_domain_indices = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it.  The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'nose2doc'
-
-
-# -- Options for LaTeX output --------------------------------------------------
-
-# The paper size ('letter' or 'a4').
-#latex_paper_size = 'letter'
-
-# The font size ('10pt', '11pt' or '12pt').
-#latex_font_size = '10pt'
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, documentclass [howto/manual]).
-latex_documents = [
-  ('index', 'nose2.tex', u'nose2 Documentation',
-   u'Jason Pellerin', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# If true, show page references after internal links.
-#latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-#latex_show_urls = False
-
-# Additional stuff for the LaTeX preamble.
-#latex_preamble = ''
-
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
-
-# If false, no module index is generated.
-#latex_domain_indices = True
-
-
-# -- Options for manual page output --------------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
+html_theme = 'sphinx_rtd_theme'
+html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
 man_pages = [
     ('index', 'nose2', u'nose2 Documentation',
-     [u'Jason Pellerin'], 1)
-]
-
-
-# Example configuration for intersphinx: refer to the Python standard library.
+     [u'Jason Pellerin'], 1)]
 intersphinx_mapping = {'python': ('http://docs.python.org/', None)}
diff --git a/docs/configuration.rst b/docs/configuration.rst
index 9e87da0..ff95922 100644
--- a/docs/configuration.rst
+++ b/docs/configuration.rst
@@ -7,6 +7,11 @@ Configuration Files
 Most configuration of nose2 is done via config files. These are
 standard, .ini-style config files, with sections marked off by
 brackets ("``[unittest]``") and ``key = value`` pairs within those sections.
+When the value is a list, put each value into its own line with proper
+indentation ::
+
+    key_expecting_list = value1
+                         value2
 
 Two command line options, :option:`-c` and :option:`--no-user-config`
 may be used to determine which config files are loaded.
@@ -105,6 +110,7 @@ section in a config file.
    It bears repeating that in both :config:`plugins` and
    :config:`exclude-plugins` entries, you specify the plugin *module*,
    not the plugin *class*.
+   The module is specified by the (dot-separated) *fully qualified* name.
 
 Examples:
 
diff --git a/docs/dev/compat.rst b/docs/dev/compat.rst
deleted file mode 100644
index 2e2c6be..0000000
--- a/docs/dev/compat.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-============
-nose2.compat
-============
-
-.. automodule :: nose2.compat
-   :members:
diff --git a/docs/dev/contributing.rst b/docs/dev/contributing.rst
index 287406c..320c24a 100644
--- a/docs/dev/contributing.rst
+++ b/docs/dev/contributing.rst
@@ -1,12 +1,17 @@
 Contributing to nose2
 =====================
 
-Exhortation
------------
-
 Please do! nose2 cannot move forward without contributions from the
 testing community.
 
+If you're unsure how to get started, feel free to ask for help from the nose2
+community on `gitter <https://gitter.im/nose2>`_. We welcome contributors with
+all levels of experience.
+
+This document is a set of guidelines, not strict rules.
+Use your best judgement, and feel free to propose changes to this document
+in a pull request.
+
 The Basics
 ----------
 
@@ -17,54 +22,112 @@ development. This means:
 
 * Please report issues here: https://github.com/nose-devs/nose2/issues
 
-* Please make feature requests in the same place.
-
-* Please submit all patches as github pull requests.
-
-Get started
------------
+* Please make feature requests in the same place
 
-The ``bootstrap.sh`` script in the root of the nose2 distribution can be
-used to get a new local clone up and running quickly. It requires that
-you have `virtualenvwrapper`_ installed. Run this script once to set
-up a nose2 virtualenv, install nose2's dependencies, and set up the
-git submodule that pulls in the `Sphinx`_ theme that the docs use.
+* Please submit all patches as github pull requests
 
 Coding Guidelines
 -----------------
 
-Our style is `pep8`_ except: for consistency with unittest, please use CamelCase
-for class names, methods, attributes and function parameters that map
-directly to class attributes.
-
-Beyond style, the main rule is: *any patch that touches code must
-include tests.* And of course all tests must pass under all supported
-versions of Python.
-
-Fortunately that's easy to check: nose2 uses `tox`_ to manage its test
-scenarios, so simply running ``tox`` in nose2's root directory will
-run all of the tests with all supported python versions. When your
-patch gets all green, send a pull request!
-
-Merging Guidelines
-------------------
-
-The github Merge Button(tm) should be used only for trivial
-changes. Other merges, even those that can be automatically merged,
-should be merged manually, so that you have an opportunity to run
-tests on the merged changes before pushing them. When you merge
-manually, please use ``--no-ff`` so that we have a record of all
-merges.
-
-Also, core devs should not merge their own work -- again, unless it's
-trivial -- without giving other developers a chance to review it. The
-basic workflow should be to do the work in a topic branch in your fork
-then post a pull request for that branch, whether you're a core
-developer or other contributor.
+The main rule is: *any patch that touches code should include tests.*
+And of course all tests should pass under all supported versions of Python.
+
+If you aren't sure how to add tests, or you don't know why existing tests fail
+on your changes, submit your patch and ask for help testing it.
+
+Tests are easy to run. Just install `tox`_ (``pip install tox``), and run
+``tox`` in the nose2 root directory.
+
+Some additional tips for the python and documentation in this project.
+
+- Code should be `pep8`_ compliant
+- Where possible, write code which passes ``pyflakes`` linting (consider using
+  ``flake8`` to do ``pyflakes`` and ``pep8`` checking)
+- For consistency with ``unittest`` please use CamelCase for class names,
+  methods, attributes and function parameters that map directly to class
+  attributes.
+- Try to use raw strings for docstrings -- ensures that ReST won't be
+  confused by characters like ``\\``
+- For complex functionality, include sample usage in docstrings
+- Comment liberally, but don't comment on every line of code
+- Use examples very liberally in documentation
+- Use double-quotes for strings, except when quoting a string containing
+  double-quotes but not containing single quotes
+- Use absolute imports everywhere
+- Avoid circular imports whenever possible -- given the choice between adding
+  a new module or adding a circular import, add the new module
+- Import non-``nose2`` modules and packages before importing from within
+  ``nose2``
+- Think very hard before adding a new dependency -- keep the dependencies of
+  ``nose2`` as lightweight as possible
+
+Commit Messages
+~~~~~~~~~~~~~~~
+
+A few basic ground rules for what ideal commits should look like.
+
+- No lines over 72 characters
+- No GitHub emoji -- use your words
+- Reference issues and pull requests where appropriate
+- Prefer present tense and imperative mood
+  e.g. rather than "added feature foo" (past indicative)
+  or "adds feature foo" (present indicative)
+  the best option is "add feature foo" (present imperative)
+
+Workflow, Branching and Pull Requests
+-------------------------------------
+
+The basic workflow should be to do the work in a topic branch in your fork
+then post a pull request for that branch.
+
+Core devs should not merge their own work -- unless it's trivial -- without
+giving other developers a chance to review it.
+
+For any pull request,
+
+- *Make sure it meets the standards set in this document*
+- *Make sure it merges cleanly*
+- *List any issues closed by the pull request*
+- *Squash intermediate commits*. Consider using ``git rebase --interactive`` to
+  squash typo fixes, aborted implementations, etc.
+
+Reporting Bugs
+--------------
+
+The best bug reports are ones which:
+
+- *Check for duplicates*. Do a quick search to try to make sure you aren't
+  reporting a known bug
+- *Use a clear descriptive title*
+- *Explain what behavior you expected*.
+- *Provide a specific example of how to reproduce*. Example code, the
+  command(s) you ran, and anything else which may be relevant
+- *Include a stacktrace* where applicable
+
+In many cases, you can help by including the following information:
+
+- *What version of python are you running?*
+- *What OS and OS version are you running?* ``uname -a`` output helps, but
+  additional description like "Ubuntu Linux 17.10" may be useful too
+- *What other python packages do you have installed?* The best thing in this
+  case is to show us the results of ``pip freeze``
+
+If you are willing and able, *write a failing test*.
+
+Requesting Enhancements
+-----------------------
+
+When requesting new features,
+
+- *Say why you want it*. Focus more on the problem which needs to be solved
+  than the specifics of how to solve it
+- *Suggest what you think is the easiest implementation path*. If you have an
+  idea about how a feature could be implemented, write it down
+- *Volunteer to write it!* ``nose2`` is maintained as a community effort. If
+  you want a new feature, the best way to get it added is to write it
+  yourself!
 
 
 .. _github: https://github.com/
 .. _pep8: http://www.python.org/dev/peps/pep-0008/
 .. _tox: http://pypi.python.org/pypi/tox
-.. _virtualenvwrapper: http://pypi.python.org/pypi/virtualenvwrapper
-.. _Sphinx: http://sphinx.pocoo.org/
diff --git a/docs/dev/hook_reference.rst b/docs/dev/hook_reference.rst
index 7121ef0..5a34c86 100644
--- a/docs/dev/hook_reference.rst
+++ b/docs/dev/hook_reference.rst
@@ -166,6 +166,38 @@ These hooks are called for registered plugins only.
    To prevent the test executor from running at all, set
    ``event.handled`` to ``True``.
 
+.. function :: startLayerSetup(self, event)
+
+   :param event: A :class:`nose2.events.StartLayerSetupEvent` instance (only
+                 available in suites with layers).
+
+   Plugins can use this hook to take action before the start of the ``setUp``
+   in a layer.
+
+.. function :: stopLayerSetup(self, event)
+
+   :param event: A :class:`nose2.events.StopLayerSetupEvent` instance (only
+                available in suites with layers).
+
+   Plugins can use this hook to take action after ``setUp`` finishes, in a
+   layer.
+
+.. function :: startLayerSetupTest(self, event)
+
+   :param event: A :class:`nose2.events.StartLayerSetupTestEvent` instance
+                (only available in suites with layers).
+
+   Plugins can use this hook to take action before the start of ``testSetUp``
+   in a layer.
+
+.. function :: stopLayerSetupTest(self, event)
+
+   :param event: A :class:`nose2.events.StopLayerSetupTestEvent` instance (only
+                 available in suites with layers).
+
+   Plugins can use this hook to take action after ``testSetUp`` finishes, in a
+   layer.
+
 .. function :: startTest(self, event)
 
    :param event: A :class:`nose2.events.StartTestEvent` instance
@@ -286,6 +318,38 @@ These hooks are called for registered plugins only.
    Plugins can use this hook to take action after a test has completed
    running and reported its outcome.
 
+.. function :: startLayerTeardownTest(self, event)
+
+   :param event: A :class:`nose2.events.StartLayerTeardownTestEvent` instance
+                 (only available in suites with layers).
+
+   Plugins can use this hook to take action before the start of
+   ``testTearDown()`` in a layer.
+
+.. function :: stopLayerTeardownTest(self, event)
+
+   :param event: A :class:`nose2.events.StopLayerTeardownTestEvent` instance
+                 (only available in suites with layers).
+
+   Plugins can use this hook to take action after ``testTearDown()`` finishes,
+   in a layer.
+
+.. function :: startLayerTeardown(self, event)
+
+   :param event: A :class:`nose2.events.StartLayerTeardownEvent` instance (only
+                 available in suites with layers).
+
+   Plugins can use this hook to take action before the start of the
+   ``tearDown()`` in a layer.
+
+.. function :: stopLayerTeardown(self, event)
+
+   :param event: A :class:`nose2.events.StopLayerTeardownEvent` instance (only
+                 available in suites with layers).
+
+   Plugins can use this hook to take action after ``tearDown()`` finishes, in a
+   layer.
+
 .. function :: stopTestRun(self, event)
 
    :param event: A :class:`nose2.events.StopTestRunEvent` instance
diff --git a/docs/dev/internals.rst b/docs/dev/internals.rst
index 2852750..7006699 100644
--- a/docs/dev/internals.rst
+++ b/docs/dev/internals.rst
@@ -9,7 +9,6 @@ you want to contribute to nose2.
    :maxdepth: 2
 
    main
-   compat
    exceptions
    loader
    result
diff --git a/docs/dev/writing_plugins.rst b/docs/dev/writing_plugins.rst
index 2abf894..3f25ec5 100644
--- a/docs/dev/writing_plugins.rst
+++ b/docs/dev/writing_plugins.rst
@@ -156,7 +156,7 @@ Recipes
 * Writing a plugin that monitors or controls test result output
 
   Implement any of the ``report*`` hook methods, especially if you
-  want to output to the console. If outputing to file or other system,
+  want to output to the console. If outputting to file or other system,
   you might implement :func:`testOutcome` instead.
 
   Example: :class:`nose2.plugins.result.ResultReporter`
diff --git a/docs/differences.rst b/docs/differences.rst
index 490acf7..9811731 100644
--- a/docs/differences.rst
+++ b/docs/differences.rst
@@ -11,9 +11,9 @@ Python Versions
 ^^^^^^^^^^^^^^^
 
 nose supports Python 2.4 and above, but nose2 *only supports Python
-2.6, 2.7, 3.2, 3.3 and pypy*. Unfortunately, supporting Pythons older than
... 4740 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/nose2.git



More information about the Python-modules-commits mailing list