diff --git a/doc/source/conf.py b/doc/source/conf.py index 2a3edf4656..59a2f64a46 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -24,6 +24,7 @@ import os import subprocess +import sys # Build the plugin registry def build_plugin_registry(app): @@ -31,16 +32,20 @@ def build_plugin_registry(app): os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) subprocess.call(['tools/generate-tempest-plugins-list.sh'], cwd=root_dir) +def autodoc_skip_member_handler(app, what, name, obj, skip, options): + return skip or (what == "class" and not name.startswith("test")) + def setup(app): + app.connect('autodoc-skip-member', autodoc_skip_member_handler) if os.getenv('GENERATE_TEMPEST_PLUGIN_LIST', 'true').lower() == 'true': app.connect('builder-inited', build_plugin_registry) - - # 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.insert(0, os.path.abspath('.')) +sys.path.insert(0, os.path.abspath('../../tempest')) +sys.path.insert(0, os.path.abspath('../../tempest/api')) # -- General configuration ----------------------------------------------------- @@ -204,3 +209,10 @@ latex_documents = [ ('index', 'doc-tempest.tex', u'Tempest Testing Project', u'OpenStack Foundation', 'manual'), ] + +latex_use_xindy = False + +latex_elements = { + 'maxlistdepth': 20, + 'printindex': '\\footnotesize\\raggedright\\printindex' +} diff --git a/doc/source/index.rst b/doc/source/index.rst index d4dc1665f8..66e68ea0b8 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -56,6 +56,13 @@ Supported OpenStack Releases and Python Versions supported_version +Description of Tests +-------------------- +.. toctree:: + :maxdepth: 2 + + tests/modules + For Contributors ================ diff --git a/doc/source/tests/modules.rst b/doc/source/tests/modules.rst new file mode 100644 index 0000000000..026a7a5a82 --- /dev/null +++ b/doc/source/tests/modules.rst @@ -0,0 +1,21 @@ +Description of Tests +==================== + +OpenStack Services Integration Tests +------------------------------------ +.. toctree:: + :maxdepth: 2 + + scenario/modules + +OpenStack Services API Tests +---------------------------- +.. toctree:: + :maxdepth: 2 + + compute/modules + identity/modules + image/modules + network/modules + object_storage/modules + volume/modules diff --git a/tempest/api/network/admin/test_floating_ips_admin_actions.py b/tempest/api/network/admin/test_floating_ips_admin_actions.py index ad7dfb3966..a8dae7cbca 100644 --- a/tempest/api/network/admin/test_floating_ips_admin_actions.py +++ b/tempest/api/network/admin/test_floating_ips_admin_actions.py @@ -62,7 +62,7 @@ class FloatingIPAdminTestJSON(base.BaseAdminNetworkTest): This test performs below operations: 1. Create couple floating ips for admin and non-admin users. 2. Verify if admin can access all floating ips including other user - and non-admin user can only access its own floating ips. + and non-admin user can only access its own floating ips. """ # Create floating ip from admin user floating_ip_admin = self.admin_floating_ips_client.create_floatingip( diff --git a/tempest/lib/decorators.py b/tempest/lib/decorators.py index 808e0fb40c..ebe2d611fe 100644 --- a/tempest/lib/decorators.py +++ b/tempest/lib/decorators.py @@ -124,7 +124,7 @@ def idempotent_id(id): def decorator(f): f = testtools.testcase.attr('id-%s' % id)(f) if f.__doc__: - f.__doc__ = 'Test idempotent id: %s\n%s' % (id, f.__doc__) + f.__doc__ = 'Test idempotent id: %s\n\n%s' % (id, f.__doc__) else: f.__doc__ = 'Test idempotent id: %s' % id return f diff --git a/tox.ini b/tox.ini index 0477d6fcfe..031a4003f6 100644 --- a/tox.ini +++ b/tox.ini @@ -282,15 +282,31 @@ deps = -r{toxinidir}/requirements.txt -r{toxinidir}/doc/requirements.txt commands = + sphinx-apidoc -f -o doc/source/tests/compute tempest/api/compute + sphinx-apidoc -f -o doc/source/tests/identity tempest/api/identity + sphinx-apidoc -f -o doc/source/tests/image tempest/api/image + sphinx-apidoc -f -o doc/source/tests/network tempest/api/network + sphinx-apidoc -f -o doc/source/tests/object_storage tempest/api/object_storage + sphinx-apidoc -f -o doc/source/tests/scenario tempest/scenario + sphinx-apidoc -f -o doc/source/tests/volume tempest/api/volume rm -rf doc/build sphinx-build -W -b html doc/source doc/build/html -whitelist_externals = rm +whitelist_externals = + rm [testenv:pdf-docs] deps = {[testenv:docs]deps} whitelist_externals = + rm make commands = + sphinx-apidoc -f -o doc/source/tests/compute tempest/api/compute + sphinx-apidoc -f -o doc/source/tests/identity tempest/api/identity + sphinx-apidoc -f -o doc/source/tests/image tempest/api/image + sphinx-apidoc -f -o doc/source/tests/network tempest/api/network + sphinx-apidoc -f -o doc/source/tests/object_storage tempest/api/object_storage + sphinx-apidoc -f -o doc/source/tests/scenario tempest/scenario + sphinx-apidoc -f -o doc/source/tests/volume tempest/api/volume sphinx-build -W -b latex doc/source doc/build/pdf make -C doc/build/pdf