diff --git a/doc/source/api/fixture.rst b/doc/source/api/fixture.rst new file mode 100644 index 0000000..0f9bd8a --- /dev/null +++ b/doc/source/api/fixture.rst @@ -0,0 +1,8 @@ +========= + fixture +========= + +.. automodule:: oslo_versionedobjects.fixture + :members: + :undoc-members: + diff --git a/doc/source/installation.rst b/doc/source/installation.rst index b02a051..7f29007 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -5,3 +5,8 @@ At the command line:: $ pip install oslo.versionedobjects + +To use ``oslo_versionedobjects.fixture``, some additional dependencies +are needed. They can be installed using the ``fixtures`` extra:: + + $ pip install 'oslo.versionedobjects[fixtures]' diff --git a/oslo_versionedobjects/fixture.py b/oslo_versionedobjects/fixture.py index ea024d7..1689d0d 100644 --- a/oslo_versionedobjects/fixture.py +++ b/oslo_versionedobjects/fixture.py @@ -9,6 +9,16 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. +"""Fixtures for writing tests for code using oslo.versionedobjects + +.. note:: + + This module has several extra dependencies not needed at runtime + for production code, and therefore not installed by default. To + ensure those dependencies are present for your tests, add + ``oslo.versionedobjects[fixtures]`` to your list of test dependencies. + +""" from collections import OrderedDict import hashlib diff --git a/requirements.txt b/requirements.txt index 6be0d2c..c439190 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,4 @@ oslo.utils>=1.6.0 # Apache-2.0 iso8601>=0.1.9 oslo.log>=1.2.0 # Apache-2.0 oslo.i18n>=1.5.0 # Apache-2.0 -mock>=1.1;python_version!='2.6' -mock==1.0.1;python_version=='2.6' -fixtures>=1.3.1 WebOb>=1.2.3 diff --git a/setup.cfg b/setup.cfg index 6664bdf..f847599 100644 --- a/setup.cfg +++ b/setup.cfg @@ -22,6 +22,12 @@ classifier = packages = oslo_versionedobjects +[extras] +fixtures = + mock>=1.1:python_version!='2.6' + mock==1.0.1:python_version=='2.6' + fixtures>=1.3.1 + [pbr] warnerrors = true diff --git a/tox.ini b/tox.ini index 9bc33f5..7cdc7b6 100644 --- a/tox.ini +++ b/tox.ini @@ -12,7 +12,7 @@ envlist = py34,py27,pypy,pep8 install_command = pip install -U {opts} {packages} setenv = VIRTUAL_ENV={envdir} -deps = -r{toxinidir}/requirements.txt +deps = .[fixtures] -r{toxinidir}/test-requirements.txt commands = python setup.py testr --slowest --testr-args='{posargs}' @@ -45,4 +45,4 @@ import_exceptions = oslo_versionedobjects._i18n # this also means that pip-missing-reqs must be installed separately, outside # of the requirements.txt files deps = pip_missing_reqs -commands = pip-missing-reqs -d --ignore-module=oslo_versionedobjects* --ignore-module=pkg_resources --ignore-file=oslo_versionedobjects/test.py --ignore-file=oslo_versionedobjects/tests/* oslo_versionedobjects \ No newline at end of file +commands = pip-missing-reqs -d --ignore-module=oslo_versionedobjects* --ignore-module=pkg_resources --ignore-file=oslo_versionedobjects/test.py --ignore-file=oslo_versionedobjects/tests/* oslo_versionedobjects