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():

Reply via email to