forked from pool/python-pytest-profiling
Accepting request 1157078 from devel:languages:python:pytest
- Switch to pyproject macros. - Less globs in %files. - Clean up Python 2 leftovers. - Edit python-pytest-profiling-no-six.patch to also drop the install_requires. - Add patch fix-mock-call.patch: * Correct mocking call to be assert_called_with(). OBS-URL: https://build.opensuse.org/request/show/1157078 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest-profiling?expand=0&rev=5
This commit is contained in:
38
fix-mock-call.patch
Normal file
38
fix-mock-call.patch
Normal file
@@ -0,0 +1,38 @@
|
||||
From 5054ade74d72cdcc2096ecbde3355253894a43a0 Mon Sep 17 00:00:00 2001
|
||||
From: Steve Kowalik <steven@wedontsleep.org>
|
||||
Date: Tue, 12 Mar 2024 15:12:00 +1100
|
||||
Subject: [PATCH] pytest-profiling: Fix mock in test_writes_summary
|
||||
|
||||
In Python < 3.12, MagicMock's will blindly call any method provided to
|
||||
them, which is masking a real issue in this testcase. The correct method
|
||||
is assert_called_with(), and even worse, one of the arguments provided
|
||||
isn't correct either. Correct the method call, and provide the correct
|
||||
argument.
|
||||
---
|
||||
pytest-profiling/tests/unit/test_profile.py | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: pytest-profiling-1.7.0/tests/unit/test_profile.py
|
||||
===================================================================
|
||||
--- pytest-profiling-1.7.0.orig/tests/unit/test_profile.py
|
||||
+++ pytest-profiling-1.7.0/tests/unit/test_profile.py
|
||||
@@ -2,6 +2,7 @@
|
||||
# the top-level code in pytest_profiling will be omitted from
|
||||
# coverage, so force it to be reloaded within this test unit under coverage
|
||||
|
||||
+import os.path
|
||||
from importlib import reload # @UnresolvedImport
|
||||
|
||||
import pytest_profiling
|
||||
@@ -49,8 +50,10 @@ def test_writes_summary():
|
||||
with patch('pstats.Stats', return_value=stats) as Stats:
|
||||
plugin.pytest_sessionfinish(Mock(), Mock())
|
||||
plugin.pytest_terminal_summary(terminalreporter)
|
||||
+ combined = os.path.abspath(
|
||||
+ os.path.join(os.path.curdir, "prof", "combined.prof"))
|
||||
assert 'Profiling' in terminalreporter.write.call_args[0][0]
|
||||
- assert Stats.called_with(stats, stream=terminalreporter)
|
||||
+ Stats.assert_called_with(combined, stream=terminalreporter)
|
||||
|
||||
|
||||
def test_writes_summary_svg():
|
||||
@@ -36,3 +36,17 @@ Index: pytest-profiling-1.7.0/tests/unit/test_profile.py
|
||||
|
||||
from pytest_profiling import Profiling, pytest_addoption, pytest_configure
|
||||
|
||||
Index: pytest-profiling-1.7.0/setup.py
|
||||
===================================================================
|
||||
--- pytest-profiling-1.7.0.orig/setup.py
|
||||
+++ pytest-profiling-1.7.0/setup.py
|
||||
@@ -22,8 +22,7 @@ classifiers = [
|
||||
'Programming Language :: Python :: 3.7',
|
||||
]
|
||||
|
||||
-install_requires = ['six',
|
||||
- 'pytest',
|
||||
+install_requires = ['pytest',
|
||||
'gprof2dot',
|
||||
]
|
||||
|
||||
|
||||
@@ -1,3 +1,14 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 12 04:30:03 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Switch to pyproject macros.
|
||||
- Less globs in %files.
|
||||
- Clean up Python 2 leftovers.
|
||||
- Edit python-pytest-profiling-no-six.patch to also drop the
|
||||
install_requires.
|
||||
- Add patch fix-mock-call.patch:
|
||||
* Correct mocking call to be assert_called_with().
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 8 11:56:08 UTC 2022 - pgajdos@suse.com
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package python-pytest-profiling
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -16,22 +16,23 @@
|
||||
#
|
||||
|
||||
|
||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||
%bcond_without python2
|
||||
Name: python-pytest-profiling
|
||||
Version: 1.7.0
|
||||
Release: 0
|
||||
Summary: Profiling plugin for pytest
|
||||
License: MIT
|
||||
Group: Development/Languages/Python
|
||||
URL: https://github.com/manahl/pytest-plugins
|
||||
Source: https://files.pythonhosted.org/packages/source/p/pytest-profiling/pytest-profiling-%{version}.tar.gz
|
||||
# PATCH-FEATURE-UPSTREAM pytest-fixtures-pr171-remove-mock.patch -- gh#man-group#pytest-plugins#171
|
||||
Patch0: pytest-fixtures-pr171-remove-mock.patch
|
||||
# https://github.com/man-group/pytest-plugins/issues/209
|
||||
Patch1: python-pytest-profiling-no-six.patch
|
||||
# PATCH-FIX-UPSTREAM Based on gh#man-group/pytest-plugins#223
|
||||
Patch2: fix-mock-call.patch
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module setuptools-git}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
Requires: python-gprof2dot
|
||||
@@ -42,9 +43,6 @@ BuildRequires: %{python_module gprof2dot}
|
||||
BuildRequires: %{python_module more-itertools}
|
||||
BuildRequires: %{python_module pytest-virtualenv}
|
||||
BuildRequires: %{python_module pytest}
|
||||
%if %{with python2}
|
||||
BuildRequires: python2-mock
|
||||
%endif
|
||||
# /SECTION
|
||||
%python_subpackages
|
||||
|
||||
@@ -57,10 +55,10 @@ Profiling plugin for py.test
|
||||
sed -i 's/more-itertools==5.0.0/more-itertools/' tests/integration/test_profile_integration.py
|
||||
|
||||
%build
|
||||
%python_build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%python_install
|
||||
%pyproject_install
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
@@ -70,8 +68,8 @@ sed -i 's/more-itertools==5.0.0/more-itertools/' tests/integration/test_profile_
|
||||
%files %{python_files}
|
||||
%doc CHANGES.md README.md
|
||||
%license LICENSE
|
||||
%{python_sitelib}/pytest_profiling.py*
|
||||
%{python_sitelib}/pytest_profiling.py
|
||||
%pycache_only %{python_sitelib}/__pycache__/pytest_profiling*.pyc
|
||||
%{python_sitelib}/pytest_profiling-%{version}*-info
|
||||
%{python_sitelib}/pytest_profiling-%{version}.dist-info
|
||||
|
||||
%changelog
|
||||
|
||||
Reference in New Issue
Block a user