summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitreview2
-rw-r--r--.zuul.yaml3
-rw-r--r--HACKING.rst6
-rw-r--r--README.rst8
-rwxr-xr-xdoc/source/conf.py41
-rw-r--r--doc/source/user/cross-testing.rst2
-rw-r--r--oslotest/tests/unit/test_base.py8
-rw-r--r--releasenotes/source/conf.py221
-rw-r--r--releasenotes/source/index.rst2
-rw-r--r--releasenotes/source/stein.rst6
-rw-r--r--releasenotes/source/train.rst6
-rw-r--r--setup.cfg5
-rw-r--r--test-requirements.txt5
-rwxr-xr-xtools/oslo_debug_helper8
-rwxr-xr-xtools/oslo_run_cross_tests10
-rw-r--r--tox.ini45
16 files changed, 67 insertions, 311 deletions
diff --git a/.gitreview b/.gitreview
index b65ed63..fbe6fae 100644
--- a/.gitreview
+++ b/.gitreview
@@ -1,4 +1,4 @@
[gerrit]
-host=review.openstack.org
+host=review.opendev.org
port=29418
project=openstack/oslotest.git
diff --git a/.zuul.yaml b/.zuul.yaml
index 38fd7fc..0a0cf2e 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -4,8 +4,7 @@
- openstack-cover-jobs
- openstack-lower-constraints-jobs
- openstack-python-jobs
- - openstack-python35-jobs
- - openstack-python36-jobs
+ - openstack-python3-ussuri-jobs
- periodic-stable-jobs
- publish-openstack-docs-pti
- release-notes-jobs-python3
diff --git a/HACKING.rst b/HACKING.rst
index d697e67..39378cb 100644
--- a/HACKING.rst
+++ b/HACKING.rst
@@ -1,4 +1,4 @@
- Style Commandments
-===============================================
+Style Commandments
+==================
-Read the OpenStack Style Commandments https://docs.openstack.org/hacking/latest/ \ No newline at end of file
+Read the OpenStack Style Commandments https://docs.openstack.org/hacking/latest/
diff --git a/README.rst b/README.rst
index c0122e9..1f5809e 100644
--- a/README.rst
+++ b/README.rst
@@ -7,15 +7,15 @@ Team and repository tags
.. Change things from this point on
-=======================================================
- oslotest -- OpenStack Testing Framework and Utilities
-=======================================================
+=====================================================
+oslotest -- OpenStack Testing Framework and Utilities
+=====================================================
The Oslo Test framework provides common fixtures, support for debugging, and
better support for mocking results.
* Free software: Apache license
* Documentation: https://docs.openstack.org/oslotest/latest/
-* Source: https://git.openstack.org/cgit/openstack/oslotest
+* Source: https://opendev.org/openstack/oslotest
* Bugs: https://bugs.launchpad.net/oslotest
* Release notes: https://docs.openstack.org/releasenotes/oslotest
diff --git a/doc/source/conf.py b/doc/source/conf.py
index d452b4e..48810a4 100755
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
@@ -12,34 +13,23 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import os
-import sys
-
-sys.path.insert(0, os.path.abspath('../..'))
-# -- General configuration ----------------------------------------------------
+# -- General configuration ---------------------------------------------------
# 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.intersphinx',
'openstackdocstheme',
]
-# autodoc generation is a bit aggressive and a nuisance when doing heavy
-# text edit cycles.
-# execute "export SPHINX_DEBUG=1" in your terminal to disable
modindex_common_prefix = ['oslotest.']
-# The suffix of source filenames.
-source_suffix = '.rst'
-
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'oslotest'
-copyright = u'2014, OpenStack Foundation'
+copyright = u'2014-2019, OpenStack Foundation'
# If true, '()' will be appended to :func: etc. cross-reference text.
add_function_parentheses = True
@@ -51,37 +41,20 @@ add_module_names = True
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
-# -- Options for HTML output --------------------------------------------------
+
+# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. Major themes that come with
# Sphinx are currently 'default' and 'sphinxdoc'.
-# html_theme_path = ["."]
-# html_static_path = ['static']
html_theme = 'openstackdocs'
# 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'
html_last_updated_fmt = '%Y-%m-%d %H:%M'
-# Output file base name for HTML help builder.
-htmlhelp_basename = '%sdoc' % project
-# openstackdocstheme options
+# -- openstackdocstheme configuration ----------------------------------------
+
repository_name = 'openstack/oslotest'
bug_project = 'oslotest'
bug_tag = ''
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, documentclass
-# [howto/manual]).
-latex_documents = [
- ('index',
- '%s.tex' % project,
- u'%s Documentation' % project,
- u'OpenStack Foundation', 'manual'),
-]
-
-# Example configuration for intersphinx: refer to the Python standard library.
-#intersphinx_mapping = {'http://docs.python.org/': None}
-
diff --git a/doc/source/user/cross-testing.rst b/doc/source/user/cross-testing.rst
index 60a85c3..fd9422a 100644
--- a/doc/source/user/cross-testing.rst
+++ b/doc/source/user/cross-testing.rst
@@ -31,7 +31,7 @@ For example::
$ mkdir -p ~/repos/openstack
$ cd ~/repos/openstack
- $ git clone git://git.openstack.org/openstack/oslo-incubator
+ $ git clone https://opendev.org/openstack/oslo-incubator
$ cd ~/repos
$ ./openstack/oslo-incubator/tools/clone_openstack.sh
diff --git a/oslotest/tests/unit/test_base.py b/oslotest/tests/unit/test_base.py
index 93c3c52..b98c672 100644
--- a/oslotest/tests/unit/test_base.py
+++ b/oslotest/tests/unit/test_base.py
@@ -126,14 +126,6 @@ class TestManualMock(base.BaseTestCase):
self.addCleanup(patcher.stop)
super(TestManualMock, self).setUp()
self.useFixture(fixtures.MockPatch('fixtures.Timeout'))
- self.unstopped = mock.patch('os.environ.put')
-
- def tearDown(self):
- super(TestManualMock, self).tearDown()
- self.assertRaises(
- RuntimeError,
- self.unstopped.stop,
- )
def test_mock_patch_manually(self):
# Verify that if a test instance creates its own mock and
diff --git a/releasenotes/source/conf.py b/releasenotes/source/conf.py
index 6d96657..b3e6d49 100644
--- a/releasenotes/source/conf.py
+++ b/releasenotes/source/conf.py
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
@@ -12,25 +13,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# 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.
-
-# 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('.'))
-
# -- 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.
@@ -39,15 +23,6 @@ extensions = [
'reno.sphinxext',
]
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-# source_encoding = 'utf-8-sig'
-
# The master toctree document.
master_doc = 'index'
@@ -62,44 +37,9 @@ release = ''
# The short X.Y version.
version = ''
-# 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.
-exclude_patterns = []
-
-# 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.
pygments_style = 'sphinx'
-# A list of ignored prefixes for module index sorting.
-# modindex_common_prefix = []
-
-# If true, keep warnings as "system message" paragraphs in the built documents.
-# keep_warnings = False
-
# -- Options for HTML output ----------------------------------------------
@@ -107,171 +47,14 @@ pygments_style = 'sphinx'
# a list of builtin themes.
html_theme = 'openstackdocs'
-# 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 = []
-
-# 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']
-
-# Add any extra paths that contain custom files (such as robots.txt or
-# .htaccess) here, relative to this directory. These files are copied
-# directly to the root of the documentation.
-# html_extra_path = []
-
# 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'
html_last_updated_fmt = '%Y-%m-%d %H:%M'
-# 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
+# -- openstackdocstheme configuration -------------------------------------
-# 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 = 'oslotestReleaseNotesDoc'
-
-# openstackdocstheme options
repository_name = 'openstack/oslotest'
bug_project = 'oslotest'
bug_tag = ''
-
-# -- Options for LaTeX output ---------------------------------------------
-
-latex_elements = {
- # The paper size ('letterpaper' or 'a4paper').
- # 'papersize': 'letterpaper',
-
- # The font size ('10pt', '11pt' or '12pt').
- # 'pointsize': '10pt',
-
- # Additional stuff for the LaTeX preamble.
- # 'preamble': '',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title,
-# author, documentclass [howto, manual, or own class]).
-latex_documents = [
- ('index', 'oslotestReleaseNotes.tex',
- u'oslotest Release Notes Documentation',
- u'oslotest Developers', '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
-
-# 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).
-man_pages = [
- ('index', 'oslotestReleaseNotes',
- u'oslotest Release Notes Documentation',
- [u'oslotest Developers'], 1)
-]
-
-# If true, show URL addresses after external links.
-# man_show_urls = False
-
-
-# -- Options for Texinfo output -------------------------------------------
-
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-# dir menu entry, description, category)
-texinfo_documents = [
- ('index', 'oslotestReleaseNotes',
- u'oslotest Release Notes Documentation',
- u'oslotest Developers', 'oslotestReleaseNotes',
- 'One line description of project.',
- 'Miscellaneous'),
-]
-
-# Documents to append as an appendix to all manuals.
-# texinfo_appendices = []
-
-# If false, no module index is generated.
-# texinfo_domain_indices = True
-
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-# texinfo_show_urls = 'footnote'
-
-# If true, do not generate a @detailmenu in the "Top" node's menu.
-# texinfo_no_detailmenu = False
-
-# -- Options for Internationalization output ------------------------------
-locale_dirs = ['locale/']
diff --git a/releasenotes/source/index.rst b/releasenotes/source/index.rst
index 4943645..7d1529f 100644
--- a/releasenotes/source/index.rst
+++ b/releasenotes/source/index.rst
@@ -6,6 +6,8 @@
:maxdepth: 1
unreleased
+ train
+ stein
rocky
queens
pike
diff --git a/releasenotes/source/stein.rst b/releasenotes/source/stein.rst
new file mode 100644
index 0000000..efaceb6
--- /dev/null
+++ b/releasenotes/source/stein.rst
@@ -0,0 +1,6 @@
+===================================
+ Stein Series Release Notes
+===================================
+
+.. release-notes::
+ :branch: stable/stein
diff --git a/releasenotes/source/train.rst b/releasenotes/source/train.rst
new file mode 100644
index 0000000..5839003
--- /dev/null
+++ b/releasenotes/source/train.rst
@@ -0,0 +1,6 @@
+==========================
+Train Series Release Notes
+==========================
+
+.. release-notes::
+ :branch: stable/train
diff --git a/setup.cfg b/setup.cfg
index 839bc45..4485ced 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -4,7 +4,7 @@ summary = Oslo test framework
description-file =
README.rst
author = OpenStack
-author-email = openstack-dev@lists.openstack.org
+author-email = openstack-discuss@lists.openstack.org
home-page = https://docs.openstack.org/oslotest/latest/
classifier =
Environment :: OpenStack
@@ -16,7 +16,8 @@ classifier =
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
- Programming Language :: Python :: 3.5
+ Programming Language :: Python :: 3.6
+ Programming Language :: Python :: 3.7
[files]
packages =
diff --git a/test-requirements.txt b/test-requirements.txt
index d10a2f7..6b64bc4 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -2,7 +2,7 @@
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
-hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+hacking>=1.1.0,<1.2.0 # Apache-2.0
# when we can require tox>= 1.4, this can go into tox.ini:
# [testenv:cover]
@@ -10,7 +10,8 @@ hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
coverage!=4.4,>=4.0 # Apache-2.0
# this is required for the docs build jobs
-sphinx!=1.6.6,!=1.6.7,>=1.6.5 # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.5,<2.0.0;python_version=='2.7' # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.5;python_version>='3.4' # BSD
openstackdocstheme>=1.18.1 # Apache-2.0
oslo.config>=5.2.0 # Apache-2.0
stestr>=2.0.0
diff --git a/tools/oslo_debug_helper b/tools/oslo_debug_helper
index 30d934f..0de7efd 100755
--- a/tools/oslo_debug_helper
+++ b/tools/oslo_debug_helper
@@ -10,6 +10,8 @@
# relative to the project directory. If no value is passed, it is assumed
# to be packagename/tests.
+PYTHON=${PYTHON:-python}
+
TMP_DIR=`mktemp -d debug-$$-XXX` || exit 1
trap "rm -rf $TMP_DIR" EXIT
@@ -17,7 +19,7 @@ ALL_TESTS=$TMP_DIR/all_tests
TESTS_TO_RUN=$TMP_DIR/tests_to_run
# Default to packagename/tests, i.e., keystone/tests
-PACKAGENAME=$(python setup.py --name)
+PACKAGENAME=$(${PYTHON} setup.py --name)
TEST_DIR=./$PACKAGENAME/tests
# If a specific path is passed, use that one
@@ -27,7 +29,7 @@ while getopts ":t:" opt; do
esac
done
-python -m testtools.run discover -t ./ $TEST_DIR --list > $ALL_TESTS
+${PYTHON} -m testtools.run discover -t ./ $TEST_DIR --list > $ALL_TESTS
# getopts friendly way of determining if a positional arg has been passed
ARG1=${@:$OPTIND:1}
@@ -37,4 +39,4 @@ else
mv $ALL_TESTS $TESTS_TO_RUN
fi
-python -m testtools.run discover --load-list $TESTS_TO_RUN
+${PYTHON} -m testtools.run discover --load-list $TESTS_TO_RUN
diff --git a/tools/oslo_run_cross_tests b/tools/oslo_run_cross_tests
index 1412b6f..a657ab9 100755
--- a/tools/oslo_run_cross_tests
+++ b/tools/oslo_run_cross_tests
@@ -9,6 +9,8 @@
# Fail the build if any command fails
set -e
+PYTHON=${PYTHON:-python}
+
function usage {
cat - <<EOF
ERROR: Missing argument(s)
@@ -46,13 +48,13 @@ fi
tox_envbin=$project_dir/.tox/$venv/bin
-our_name=$(python setup.py --name)
+our_name=$(${PYTHON} setup.py --name)
# Build the egg-info, including the source file list,
# so we install all of the files, even if the package
# list or name has changed.
-rm -rf $(python setup.py --name).egg-info
-python setup.py egg_info
+rm -rf $(${PYTHON} setup.py --name).egg-info
+${PYTHON} setup.py egg_info
# Replace the pip-installed package with the version in our source
# tree. Look to see if we are already installed before trying to
@@ -92,8 +94,6 @@ if [ -f /usr/local/jenkins/slave_scripts/subunit2html.py -a -d ".testrepository"
gzip -9 ./subunit_log.txt
gzip -9 ./testr_results.html
- export PYTHON=.tox/$venv/bin/python
- set -e
rancount=$(.tox/$venv/bin/testr last | sed -ne 's/Ran \([0-9]\+\).*tests in.*/\1/p')
if [ "$rancount" -eq "0" ] ; then
echo
diff --git a/tox.ini b/tox.ini
index 74f1579..0930f16 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,56 +1,47 @@
[tox]
-minversion = 2.0
-distribute = False
-envlist = py35,py27,pep8
+minversion = 3.1
+envlist = py27,py37,pep8
+ignore_basepython_conflict = True
[testenv]
-install_command = pip install {opts} {packages}
+basepython = python3
deps =
- -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+ -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
commands = stestr run --slowest {posargs}
-[testenv:py27]
-basepython = python2.7
-
[testenv:pep8]
-basepython = python3
commands = flake8
[testenv:cover]
-basepython = python3
setenv =
- PYTHON=coverage run --source oslotest --parallel-mode
+ PYTHON=coverage run --source oslotest --parallel-mode
commands =
- stestr run {posargs}
- coverage combine
- coverage html -d cover
- coverage xml -o cover/coverage.xml
+ stestr run {posargs}
+ coverage combine
+ coverage html -d cover
+ coverage xml -o cover/coverage.xml
[testenv:venv]
-basepython = python3
commands = {posargs}
[testenv:docs]
-basepython = python3
commands = python setup.py build_sphinx
-[flake8]
-show-source = True
-exclude = .tox,dist,doc,*.egg,build
-
-[hacking]
-import_exceptions =
- six.moves.mock
-
[testenv:releasenotes]
-basepython = python3
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:lower-constraints]
-basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
+
+[flake8]
+show-source = true
+exclude = .tox,dist,doc,*.egg,build
+
+[hacking]
+import_exceptions =
+ six.moves.mock