Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-asv-runner for
openSUSE:Factory checked in at 2026-09-02 17:02:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-asv-runner (Old)
and /work/SRC/openSUSE:Factory/.python-asv-runner.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-asv-runner"
Wed Sep 2 17:02:44 2026 rev:3 rq:1375260 version:0.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-asv-runner/python-asv-runner.changes
2026-08-05 17:50:30.366282482 +0200
+++
/work/SRC/openSUSE:Factory/.python-asv-runner.new.1265/python-asv-runner.changes
2026-09-02 17:02:48.656459155 +0200
@@ -1,0 +2,8 @@
+Wed Sep 2 02:12:58 UTC 2026 - Steve Kowalik <[email protected]>
+
+- Update to 0.3.1:
+ * Class-level setup(self) no longer runs inside do_setup_cache.
+- Run the testsuite.
+- Ship the license and README in the built packages.
+
+-------------------------------------------------------------------
Old:
----
asv_runner-0.3.0.tar.gz
New:
----
asv_runner-0.3.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-asv-runner.spec ++++++
--- /var/tmp/diff_new_pack.UBq1cf/_old 2026-09-02 17:02:49.598491850 +0200
+++ /var/tmp/diff_new_pack.UBq1cf/_new 2026-09-02 17:02:49.601491954 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-asv-runner
-Version: 0.3.0
+Version: 0.3.1
Release: 0
Summary: Core Python benchmark code for ASV
License: BSD-3-Clause
@@ -26,13 +26,11 @@
Source:
https://files.pythonhosted.org/packages/source/a/asv_runner/asv_runner-%{version}.tar.gz
BuildRequires: %{python_module pdm-backend}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module wheel}
BuildRequires: python-rpm-macros
# SECTION test requirements
-BuildRequires: %{python_module importlib-metadata}
+BuildRequires: %{python_module pytest}
# /SECTION
BuildRequires: fdupes
-Requires: python-importlib-metadata
BuildArch: noarch
%python_subpackages
@@ -54,7 +52,12 @@
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%check
+%pytest
+
%files %{python_files}
+%license LICENSE.md
+%doc README.md
%{python_sitelib}/asv_runner
%{python_sitelib}/asv_runner-%{version}.dist-info
++++++ asv_runner-0.3.0.tar.gz -> asv_runner-0.3.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asv_runner-0.3.0/PKG-INFO
new/asv_runner-0.3.1/PKG-INFO
--- old/asv_runner-0.3.0/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
+++ new/asv_runner-0.3.1/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: asv_runner
-Version: 0.3.0
+Version: 0.3.1
Summary: Core Python benchmark code for ASV
Author-Email: Rohit Goswami <[email protected]>, Michael Droettboom <[email protected]>
Maintainer-Email: Rohit Goswami <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asv_runner-0.3.0/asv_runner/__init__.py
new/asv_runner-0.3.1/asv_runner/__init__.py
--- old/asv_runner-0.3.0/asv_runner/__init__.py 2026-08-04 13:53:21.864131500
+0200
+++ new/asv_runner-0.3.1/asv_runner/__init__.py 2026-08-15 20:19:26.489605400
+0200
@@ -1 +1 @@
-__version__ = '0.3.0'
\ No newline at end of file
+__version__ = '0.3.1'
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asv_runner-0.3.0/asv_runner/benchmarks/_base.py
new/asv_runner-0.3.1/asv_runner/benchmarks/_base.py
--- old/asv_runner-0.3.0/asv_runner/benchmarks/_base.py 2026-08-04
13:53:18.022365000 +0200
+++ new/asv_runner-0.3.1/asv_runner/benchmarks/_base.py 2026-08-15
20:19:21.474755300 +0200
@@ -646,11 +646,15 @@
@staticmethod
def _is_parameter_free_setup(setup):
"""
- True if ``setup`` can be called with no positional arguments.
+ True if ``setup`` is a module-level hook callable with no arguments.
- Used so module-level ``setup(*args, **kwargs)`` runs before
- ``setup_cache`` while class ``setup(self, n)`` waits for ``do_setup``.
+ Module-level ``setup(*args, **kwargs)`` (pandas seed, asv#1592) runs
+ before ``setup_cache``. Bound class ``setup(self)`` and
+ ``setup(self, n)`` wait for ``do_setup``: ``inspect.signature`` omits
+ ``self`` on bound methods, so ``bind()`` alone would mis-fire.
"""
+ if inspect.ismethod(setup):
+ return False
try:
inspect.signature(setup).bind()
except TypeError:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asv_runner-0.3.0/asv_runner/benchmarks/time.py
new/asv_runner-0.3.1/asv_runner/benchmarks/time.py
--- old/asv_runner-0.3.0/asv_runner/benchmarks/time.py 2026-08-04
13:53:18.022497000 +0200
+++ new/asv_runner-0.3.1/asv_runner/benchmarks/time.py 2026-08-15
20:19:21.474771300 +0200
@@ -223,6 +223,11 @@
if isolate and number == 0:
number = 1
if isolate and number > 1:
+ print(
+ f"asv: {self.name}: setup hooks re-run between the "
+ f"{number} individually timed calls of each sample",
+ file=sys.stderr,
+ )
timer = self._get_interleaved_timer(*param)
else:
timer = self._get_timer(*param)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asv_runner-0.3.0/pyproject.toml
new/asv_runner-0.3.1/pyproject.toml
--- old/asv_runner-0.3.0/pyproject.toml 2026-08-04 13:53:21.868299200 +0200
+++ new/asv_runner-0.3.1/pyproject.toml 2026-08-15 20:19:26.493543000 +0200
@@ -28,7 +28,7 @@
requires-python = ">=3.7"
readme = "README.md"
dynamic = []
-version = "0.3.0"
+version = "0.3.1"
[project.license]
text = "BSD-3-Clause"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asv_runner-0.3.0/tests/test_cache_skip_setup.py
new/asv_runner-0.3.1/tests/test_cache_skip_setup.py
--- old/asv_runner-0.3.0/tests/test_cache_skip_setup.py 2026-08-04
13:53:18.024187600 +0200
+++ new/asv_runner-0.3.1/tests/test_cache_skip_setup.py 2026-08-15
20:19:21.476518200 +0200
@@ -104,6 +104,34 @@
self.assertTrue(Benchmark._is_parameter_free_setup(module_setup))
self.assertFalse(Benchmark._is_parameter_free_setup(class_setup))
+ def test_bound_class_setup_does_not_run_in_do_setup_cache(self):
+ # Discovery builds sources as [func, instance, module], so class
+ # setup(self) is a bound method. signature().bind() then succeeds
+ # because self is already bound (asv_runner#52).
+ order = []
+
+ class Suite:
+ def setup(self):
+ order.append("class_setup")
+ raise AssertionError("class setup must not run in
do_setup_cache")
+
+ def setup_cache(self):
+ order.append("setup_cache")
+ return {"ok": True}
+
+ def track_x(self):
+ return 1
+
+ inst = Suite()
+ func = inst.track_x
+ b = TrackBenchmark(
+ "mod.Suite.track_x", func, [func, inst, sys.modules[__name__]]
+ )
+ out = b.do_setup_cache()
+ self.assertEqual(out, {"ok": True})
+ self.assertEqual(order, ["setup_cache"])
+ self.assertFalse(Benchmark._is_parameter_free_setup(inst.setup))
+
def test_benchmark_decorator_attrs_and_unknown(self):
@benchmark(pretty_name="Pretty", timeout=12.5, max_time=30.0)
def track_fn():