dev-python/pytest-system-statistics: Revbump, add fix for loading with newer setuptools

Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
This commit is contained in:
Patrick McLean 2023-08-14 19:57:56 -07:00
parent fecae5e524
commit d7fa918e3b
No known key found for this signature in database
GPG Key ID: 7CBF44EF5C350883
2 changed files with 100 additions and 0 deletions

View File

@ -0,0 +1,43 @@
diff --git a/src/pytestsysstats/plugin.py b/src/pytestsysstats/plugin.py
index 4009858..3067f73 100644
--- a/src/pytestsysstats/plugin.py
+++ b/src/pytestsysstats/plugin.py
@@ -231,20 +231,17 @@ def pytest_sessionstart(session: "Session") -> None:
):
stats_processes_instance = StatsProcesses()
stats_processes_instance.add("Test Suite Run", os.getpid())
- else:
- stats_processes_instance = None
+ session.config.pluginmanager.register(stats_processes_instance, "sysstats-processes")
- session.config.pluginmanager.register(stats_processes_instance, "sysstats-processes")
-
- terminalreporter = session.config.pluginmanager.getplugin(
- "terminalreporter"
- ) # type: "TerminalReporter"
- sys_stats_reporter = SystemStatsReporter(
- config=session.config,
- stats_processes=stats_processes_instance,
- terminalreporter=terminalreporter,
- )
- session.config.pluginmanager.register(sys_stats_reporter, "sysstats-reporter")
+ terminalreporter = session.config.pluginmanager.getplugin(
+ "terminalreporter"
+ ) # type: "TerminalReporter"
+ sys_stats_reporter = SystemStatsReporter(
+ config=session.config,
+ stats_processes=stats_processes_instance,
+ terminalreporter=terminalreporter,
+ )
+ session.config.pluginmanager.register(sys_stats_reporter, "sysstats-reporter")
@pytest.fixture(scope="session") # type: ignore[misc]
@@ -252,5 +249,5 @@ def stats_processes(request: "SubRequest") -> StatsProcesses:
"""
Session scoped process statistics tracker.
"""
- plugin = request.config.pluginmanager.get_plugin("sysstats-processes") # type: StatsProcesses
- return plugin
+ if request.config.pluginmanager.has_plugin("sysstats-processes"):
+ return request.config.pluginmanager.get_plugin("sysstats-processes") # type: StatsProcesses

View File

@ -0,0 +1,57 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
DESCRIPTION="Pytest Plugin Which Reports System Usage Statistics"
HOMEPAGE="
https://pypi.org/project/pytest-system-statistics/
https://github.com/saltstack/pytest-system-statistics
"
SRC_URI="https://github.com/saltstack/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
RDEPEND="
>=dev-python/pytest-6.0.0[${PYTHON_USEDEP}]
dev-python/attrs[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/typing-extensions[${PYTHON_USEDEP}]
dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/wheel[${PYTHON_USEDEP}]
test? (
dev-python/pytest-subtests[${PYTHON_USEDEP}]
)
"
PATCHES=(
"${FILESDIR}/pytest-system-statistics-1.0.2-loader.patch"
)
distutils_enable_tests pytest
python_prepare_all() {
sed -e "s/use_scm_version=True/version='${PV}'/" -i setup.py || die
sed -e "/setuptools_scm/ d" -i setup.cfg || die
sed -e "s/tool.setuptools_scm/tool.disabled/" -i pyproject.toml || die
printf '__version__ = "${PV}"\n' > src/pytestsysstats/version.py || die
distutils-r1_python_prepare_all
}
python_test() {
local EPYTEST_DESELECT=(
tests/functional/test_syststats.py::test_proc_sys_stats
tests/functional/test_syststats.py::test_proc_sys_stats_no_children
)
epytest
}