New Upstream Release - python-gnocchiclient
Ready changes
Summary
Merged new upstream version: 7.0.8 (was: 7.0.7).
Resulting package
Built on 2023-08-15T10:05 (took 10m3s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-releases python-gnocchiclient-docapt install -t fresh-releases python3-gnocchiclient
Diff
diff --git a/.github/workflows/python-gnocchiclient.yml b/.github/workflows/python-gnocchiclient.yml
new file mode 100644
index 0000000..a099fb7
--- /dev/null
+++ b/.github/workflows/python-gnocchiclient.yml
@@ -0,0 +1,27 @@
+name: python-gnocchiclient
+
+on:
+ workflow_dispatch:
+ pull_request:
+
+jobs:
+ test:
+ runs-on: ubuntu-20.04
+ timeout-minutes: 30
+ strategy:
+ matrix:
+ env:
+ - docs-gnocchi-web
+ - build
+ - pep8
+ - py36
+ - py38
+ - py39
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+ - name: Install dependencies
+ run: ./tools/install_deps.sh
+ - name: Run tox
+ run: tox -e ${{ matrix.env }}
diff --git a/.gitignore b/.gitignore
index 6697db3..633143f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,10 +20,6 @@ pip-log.txt
# Sphinx
doc/build
-# pbr generates these
-AUTHORS
-ChangeLog
-
# generated docs
doc/source/api
doc/source/gnocchi.rst
diff --git a/.mergify.yml b/.mergify.yml
index e183241..fa4cf45 100644
--- a/.mergify.yml
+++ b/.mergify.yml
@@ -1,15 +1,40 @@
-rules:
- default:
- protection:
- required_status_checks:
- strict: True
- contexts:
- - continuous-integration/travis-ci
- required_pull_request_reviews:
- required_approving_review_count: 2
- branches:
- stable/.*:
- protection:
- required_pull_request_reviews:
- required_approving_review_count: 1
+queue_rules:
+ - name: default
+ conditions:
+ - check-success=test (docs-gnocchi-web)
+ - check-success=test (build)
+ - check-success=test (pep8)
+ - check-success=test (py36)
+ - check-success=test (py38)
+ - check-success=test (py39)
+pull_request_rules:
+ - name: automatic merge
+ actions:
+ queue:
+ method: merge
+ name: default
+ conditions:
+ - label!=work-in-progress
+ - '#approved-reviews-by>=1'
+ - check-success=test (docs-gnocchi-web)
+ - check-success=test (build)
+ - check-success=test (pep8)
+ - check-success=test (py36)
+ - check-success=test (py38)
+ - check-success=test (py39)
+
+ - name: automatic merge backports from Mergify
+ actions:
+ queue:
+ method: merge
+ name: default
+ conditions:
+ - base~=^stable/.*
+ - label!=work-in-progress
+ - author=mergify[bot]
+
+ - name: dismiss reviews on additional commit
+ actions:
+ dismiss_reviews: {}
+ conditions: []
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index f4e096f..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-language: python
-sudo: required
-
-services:
- - docker
-
-cache:
- directories:
- - ~/.cache/pip
-env:
- - TARGET: pep8
- - TARGET: py27
- - TARGET: py37
- - TARGET: docs-gnocchi.xyz
-
-before_script:
- # Only run if this is a pull-request
- - if \[ "$TRAVIS_PULL_REQUEST" != "false" -o -n "$TRAVIS_TAG" \]; then
- docker pull gnocchixyz/ci-tools:latest ;
- fi
-script:
- # Only run if this is a pull-request
- - if \[ "$TRAVIS_PULL_REQUEST" != "false" -o -n "$TRAVIS_TAG" \]; then
- docker run -v ~/.cache/pip:/home/tester/.cache/pip -v $(pwd):/home/tester/src gnocchixyz/ci-tools:latest tox -e ${TARGET} ;
- fi
-
-notifications:
- email: false
- irc:
- on_success: change
- on_failure: always
- channels:
- - "irc.freenode.org#gnocchi"
-
-deploy:
- provider: pypi
- user: jd
- password:
- secure: eQzA9F55MW2v2eQysmV38tyuj0cqYaQh6iTWLf5ZBBqiSu8OwmJeouRCDpHOM93XDerLwzlNfmq2NwaP3lxbhc1kU9fxkyI9CbX4fQzHkrl30Eee9fq82qfnH+cBt9zZBGgk+HEClHxZINiQKF1NTzWA7PDkGRnLDfBrMqUum1FqYoli1XNoCOwgYRcI0UdaE96qqSqE4rlp4vuAR8sfDSh6SxLBUtEHzZM2ScreRZV11DwRSB5a9nc+PGAU6FdmSU6uil2kojmKU84q/+BbSpRG4Ch10MDWIN3UIuPfP4t8zhgC3grfTzq7Q+9l6VYFeQHdAsoHb050d9YabnZNxUqDt/ZIABKcpu/YiZzIXGbpGh4fw4mVupbOoFpVFg1Zg/nQAv99HYDtp5QwqYbA5T3LZXDi2v6+oPWCrBh5ll9bk7DhWsPhBFj5jjBIDY4sgXuRTLaGbik+CLxnmqR/KwOFtLM9cJQjCdfpi1K9VIqNI+NpIgQN5++FhqkL2vWTeiypraK5p1MiuHN0+UA2bdnKpadzE6VuIqjIbfZIKHRZDMkejQ9ruZgIMUTscafyMf9mY9NHXtqD6PA1rK/S4+3n5KIFRDFVVsBUPpao4jIFzaLfSPYciC4PrhyVNzfoIRnlStzuiUPjU0S89UwRAQiapf0NMNmXK2CMWvR9xIg=
- on:
- all_branches: true
- tags: true
- distributions: "sdist bdist_wheel"
diff --git a/README.rst b/README.rst
index 35417f8..3482529 100644
--- a/README.rst
+++ b/README.rst
@@ -2,20 +2,16 @@
gnocchiclient
=============
-.. image:: https://travis-ci.org/gnocchixyz/python-gnocchiclient.png?branch=master
- :target: https://travis-ci.org/gnocchixyz/python-gnocchiclient
- :alt: Build Status
-
.. image:: https://badge.fury.io/py/gnocchiclient.svg
:target: https://badge.fury.io/py/gnocchiclient
Python bindings to the Gnocchi API
-This is a client for Gnocchi API. There's a Python API (the ``gnocchiclient```
-module), and a ``command-line script`` (installed as ```gnocchi``). Each
+This is a client for Gnocchi API. There's a Python API (the ``gnocchiclient``
+module), and a ``command-line script`` (installed as ``gnocchi``). Each
implements the entire Gnocchi API.
* Free software: Apache license
-* Documentation: http://gnocchi.xyz/gnocchiclient
+* Documentation: http://gnocchi.osci.io/gnocchiclient
* Source: https://github.com/gnocchixyz/python-gnocchiclient
* Bugs: https://github.com/gnocchixyz/python-gnocchiclient/issues
diff --git a/debian/changelog b/debian/changelog
index 7421cf2..7ed8d94 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+python-gnocchiclient (7.0.8-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk> Tue, 15 Aug 2023 09:56:03 -0000
+
python-gnocchiclient (7.0.7-5) unstable; urgency=medium
* Cleans better (Closes: #1045269).
diff --git a/debian/patches/do-not-use-numprocesses-pytest-option.patch b/debian/patches/do-not-use-numprocesses-pytest-option.patch
index 9a0e651..40c3845 100644
--- a/debian/patches/do-not-use-numprocesses-pytest-option.patch
+++ b/debian/patches/do-not-use-numprocesses-pytest-option.patch
@@ -4,11 +4,11 @@ Author: Thomas Goirand <zigo@debian.org>
Forwarded: not-needed
Last-Update: 2018-02-27
-Index: python-gnocchiclient/tox.ini
+Index: python-gnocchiclient.git/tox.ini
===================================================================
---- python-gnocchiclient.orig/tox.ini
-+++ python-gnocchiclient/tox.ini
-@@ -51,5 +51,5 @@ exclude=.git,.tox,dist,doc,*egg,build
+--- python-gnocchiclient.git.orig/tox.ini
++++ python-gnocchiclient.git/tox.ini
+@@ -61,5 +61,5 @@ enable-extensions=G
application-import-names = gnocchiclient
[pytest]
diff --git a/doc/source/conf.py b/doc/source/conf.py
index c300f63..76e3c42 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -11,7 +11,7 @@
# serve to show the default.
import datetime
-import subprocess
+import pkg_resources
# 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
@@ -51,9 +51,8 @@ copyright = u'%s, The Gnocchi Developers' % datetime.date.today().year
# built documents.
#
# The short X.Y version.
-version = subprocess.Popen(['sh', '-c', 'cd ../..; python setup.py --version'],
- stdout=subprocess.PIPE).stdout.read()
-version = version.strip()
+version = pkg_resources.get_distribution('gnocchiclient').version
+
# The full version, including alpha/beta/rc tags.
release = version
diff --git a/doc/source/index.rst b/doc/source/index.rst
index 45ae4fb..a6414d6 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -16,9 +16,9 @@ This is a client for `Gnocchi`_. There's :doc:`a Python API <api>` (the
concepts. By understanding the concepts this library and client should make
more sense.
- __ http://gnocchi.xyz
+ __ http://gnocchi.osci.io
-.. _Gnocchi: http://gnocchi.xyz
+.. _Gnocchi: http://gnocchi.osci.io
Contents:
diff --git a/gnocchiclient/benchmark.py b/gnocchiclient/benchmark.py
index bb4701e..dfe2d39 100644
--- a/gnocchiclient/benchmark.py
+++ b/gnocchiclient/benchmark.py
@@ -27,8 +27,6 @@ import futurist
import iso8601
-from monotonic import monotonic as now # noqa
-
import six.moves
from gnocchiclient import utils
@@ -64,10 +62,10 @@ def _positive_non_zero_int(argument_value):
class StopWatch(object):
def __init__(self):
- self.started_at = now()
+ self.started_at = time.monotonic()
def elapsed(self):
- return max(0.0, now() - self.started_at)
+ return max(0.0, time.monotonic() - self.started_at)
def measure_job(fn, *args, **kwargs):
@@ -116,7 +114,7 @@ class BenchmarkPool(futurist.ProcessPoolExecutor):
result, latency = f.result()
results.append(result)
latencies.append(latency)
- except Exception as e:
+ except Exception as e: # noqa
LOG.error("Error with %s metric: %s", (verb, e))
latencies = sorted(latencies)
return results, runtime, {
diff --git a/gnocchiclient/exceptions.py b/gnocchiclient/exceptions.py
index 66be50d..acfb093 100644
--- a/gnocchiclient/exceptions.py
+++ b/gnocchiclient/exceptions.py
@@ -215,7 +215,8 @@ _code_map = dict(
def from_response(response, method=None):
- """Return an instance of one of the ClientException on an requests response.
+ """
+ Return an instance of one of the ClientException on an requests response.
Usage::
diff --git a/gnocchiclient/gendoc.py b/gnocchiclient/gendoc.py
index 224faa8..db602fd 100644
--- a/gnocchiclient/gendoc.py
+++ b/gnocchiclient/gendoc.py
@@ -38,3 +38,4 @@ def setup(app):
app.add_directive('autodoc-gnocchi', GnocchiAutoDocDirective)
app.add_config_value('autoprogram_cliff_application', 'gnocchi', True)
app.add_config_value('autoprogram_cliff_ignored', ['--help'], True)
+ app.add_config_value('autoprogram_cliff_app_dist_name', None, True)
diff --git a/gnocchiclient/shell.py b/gnocchiclient/shell.py
index 4d4fddf..7de1d99 100644
--- a/gnocchiclient/shell.py
+++ b/gnocchiclient/shell.py
@@ -194,7 +194,7 @@ class GnocchiShell(app.App):
if err and isinstance(err, exceptions.HttpError):
try:
error = err.response.json()
- except Exception:
+ except Exception: # noqa
pass
else:
if 'description' in error:
diff --git a/gnocchiclient/v1/aggregates.py b/gnocchiclient/v1/aggregates.py
index a26ec4e..8f1a2c2 100644
--- a/gnocchiclient/v1/aggregates.py
+++ b/gnocchiclient/v1/aggregates.py
@@ -24,7 +24,8 @@ from gnocchiclient.v1 import base
class AggregatesManager(base.Manager):
def fetch(self, operations, search=None,
resource_type='generic', start=None, stop=None, granularity=None,
- needed_overlap=None, groupby=None, fill=None, details=False):
+ needed_overlap=None, groupby=None, fill=None, details=False,
+ use_history=False):
"""Get measurements of an aggregated metrics.
:param operations: operations
@@ -44,6 +45,10 @@ class AggregatesManager(base.Manager):
:param details: also returns the list of metrics or resources
associated to the operations
:type details: boolean
+ :param use_history: indicates if Gnocchi server must include in the
+ response the tag history for resources. The
+ default value is `False`.
+ :type use_history: boolean
See Gnocchi REST API documentation for the format
of *query dictionary*
@@ -66,6 +71,8 @@ class AggregatesManager(base.Manager):
data["resource_type"] = resource_type
params["groupby"] = groupby
+ params['use_history'] = use_history
+
aggregates = self._post("v1/aggregates?%s" % (
utils.dict_to_querystring(params)),
headers={'Content-Type': "application/json"},
diff --git a/gnocchiclient/v1/aggregates_cli.py b/gnocchiclient/v1/aggregates_cli.py
index ab82b4d..931525b 100644
--- a/gnocchiclient/v1/aggregates_cli.py
+++ b/gnocchiclient/v1/aggregates_cli.py
@@ -42,7 +42,16 @@ class CliAggregates(lister.Lister):
parser.add_argument("--fill",
help=("Value to use when backfilling timestamps "
"with missing values in a subset of series. "
- "Value should be a float or 'null'."))
+ "Value should be a float or 'null'.")),
+ parser.add_argument("--use-history", default=False,
+ help=("Indicates if Gnocchi server should respond "
+ "with the resource tags history for the "
+ "aggregation query. If set to `False`, only "
+ "the latest tag values will be returned. "
+ "Otherwise, the measures will be split "
+ "proportionally if a tag has been changed "
+ "in the `granularity` requested.")
+ )
return parser
def take_action(self, parsed_args):
@@ -55,6 +64,8 @@ class CliAggregates(lister.Lister):
granularity=parsed_args.granularity,
needed_overlap=parsed_args.needed_overlap,
groupby=parsed_args.groupby,
+ fill=parsed_args.fill,
+ use_history=parsed_args.use_history
)
if parsed_args.search and parsed_args.groupby:
diff --git a/gnocchiclient/v1/resource.py b/gnocchiclient/v1/resource.py
index 306b913..cc2103b 100644
--- a/gnocchiclient/v1/resource.py
+++ b/gnocchiclient/v1/resource.py
@@ -41,9 +41,17 @@ class ResourceManager(base.Manager):
"""
params = utils.build_pagination_options(
details, history, limit, marker, sorts)
- url = "%s%s?%s" % (self.url, resource_type,
- utils.dict_to_querystring(params))
- return self._get(url).json()
+ resources = []
+ page_url = "%s%s?%s" % (self.url, resource_type,
+ utils.dict_to_querystring(params))
+ while page_url:
+ page = self._get(page_url)
+ resources.extend(page.json())
+ if limit is None or len(resources) < limit:
+ page_url = page.links.get("next", {'url': None})['url']
+ else:
+ break
+ return resources
def get(self, resource_type, resource_id, history=False):
"""Get a resource.
@@ -158,20 +166,29 @@ class ResourceManager(base.Manager):
See Gnocchi REST API documentation for the format
of *query dictionary*
- http://gnocchi.xyz/rest.html#searching-for-resources
+ http://gnocchi.osci.io/rest.html#searching-for-resources
"""
query = query or {}
params = utils.build_pagination_options(
details, history, limit, marker, sorts)
url = "v1/search/resource/%s?%%s" % resource_type
+ resources = []
if isinstance(query, dict):
- return self._post(
- url % utils.dict_to_querystring(params),
- headers={'Content-Type': "application/json"},
- data=ujson.dumps(query)).json()
-
- params['filter'] = query
- return self._post(
- url % utils.dict_to_querystring(params),
- headers={'Content-Type': "application/json"}).json()
+ page_url = url % utils.dict_to_querystring(params)
+ data = ujson.dumps(query)
+ else:
+ params['filter'] = query
+ page_url = url % utils.dict_to_querystring(params)
+ data = None
+
+ while page_url:
+ page = self._post(
+ page_url, headers={'Content-Type': "application/json"},
+ data=data)
+ resources.extend(page.json())
+ if limit is None or len(resources) < limit:
+ page_url = page.links.get("next", {'url': None})['url']
+ else:
+ break
+ return resources
diff --git a/gnocchiclient/version.py b/gnocchiclient/version.py
index 683c55e..1b80522 100644
--- a/gnocchiclient/version.py
+++ b/gnocchiclient/version.py
@@ -12,7 +12,11 @@
# under the License.
#
-import pbr.version
+import pkg_resources
-__version__ = pbr.version.VersionInfo('gnocchiclient').version_string()
+try:
+ __version__ = pkg_resources.get_distribution('gnocchiclient').version
+except pkg_resources.DistributionNotFound:
+ # package is not installed
+ pass
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..9375da2
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,5 @@
+[build-system]
+requires = ["setuptools", "setuptools_scm", "wheel"]
+build-backend = "setuptools.build_meta"
+
+[tool.setuptools_scm]
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index f4d64cc..0000000
--- a/requirements.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-# The order of packages is significant, because pip processes them in the order
-# of appearance. Changing the order has an impact on the overall integration
-# process, which may cause wedges in the gate later.
-
-pbr>=1.4
-cliff>=2.10 # Apache-2.0
-ujson
-keystoneauth1>=2.0.0
-six
-futurist
-iso8601
-monotonic
-python-dateutil
-debtcollector
diff --git a/setup.cfg b/setup.cfg
index 6e7d65d..766e7a7 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,26 +1,51 @@
[metadata]
name = gnocchiclient
summary = Python client library for Gnocchi
-description-file =
+description_file =
README.rst
author = Gnocchi
-home-page = http://gnocchi.xyz/gnocchiclient
+home_page = http://gnocchi.osci.io/gnocchiclient
+python_requires = >=3.6
classifier =
Intended Audience :: Information Technology
Intended Audience :: System Administrators
License :: OSI Approved :: Apache Software License
Operating System :: POSIX :: Linux
Programming Language :: Python
- Programming Language :: Python :: 2
- Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
- Programming Language :: Python :: 3.7
+ Programming Language :: Python :: 3 :: Only
+ Programming Language :: Python :: 3.6
+ Programming Language :: Python :: 3.8
+ Programming Language :: Python :: 3.9
-[files]
+[options]
packages =
gnocchiclient
-[entry_points]
+install_requires =
+ cliff>=2.10 # Apache-2.0
+ ujson
+ keystoneauth1>=2.0.0
+ six
+ futurist
+ iso8601
+ python-dateutil
+ debtcollector
+
+[options.extras_require]
+test =
+ python-openstackclient
+ pytest
+ pytest-xdist
+
+doc =
+ sphinx
+ sphinx_rtd_theme
+
+openstack =
+ osc-lib>=0.3.0 # Apache-2.0
+
+[options.entry_points]
console_scripts =
gnocchi = gnocchiclient.shell:main
@@ -73,19 +98,6 @@ openstack.metric.v1 =
metric_benchmark measures add = gnocchiclient.benchmark:CliBenchmarkMeasuresAdd
metric_benchmark measures show = gnocchiclient.benchmark:CliBenchmarkMeasuresShow
-[extras]
-test =
- python-openstackclient
- pytest
- pytest-xdist
-
-doc =
- sphinx!=1.2.0,!=1.3b1,>=1.1.2
- sphinx_rtd_theme
-
-openstack =
- osc-lib>=0.3.0 # Apache-2.0
-
[build_sphinx]
source-dir = doc/source
build-dir = doc/build
@@ -94,10 +106,5 @@ all_files = 1
[upload_sphinx]
upload-dir = doc/build/html
-[pbr]
-autodoc_index_modules = true
-autodoc_exclude_modules =
- gnocchiclient.tests.*
-
[wheel]
universal = 1
diff --git a/setup.py b/setup.py
index 056c16c..81d45af 100644
--- a/setup.py
+++ b/setup.py
@@ -13,17 +13,20 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
import setuptools
-# In python < 2.7.4, a lazy loading of package `pbr` will break
-# setuptools if some other modules registered functions in `atexit`.
-# solution from: http://bugs.python.org/issue15881#msg170215
+
+cmdclass = {}
+
try:
- import multiprocessing # noqa
+ from sphinx import setup_command
+ cmdclass['build_sphinx'] = setup_command.BuildDoc
except ImportError:
pass
+
setuptools.setup(
- setup_requires=['pbr'],
- pbr=True)
+ packages=setuptools.find_packages(),
+ cmdclass=cmdclass,
+ py_modules=[],
+)
diff --git a/tools/install_deps.sh b/tools/install_deps.sh
new file mode 100755
index 0000000..012ae16
--- /dev/null
+++ b/tools/install_deps.sh
@@ -0,0 +1,26 @@
+#!/bin/bash -ex
+
+sudo apt-get update -y && sudo apt-get install -qy gnupg software-properties-common
+sudo add-apt-repository -y ppa:deadsnakes/ppa
+sudo apt-get update -y && sudo apt-get install -qy \
+ locales \
+ git \
+ wget \
+ curl \
+ python3 \
+ python3-dev \
+ python3-pip \
+ python3.6 \
+ python3.6-dev \
+ python3.6-distutils \
+ python3.9 \
+ python3.9-dev \
+
+sudo rm -rf /var/lib/apt/lists/*
+
+export LANG=en_US.UTF-8
+sudo update-locale
+sudo locale-gen $LANG
+
+sudo python3 -m pip install -U pip tox virtualenv
+sudo python3.6 -m pip install -U pip tox virtualenv
diff --git a/tox.ini b/tox.ini
index 345458b..be44788 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,20 +1,28 @@
[tox]
minversion = 1.6
-envlist = py37,py27,pypy,pep8,docs-gnocchi.xyz
+envlist = py36,py38,py39,pep8,docs-gnocchi-web
skipsdist = True
[testenv]
+basepython =
+ py36: {env:TOXPYTHON:python3.6}
+ py38: {env:TOXPYTHON:python3.8}
+ py39: {env:TOXPYTHON:python3.9}
usedevelop = True
setenv =
VIRTUAL_ENV={envdir}
GNOCCHI_CLIENT_EXEC_DIR={envdir}/bin
passenv = GNOCCHI_*
-# NOTE(jd): the -e argument is on its own line so it's passed as an argument to pip
deps = .[test,openstack]
- -e
git+https://github.com/gnocchixyz/gnocchi.git#egg=gnocchi[postgresql,file]
pifpaf[gnocchi]
-commands = pifpaf run gnocchi -- pytest {posargs:gnocchiclient/tests}
+# TODO(tobias-urdin): Skip benchmark tests since they just hang right now.
+commands = pifpaf run gnocchi -- pytest -k 'not test_benchmark_' {posargs:gnocchiclient/tests}
+
+[testenv:build]
+basepython = python3.8
+deps = build
+commands = python3 -m build
[testenv:pep8]
basepython = python3
@@ -36,9 +44,10 @@ commands = {posargs}
[testenv:cover]
deps = {[testenv]deps}
pytest-cov
-commands = pifpaf run gnocchi -- pytest --cov=gnocchiclient {posargs:gnocchiclient/tests}
+# TODO(tobias-urdin): Skip benchmark tests since they just hang right now.
+commands = pifpaf run gnocchi -- pytest -k 'not test_benchmark_' --cov=gnocchiclient {posargs:gnocchiclient/tests}
-[testenv:docs-gnocchi.xyz]
+[testenv:docs-gnocchi-web]
basepython = python3
deps = .[test,doc]
commands =
Debdiff
[The following lists of changes regard files as different if they have different names, permissions or owners.]
Files in second set of .debs but not in first
-rw-r--r-- root/root /usr/lib/python3/dist-packages/gnocchiclient-0.0.0.egg-info/PKG-INFO -rw-r--r-- root/root /usr/lib/python3/dist-packages/gnocchiclient-0.0.0.egg-info/dependency_links.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/gnocchiclient-0.0.0.egg-info/entry_points.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/gnocchiclient-0.0.0.egg-info/requires.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/gnocchiclient-0.0.0.egg-info/top_level.txt
Files in first set of .debs but not in second
-rw-r--r-- root/root /usr/lib/python3/dist-packages/gnocchiclient-7.0.7.egg-info/PKG-INFO -rw-r--r-- root/root /usr/lib/python3/dist-packages/gnocchiclient-7.0.7.egg-info/dependency_links.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/gnocchiclient-7.0.7.egg-info/entry_points.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/gnocchiclient-7.0.7.egg-info/not-zip-safe -rw-r--r-- root/root /usr/lib/python3/dist-packages/gnocchiclient-7.0.7.egg-info/requires.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/gnocchiclient-7.0.7.egg-info/top_level.txt
No differences were encountered between the control files of package python-gnocchiclient-doc
No differences were encountered between the control files of package python3-gnocchiclient