#156599 Report by node gh-actions covering 2342 tests from 61 modules resulted into 4 errors
Report
- ObsPy version
- 1.5.0.post0+31.g8fafa057b5
- GitHub Pull Request
- https://github.com/obspy/obspy/pull/3736
- Report file
- JSON document
- Total runtime
- 130.4 sec
- Report date/time
- May 5, 2026, 7:06 a.m.
System / Python
- Architecture
- 64bit
- Machine
- x86_64
- Node
- gh-actions
- Processor
- x86_64
- Python Compiler
- GCC 14.3.0
- Python Implementation
- CPython
- Python Version
- 3.14.4
- Release
- 6.17.0-1010-azure
- System
- Linux
- Version
- #10~24.04.1-Ubuntu SMP Fri Mar 6 22:00:57 UTC 2026
Dependencies
- cartopy
- 0.25.0
- decorator
- 5.2.1
- flake8
- ---
- geographiclib
- 2.1
- lxml
- 6.1.0
- matplotlib
- 3.10.9
- numpy
- 2.4.3
- obspy
- 1.5.0.post0+31.g8fafa057b5
- pyproj
- 3.7.2
- pytest
- 9.0.3
- pytest-json-report
- 1.5.0
- requests
- 2.33.1
- scipy
- 1.17.1
- setuptools
- 82.0.1
- shapefile
- ---
- sqlalchemy
- 2.0.49
Modules (61)
| Module | Errors / Failures | Tracebacks | ||||
|---|---|---|---|---|---|---|
| obspy.clients.earthworm | Not tested | - | - | - | - | - |
| obspy.clients.fdsn | - | 101 | 101 | - | 1.60s | - |
| obspy.clients.filesystem | - | 26 | 26 | - | 1.24s | - |
| obspy.clients.iris | Not tested | - | - | - | - | - |
| obspy.clients.neic | Not tested | - | - | - | - | - |
| obspy.clients.nrl | - | 16 | 16 | - | 0.79s | - |
| obspy.clients.seedlink | - | 2 | 2 | - | 0.00s | - |
| obspy.clients.syngine | Not tested | - | - | - | - | - |
| obspy.core | 1 | 701 | 700 | 1 | 27.69s | 4 |
| obspy.core.event | - | 18 | 18 | - | 0.16s | - |
| obspy.core.inventory | 3 | 24 | 24 | - | 0.82s | 1 2 3 |
| obspy.core.util | - | 23 | 20 | 3 | 0.10s | - |
| obspy.geodetics | - | 21 | 20 | 1 | 0.07s | - |
| obspy.imaging | - | 93 | 92 | 1 | 15.58s | - |
| obspy.io.ah | - | 11 | 11 | - | 0.06s | - |
| obspy.io.alsep | - | 16 | 16 | - | 0.57s | - |
| obspy.io.arclink | - | 5 | 5 | - | 0.64s | - |
| obspy.io.ascii | - | 30 | 28 | 2 | 0.14s | - |
| obspy.io.cmtsolution | - | 10 | 10 | - | 0.05s | - |
| obspy.io.cnv | - | 1 | 1 | - | 0.02s | - |
| obspy.io.css | - | 10 | 10 | - | 0.13s | - |
| obspy.io.csv | - | 17 | 17 | - | 0.60s | - |
| obspy.io.cybershake | - | 3 | 3 | - | 0.03s | - |
| obspy.io.dmx | - | 5 | 5 | - | 0.06s | - |
| obspy.io.focmec | - | 8 | 8 | - | 0.07s | - |
| obspy.io.gcf | - | 14 | 13 | 1 | 0.26s | - |
| obspy.io.gse2 | - | 55 | 55 | - | 0.33s | - |
| obspy.io.hypodd | - | 9 | 9 | - | 0.15s | - |
| obspy.io.iaspei | - | 9 | 9 | - | 0.51s | - |
| obspy.io.json | - | 4 | 4 | - | 0.03s | - |
| obspy.io.kinemetrics | - | 12 | 12 | - | 0.37s | - |
| obspy.io.kml | - | 3 | 3 | - | 0.11s | - |
| obspy.io.mseed | - | 129 | 129 | - | 1.39s | - |
| obspy.io.ndk | - | 20 | 20 | - | 0.25s | - |
| obspy.io.nied | - | 11 | 11 | - | 0.11s | - |
| obspy.io.nlloc | - | 16 | 16 | - | 0.18s | - |
| obspy.io.nordic | - | 61 | 59 | 2 | 1.01s | - |
| obspy.io.pdas | - | 3 | 3 | - | 0.02s | - |
| obspy.io.pde | - | 13 | 12 | 1 | 0.42s | - |
| obspy.io.quakeml | - | 38 | 37 | 1 | 0.17s | - |
| obspy.io.reftek | - | 21 | 21 | - | 0.13s | - |
| obspy.io.rg16 | - | 38 | 38 | - | 0.14s | - |
| obspy.io.sac | - | 101 | 101 | - | 0.56s | - |
| obspy.io.scardec | - | 5 | 5 | - | 0.08s | - |
| obspy.io.seg2 | - | 2 | 2 | - | 0.02s | - |
| obspy.io.segy | - | 56 | 56 | - | 0.32s | - |
| obspy.io.seisan | - | 8 | 7 | 1 | 0.06s | - |
| obspy.io.seiscomp | - | 51 | 51 | - | 1.03s | - |
| obspy.io.sh | - | 26 | 24 | 2 | 0.27s | - |
| obspy.io.shapefile | - | 7 | 7 | - | 0.27s | - |
| obspy.io.stationtxt | - | 11 | 11 | - | 0.13s | - |
| obspy.io.stationxml | - | 25 | 25 | - | 0.30s | - |
| obspy.io.wav | - | 8 | 7 | 1 | 0.06s | - |
| obspy.io.win | - | 5 | 5 | - | 0.16s | - |
| obspy.io.xseed | - | 84 | 84 | - | 3.81s | - |
| obspy.io.y | - | 5 | 4 | 1 | 0.02s | - |
| obspy.io.zmap | - | 15 | 15 | - | 0.16s | - |
| obspy.realtime | - | 22 | 22 | - | 0.22s | - |
| obspy.scripts | - | 2 | 2 | - | 0.02s | - |
| obspy.signal | - | 235 | 233 | 2 | 20.14s | - |
| obspy.taup | - | 77 | 77 | - | 33.15s | - |
| Summary | 4 | 2342 | 2322 | 20 | 130.40s | 4 |
Tracebacks (4)
+ Exception Group Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 353, in from_call
| result: TResult | None = func()
| ~~~~^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 245, in <lambda>
| lambda: runtest_hook(item=item, **kwds),
| ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__
| return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
| ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec
| return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
| ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall
| raise exception
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
| teardown.throw(exception)
| ~~~~~~~~~~~~~~^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call
| yield
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
| teardown.throw(exception)
| ~~~~~~~~~~~~~~^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper
| return result.get_result()
| ~~~~~~~~~~~~~~~~~^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result
| raise exc.with_traceback(tb)
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper
| res = yield
| ^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
| teardown.throw(exception)
| ~~~~~~~~~~~~~~^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call
| return (yield)
| ^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
| teardown.throw(exception)
| ~~~~~~~~~~~~~~^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper
| return result.get_result()
| ~~~~~~~~~~~~~~~~~^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result
| raise exc.with_traceback(tb)
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper
| res = yield
| ^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
| teardown.throw(exception)
| ~~~~~~~~~~~~~~^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call
| return (yield)
| ^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall
| res = hook_impl.function(*args)
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 158, in pytest_runtest_call
| collect_unraisable(item.config)
| ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 81, in collect_unraisable
| raise ExceptionGroup("multiple unraisable exception warnings", errors)
| ExceptionGroup: multiple unraisable exception warnings (8 sub-exceptions)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf88331300>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf88331300>: None
|
+---------------- 2 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf8848f790>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf8848f790>: None
|
+---------------- 3 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf8848ef20>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf8848ef20>: None
|
+---------------- 4 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf8848e890>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf8848e890>: None
|
+---------------- 5 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf8848c8b0>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf8848c8b0>: None
|
+---------------- 6 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf889cbb50>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf889cbb50>: None
|
+---------------- 7 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf889cb2e0>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf889cb2e0>: None
|
+---------------- 8 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf88962110>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf88962110>: None
|
+------------------------------------
+ Exception Group Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 353, in from_call
| result: TResult | None = func()
| ~~~~^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 245, in <lambda>
| lambda: runtest_hook(item=item, **kwds),
| ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__
| return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
| ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec
| return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
| ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall
| raise exception
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
| teardown.throw(exception)
| ~~~~~~~~~~~~~~^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call
| yield
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
| teardown.throw(exception)
| ~~~~~~~~~~~~~~^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper
| return result.get_result()
| ~~~~~~~~~~~~~~~~~^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result
| raise exc.with_traceback(tb)
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper
| res = yield
| ^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
| teardown.throw(exception)
| ~~~~~~~~~~~~~~^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call
| return (yield)
| ^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
| teardown.throw(exception)
| ~~~~~~~~~~~~~~^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper
| return result.get_result()
| ~~~~~~~~~~~~~~~~~^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result
| raise exc.with_traceback(tb)
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper
| res = yield
| ^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
| teardown.throw(exception)
| ~~~~~~~~~~~~~~^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call
| return (yield)
| ^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall
| res = hook_impl.function(*args)
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 158, in pytest_runtest_call
| collect_unraisable(item.config)
| ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 81, in collect_unraisable
| raise ExceptionGroup("multiple unraisable exception warnings", errors)
| ExceptionGroup: multiple unraisable exception warnings (12 sub-exceptions)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf881693f0>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf881693f0>: None
|
+---------------- 2 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf882fb6a0>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf882fb6a0>: None
|
+---------------- 3 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf882fa110>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf882fa110>: None
|
+---------------- 4 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf882f9990>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf882f9990>: None
|
+---------------- 5 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf882a75b0>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf882a75b0>: None
|
+---------------- 6 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf882a53f0>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf882a53f0>: None
|
+---------------- 7 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf882a47c0>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf882a47c0>: None
|
+---------------- 8 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf8825e4d0>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf8825e4d0>: None
|
+---------------- 9 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf8820fb50>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf8820fb50>: None
|
+---------------- 10 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf8820d7b0>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf8820d7b0>: None
|
+---------------- 11 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf88333b50>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf88333b50>: None
|
+---------------- 12 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py", line 359, in _read_floattype_list
| setattr(obj, key2, elem.attrib.get(key1))
| ~~~~~~~~~~~~~~~^^^^^^
| ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf88331d50>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf88331d50>: None
|
+------------------------------------
parent = <Element {http://www.fdsn.org/xml/station/1}FIR at 0x7faf9b9ee440>
tag = '{http://www.fdsn.org/xml/station/1}NumeratorCoefficient'
cls = <class 'obspy.core.inventory.response.FilterCoefficient'>, unit = False
datum = False, additional_mapping = {'i': 'number'}
def _read_floattype_list(parent, tag, cls, unit=False, datum=False,
additional_mapping={}):
> elems = parent.findall(tag)
^^^^^^^^^^^^^^^^^^^
E ResourceWarning: unclosed database in <sqlite3.Connection object at 0x7faf88169c60>
io/stationxml/core.py:347: ResourceWarning
The above exception was the direct cause of the following exception:
cls = <class '_pytest.runner.CallInfo'>
func = <function call_and_report.<locals>.<lambda> at 0x7faf881326c0>
when = 'call'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: Callable[[], TResult],
when: Literal["collect", "setup", "call", "teardown"],
reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None,
) -> CallInfo[TResult]:
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:type func: Callable[[], _pytest.runner.TResult]
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
instant = timing.Instant()
try:
> result: TResult | None = func()
^^^^^^
../_pytest/runner.py:353:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> lambda: runtest_hook(item=item, **kwds),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
when=when,
reraise=get_reraise_exceptions(item.config),
)
../_pytest/runner.py:245:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <HookCaller 'pytest_runtest_call'>
kwargs = {'item': <DoctestItem obspy.core.inventory.inventory.Inventory.plot>}
firstresult = False
def __call__(self, **kwargs: object) -> Any:
"""Call the hook.
Only accepts keyword arguments, which should match the hook
specification.
Returns the result(s) of calling all registered plugins, see
:ref:`calling`.
"""
assert not self.is_historic(), (
"Cannot directly call a historic hook - use call_historic instead."
)
self._verify_all_args_are_provided(kwargs)
firstresult = self.spec.opts.get("firstresult", False) if self.spec else False
# Copy because plugins may register other plugins during iteration (#438).
> return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../pluggy/_hooks.py:512:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <_pytest.config.PytestPluginManager object at 0x7fafa01f7b60>
hook_name = 'pytest_runtest_call'
methods = [<HookImpl plugin_name='threadexception', plugin=<module '_pytest.threadexception' from '/home/runner/miniconda3/envs/...pper name='/dev/null' mode='r' encoding='utf-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
kwargs = {'item': <DoctestItem obspy.core.inventory.inventory.Inventory.plot>}
firstresult = False
def _hookexec(
self,
hook_name: str,
methods: Sequence[HookImpl],
kwargs: Mapping[str, object],
firstresult: bool,
) -> object | list[object]:
# called from all hookcaller instances.
# enable_tracing will set its own wrapping function at self._inner_hookexec
> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../pluggy/_manager.py:120:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
hook_name = 'pytest_runtest_call'
hook_impls = [<HookImpl plugin_name='threadexception', plugin=<module '_pytest.threadexception' from '/home/runner/miniconda3/envs/...pper name='/dev/null' mode='r' encoding='utf-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
caller_kwargs = {'item': <DoctestItem obspy.core.inventory.inventory.Inventory.plot>}
firstresult = False
def _multicall(
hook_name: str,
hook_impls: Sequence[HookImpl],
caller_kwargs: Mapping[str, object],
firstresult: bool,
) -> object | list[object]:
"""Execute a call into multiple python functions/methods and return the
result(s).
``caller_kwargs`` comes from HookCaller.__call__().
"""
__tracebackhide__ = True
results: list[object] = []
exception = None
try: # run impl and wrapper setup functions in a loop
teardowns: list[Teardown] = []
try:
for hook_impl in reversed(hook_impls):
try:
args = [caller_kwargs[argname] for argname in hook_impl.argnames]
except KeyError as e:
# coverage bug - this is tested
for argname in hook_impl.argnames: # pragma: no cover
if argname not in caller_kwargs:
raise HookCallError(
f"hook call must provide argument {argname!r}"
) from e
if hook_impl.hookwrapper:
function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)
next(function_gen) # first yield
teardowns.append(function_gen)
elif hook_impl.wrapper:
try:
# If this cast is not valid, a type error is raised below,
# which is the desired response.
res = hook_impl.function(*args)
function_gen = cast(Generator[None, object, object], res)
next(function_gen) # first yield
teardowns.append(function_gen)
except StopIteration:
_raise_wrapfail(function_gen, "did not yield")
else:
res = hook_impl.function(*args)
if res is not None:
results.append(res)
if firstresult: # halt further impl calls
break
except BaseException as exc:
exception = exc
finally:
if firstresult: # first result hooks return a single value
result = results[0] if results else None
else:
result = results
# run all wrapper post-yield blocks
for teardown in reversed(teardowns):
try:
if exception is not None:
try:
teardown.throw(exception)
except RuntimeError as re:
# StopIteration from generator causes RuntimeError
# even for coroutine usage - see #544
if (
isinstance(exception, StopIteration)
and re.__cause__ is exception
):
teardown.close()
continue
else:
raise
else:
teardown.send(result)
# Following is unreachable for a well behaved hook wrapper.
# Try to force finalizers otherwise postponed till GC action.
# Note: close() may raise if generator handles GeneratorExit.
teardown.close()
except StopIteration as si:
result = si.value
exception = None
continue
except BaseException as e:
exception = e
continue
_raise_wrapfail(teardown, "has second yield")
if exception is not None:
> raise exception
../pluggy/_callers.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
hook_name = 'pytest_runtest_call'
hook_impls = [<HookImpl plugin_name='threadexception', plugin=<module '_pytest.threadexception' from '/home/runner/miniconda3/envs/...pper name='/dev/null' mode='r' encoding='utf-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
caller_kwargs = {'item': <DoctestItem obspy.core.inventory.inventory.Inventory.plot>}
firstresult = False
def _multicall(
hook_name: str,
hook_impls: Sequence[HookImpl],
caller_kwargs: Mapping[str, object],
firstresult: bool,
) -> object | list[object]:
"""Execute a call into multiple python functions/methods and return the
result(s).
``caller_kwargs`` comes from HookCaller.__call__().
"""
__tracebackhide__ = True
results: list[object] = []
exception = None
try: # run impl and wrapper setup functions in a loop
teardowns: list[Teardown] = []
try:
for hook_impl in reversed(hook_impls):
try:
args = [caller_kwargs[argname] for argname in hook_impl.argnames]
except KeyError as e:
# coverage bug - this is tested
for argname in hook_impl.argnames: # pragma: no cover
if argname not in caller_kwargs:
raise HookCallError(
f"hook call must provide argument {argname!r}"
) from e
if hook_impl.hookwrapper:
function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)
next(function_gen) # first yield
teardowns.append(function_gen)
elif hook_impl.wrapper:
try:
# If this cast is not valid, a type error is raised below,
# which is the desired response.
res = hook_impl.function(*args)
function_gen = cast(Generator[None, object, object], res)
next(function_gen) # first yield
teardowns.append(function_gen)
except StopIteration:
_raise_wrapfail(function_gen, "did not yield")
else:
res = hook_impl.function(*args)
if res is not None:
results.append(res)
if firstresult: # halt further impl calls
break
except BaseException as exc:
exception = exc
finally:
if firstresult: # first result hooks return a single value
result = results[0] if results else None
else:
result = results
# run all wrapper post-yield blocks
for teardown in reversed(teardowns):
try:
if exception is not None:
try:
> teardown.throw(exception)
../pluggy/_callers.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <_pytest.logging.LoggingPlugin object at 0x7faf91c0aba0>
item = <DoctestItem obspy.core.inventory.inventory.Inventory.plot>
@hookimpl(wrapper=True)
def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]:
self.log_cli_handler.set_when("call")
with self._runtest_for(item, "call"):
> yield
../_pytest/logging.py:850:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
hook_name = 'pytest_runtest_call'
hook_impls = [<HookImpl plugin_name='threadexception', plugin=<module '_pytest.threadexception' from '/home/runner/miniconda3/envs/...pper name='/dev/null' mode='r' encoding='utf-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
caller_kwargs = {'item': <DoctestItem obspy.core.inventory.inventory.Inventory.plot>}
firstresult = False
def _multicall(
hook_name: str,
hook_impls: Sequence[HookImpl],
caller_kwargs: Mapping[str, object],
firstresult: bool,
) -> object | list[object]:
"""Execute a call into multiple python functions/methods and return the
result(s).
``caller_kwargs`` comes from HookCaller.__call__().
"""
__tracebackhide__ = True
results: list[object] = []
exception = None
try: # run impl and wrapper setup functions in a loop
teardowns: list[Teardown] = []
try:
for hook_impl in reversed(hook_impls):
try:
args = [caller_kwargs[argname] for argname in hook_impl.argnames]
except KeyError as e:
# coverage bug - this is tested
for argname in hook_impl.argnames: # pragma: no cover
if argname not in caller_kwargs:
raise HookCallError(
f"hook call must provide argument {argname!r}"
) from e
if hook_impl.hookwrapper:
function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)
next(function_gen) # first yield
teardowns.append(function_gen)
elif hook_impl.wrapper:
try:
# If this cast is not valid, a type error is raised below,
# which is the desired response.
res = hook_impl.function(*args)
function_gen = cast(Generator[None, object, object], res)
next(function_gen) # first yield
teardowns.append(function_gen)
except StopIteration:
_raise_wrapfail(function_gen, "did not yield")
else:
res = hook_impl.function(*args)
if res is not None:
results.append(res)
if firstresult: # halt further impl calls
break
except BaseException as exc:
exception = exc
finally:
if firstresult: # first result hooks return a single value
result = results[0] if results else None
else:
result = results
# run all wrapper post-yield blocks
for teardown in reversed(teardowns):
try:
if exception is not None:
try:
> teardown.throw(exception)
../pluggy/_callers.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
hook_impl = <HookImpl plugin_name='_cov', plugin=<pytest_cov.plugin.CovPlugin object at 0x7fafa000e120>>
hook_name = 'pytest_runtest_call'
args = [<DoctestItem obspy.core.inventory.inventory.Inventory.plot>]
def run_old_style_hookwrapper(
hook_impl: HookImpl, hook_name: str, args: Sequence[object]
) -> Teardown:
"""
backward compatibility wrapper to run a old style hookwrapper as a wrapper
"""
teardown: Teardown = cast(Teardown, hook_impl.function(*args))
try:
next(teardown)
except StopIteration:
_raise_wrapfail(teardown, "did not yield")
try:
res = yield
result = Result(res, None)
except BaseException as exc:
result = Result(None, exc)
try:
teardown.send(result)
except StopIteration:
pass
except BaseException as e:
_warn_teardown_exception(hook_name, hook_impl, e)
raise
else:
_raise_wrapfail(teardown, "has second yield")
finally:
teardown.close()
> return result.get_result()
^^^^^^^^^^^^^^^^^^^
../pluggy/_callers.py:53:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pluggy._result.Result object at 0x7faf8d1e6c80>
def get_result(self) -> ResultType:
"""Get the result(s) for this hook call.
If the hook was marked as a ``firstresult`` only a single value
will be returned, otherwise a list of results.
"""
__tracebackhide__ = True
exc = self._exception
tb = self._traceback
if exc is None:
return cast(ResultType, self._result)
else:
> raise exc.with_traceback(tb)
../pluggy/_result.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
hook_impl = <HookImpl plugin_name='_cov', plugin=<pytest_cov.plugin.CovPlugin object at 0x7fafa000e120>>
hook_name = 'pytest_runtest_call'
args = [<DoctestItem obspy.core.inventory.inventory.Inventory.plot>]
def run_old_style_hookwrapper(
hook_impl: HookImpl, hook_name: str, args: Sequence[object]
) -> Teardown:
"""
backward compatibility wrapper to run a old style hookwrapper as a wrapper
"""
teardown: Teardown = cast(Teardown, hook_impl.function(*args))
try:
next(teardown)
except StopIteration:
_raise_wrapfail(teardown, "did not yield")
try:
> res = yield
^^^^^
../pluggy/_callers.py:38:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
hook_name = 'pytest_runtest_call'
hook_impls = [<HookImpl plugin_name='threadexception', plugin=<module '_pytest.threadexception' from '/home/runner/miniconda3/envs/...pper name='/dev/null' mode='r' encoding='utf-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
caller_kwargs = {'item': <DoctestItem obspy.core.inventory.inventory.Inventory.plot>}
firstresult = False
def _multicall(
hook_name: str,
hook_impls: Sequence[HookImpl],
caller_kwargs: Mapping[str, object],
firstresult: bool,
) -> object | list[object]:
"""Execute a call into multiple python functions/methods and return the
result(s).
``caller_kwargs`` comes from HookCaller.__call__().
"""
__tracebackhide__ = True
results: list[object] = []
exception = None
try: # run impl and wrapper setup functions in a loop
teardowns: list[Teardown] = []
try:
for hook_impl in reversed(hook_impls):
try:
args = [caller_kwargs[argname] for argname in hook_impl.argnames]
except KeyError as e:
# coverage bug - this is tested
for argname in hook_impl.argnames: # pragma: no cover
if argname not in caller_kwargs:
raise HookCallError(
f"hook call must provide argument {argname!r}"
) from e
if hook_impl.hookwrapper:
function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)
next(function_gen) # first yield
teardowns.append(function_gen)
elif hook_impl.wrapper:
try:
# If this cast is not valid, a type error is raised below,
# which is the desired response.
res = hook_impl.function(*args)
function_gen = cast(Generator[None, object, object], res)
next(function_gen) # first yield
teardowns.append(function_gen)
except StopIteration:
_raise_wrapfail(function_gen, "did not yield")
else:
res = hook_impl.function(*args)
if res is not None:
results.append(res)
if firstresult: # halt further impl calls
break
except BaseException as exc:
exception = exc
finally:
if firstresult: # first result hooks return a single value
result = results[0] if results else None
else:
result = results
# run all wrapper post-yield blocks
for teardown in reversed(teardowns):
try:
if exception is not None:
try:
> teardown.throw(exception)
../pluggy/_callers.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <CaptureManager _method='fd' _global_capturing=<MultiCapture out=<FDCapture 1 oldfd=5 _state='suspended' tmpfile=<Enco...xtIOWrapper name='/dev/null' mode='r' encoding='utf-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>
item = <DoctestItem obspy.core.inventory.inventory.Inventory.plot>
@hookimpl(wrapper=True)
def pytest_runtest_call(self, item: Item) -> Generator[None]:
with self.item_capture("call", item):
> return (yield)
^^^^^
../_pytest/capture.py:900:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
hook_name = 'pytest_runtest_call'
hook_impls = [<HookImpl plugin_name='threadexception', plugin=<module '_pytest.threadexception' from '/home/runner/miniconda3/envs/...pper name='/dev/null' mode='r' encoding='utf-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
caller_kwargs = {'item': <DoctestItem obspy.core.inventory.inventory.Inventory.plot>}
firstresult = False
def _multicall(
hook_name: str,
hook_impls: Sequence[HookImpl],
caller_kwargs: Mapping[str, object],
firstresult: bool,
) -> object | list[object]:
"""Execute a call into multiple python functions/methods and return the
result(s).
``caller_kwargs`` comes from HookCaller.__call__().
"""
__tracebackhide__ = True
results: list[object] = []
exception = None
try: # run impl and wrapper setup functions in a loop
teardowns: list[Teardown] = []
try:
for hook_impl in reversed(hook_impls):
try:
args = [caller_kwargs[argname] for argname in hook_impl.argnames]
except KeyError as e:
# coverage bug - this is tested
for argname in hook_impl.argnames: # pragma: no cover
if argname not in caller_kwargs:
raise HookCallError(
f"hook call must provide argument {argname!r}"
) from e
if hook_impl.hookwrapper:
function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)
next(function_gen) # first yield
teardowns.append(function_gen)
elif hook_impl.wrapper:
try:
# If this cast is not valid, a type error is raised below,
# which is the desired response.
res = hook_impl.function(*args)
function_gen = cast(Generator[None, object, object], res)
next(function_gen) # first yield
teardowns.append(function_gen)
except StopIteration:
_raise_wrapfail(function_gen, "did not yield")
else:
res = hook_impl.function(*args)
if res is not None:
results.append(res)
if firstresult: # halt further impl calls
break
except BaseException as exc:
exception = exc
finally:
if firstresult: # first result hooks return a single value
result = results[0] if results else None
else:
result = results
# run all wrapper post-yield blocks
for teardown in reversed(teardowns):
try:
if exception is not None:
try:
> teardown.throw(exception)
../pluggy/_callers.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
hook_impl = <HookImpl plugin_name='140392282420768', plugin=<pytest_jsonreport.plugin.JSONReport object at 0x7fafa01f7620>>
hook_name = 'pytest_runtest_call'
args = [<DoctestItem obspy.core.inventory.inventory.Inventory.plot>]
def run_old_style_hookwrapper(
hook_impl: HookImpl, hook_name: str, args: Sequence[object]
) -> Teardown:
"""
backward compatibility wrapper to run a old style hookwrapper as a wrapper
"""
teardown: Teardown = cast(Teardown, hook_impl.function(*args))
try:
next(teardown)
except StopIteration:
_raise_wrapfail(teardown, "did not yield")
try:
res = yield
result = Result(res, None)
except BaseException as exc:
result = Result(None, exc)
try:
teardown.send(result)
except StopIteration:
pass
except BaseException as e:
_warn_teardown_exception(hook_name, hook_impl, e)
raise
else:
_raise_wrapfail(teardown, "has second yield")
finally:
teardown.close()
> return result.get_result()
^^^^^^^^^^^^^^^^^^^
../pluggy/_callers.py:53:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pluggy._result.Result object at 0x7faf8fee2cc0>
def get_result(self) -> ResultType:
"""Get the result(s) for this hook call.
If the hook was marked as a ``firstresult`` only a single value
will be returned, otherwise a list of results.
"""
__tracebackhide__ = True
exc = self._exception
tb = self._traceback
if exc is None:
return cast(ResultType, self._result)
else:
> raise exc.with_traceback(tb)
../pluggy/_result.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
hook_impl = <HookImpl plugin_name='140392282420768', plugin=<pytest_jsonreport.plugin.JSONReport object at 0x7fafa01f7620>>
hook_name = 'pytest_runtest_call'
args = [<DoctestItem obspy.core.inventory.inventory.Inventory.plot>]
def run_old_style_hookwrapper(
hook_impl: HookImpl, hook_name: str, args: Sequence[object]
) -> Teardown:
"""
backward compatibility wrapper to run a old style hookwrapper as a wrapper
"""
teardown: Teardown = cast(Teardown, hook_impl.function(*args))
try:
next(teardown)
except StopIteration:
_raise_wrapfail(teardown, "did not yield")
try:
> res = yield
^^^^^
../pluggy/_callers.py:38:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
hook_name = 'pytest_runtest_call'
hook_impls = [<HookImpl plugin_name='threadexception', plugin=<module '_pytest.threadexception' from '/home/runner/miniconda3/envs/...pper name='/dev/null' mode='r' encoding='utf-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
caller_kwargs = {'item': <DoctestItem obspy.core.inventory.inventory.Inventory.plot>}
firstresult = False
def _multicall(
hook_name: str,
hook_impls: Sequence[HookImpl],
caller_kwargs: Mapping[str, object],
firstresult: bool,
) -> object | list[object]:
"""Execute a call into multiple python functions/methods and return the
result(s).
``caller_kwargs`` comes from HookCaller.__call__().
"""
__tracebackhide__ = True
results: list[object] = []
exception = None
try: # run impl and wrapper setup functions in a loop
teardowns: list[Teardown] = []
try:
for hook_impl in reversed(hook_impls):
try:
args = [caller_kwargs[argname] for argname in hook_impl.argnames]
except KeyError as e:
# coverage bug - this is tested
for argname in hook_impl.argnames: # pragma: no cover
if argname not in caller_kwargs:
raise HookCallError(
f"hook call must provide argument {argname!r}"
) from e
if hook_impl.hookwrapper:
function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)
next(function_gen) # first yield
teardowns.append(function_gen)
elif hook_impl.wrapper:
try:
# If this cast is not valid, a type error is raised below,
# which is the desired response.
res = hook_impl.function(*args)
function_gen = cast(Generator[None, object, object], res)
next(function_gen) # first yield
teardowns.append(function_gen)
except StopIteration:
_raise_wrapfail(function_gen, "did not yield")
else:
res = hook_impl.function(*args)
if res is not None:
results.append(res)
if firstresult: # halt further impl calls
break
except BaseException as exc:
exception = exc
finally:
if firstresult: # first result hooks return a single value
result = results[0] if results else None
else:
result = results
# run all wrapper post-yield blocks
for teardown in reversed(teardowns):
try:
if exception is not None:
try:
> teardown.throw(exception)
../pluggy/_callers.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
item = <DoctestItem obspy.core.inventory.inventory.Inventory.plot>
@hookimpl(wrapper=True)
def pytest_runtest_call(item: Item) -> Generator[None]:
xfailed = item.stash.get(xfailed_key, None)
if xfailed is None:
item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)
if xfailed and not item.config.option.runxfail and not xfailed.run:
xfail("[NOTRUN] " + xfailed.reason)
try:
> return (yield)
^^^^^
../_pytest/skipping.py:268:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
hook_name = 'pytest_runtest_call'
hook_impls = [<HookImpl plugin_name='threadexception', plugin=<module '_pytest.threadexception' from '/home/runner/miniconda3/envs/...pper name='/dev/null' mode='r' encoding='utf-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
caller_kwargs = {'item': <DoctestItem obspy.core.inventory.inventory.Inventory.plot>}
firstresult = False
def _multicall(
hook_name: str,
hook_impls: Sequence[HookImpl],
caller_kwargs: Mapping[str, object],
firstresult: bool,
) -> object | list[object]:
"""Execute a call into multiple python functions/methods and return the
result(s).
``caller_kwargs`` comes from HookCaller.__call__().
"""
__tracebackhide__ = True
results: list[object] = []
exception = None
try: # run impl and wrapper setup functions in a loop
teardowns: list[Teardown] = []
try:
for hook_impl in reversed(hook_impls):
try:
args = [caller_kwargs[argname] for argname in hook_impl.argnames]
except KeyError as e:
# coverage bug - this is tested
for argname in hook_impl.argnames: # pragma: no cover
if argname not in caller_kwargs:
raise HookCallError(
f"hook call must provide argument {argname!r}"
) from e
if hook_impl.hookwrapper:
function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)
next(function_gen) # first yield
teardowns.append(function_gen)
elif hook_impl.wrapper:
try:
# If this cast is not valid, a type error is raised below,
# which is the desired response.
res = hook_impl.function(*args)
function_gen = cast(Generator[None, object, object], res)
next(function_gen) # first yield
teardowns.append(function_gen)
except StopIteration:
_raise_wrapfail(function_gen, "did not yield")
else:
> res = hook_impl.function(*args)
^^^^^^^^^^^^^^^^^^^^^^^^^
../pluggy/_callers.py:121:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
item = <DoctestItem obspy.core.inventory.inventory.Inventory.plot>
@pytest.hookimpl(trylast=True)
def pytest_runtest_call(item: Item) -> None:
> collect_unraisable(item.config)
../_pytest/unraisableexception.py:158:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
config = <_pytest.config.Config object at 0x7faf9ff49010>
def collect_unraisable(config: Config) -> None:
pop_unraisable = config.stash[unraisable_exceptions].pop
errors: list[pytest.PytestUnraisableExceptionWarning | RuntimeError] = []
meta = None
hook_error = None
try:
while True:
try:
meta = pop_unraisable()
except IndexError:
break
if isinstance(meta, BaseException):
hook_error = RuntimeError("Failed to process unraisable exception")
hook_error.__cause__ = meta
errors.append(hook_error)
continue
msg = meta.msg
try:
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
except pytest.PytestUnraisableExceptionWarning as e:
# This except happens when the warning is treated as an error (e.g. `-Werror`).
if meta.exc_value is not None:
# Exceptions have a better way to show the traceback, but
# warnings do not, so hide the traceback from the msg and
# set the cause so the traceback shows up in the right place.
e.args = (meta.cause_msg,)
e.__cause__ = meta.exc_value
errors.append(e)
if len(errors) == 1:
> raise errors[0]
../_pytest/unraisableexception.py:79:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
config = <_pytest.config.Config object at 0x7faf9ff49010>
def collect_unraisable(config: Config) -> None:
pop_unraisable = config.stash[unraisable_exceptions].pop
errors: list[pytest.PytestUnraisableExceptionWarning | RuntimeError] = []
meta = None
hook_error = None
try:
while True:
try:
meta = pop_unraisable()
except IndexError:
break
if isinstance(meta, BaseException):
hook_error = RuntimeError("Failed to process unraisable exception")
hook_error.__cause__ = meta
errors.append(hook_error)
continue
msg = meta.msg
try:
> warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
E pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection <sqlite3.Connection object at 0x7faf88169c60>: None
../_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning
Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/resource_tracker.py", line 237, in _ensure_running_and_write self._write(to_send) ~~~~~~~~~~~^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/resource_tracker.py", line 275, in _write nbytes = os.write(self._fd, msg) BrokenPipeError: [Errno 32] Broken pipe During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 353, in from_call result: TResult | None = func() ~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 245, in <lambda> lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call yield File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 179, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 1720, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 166, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/tests/test_resource_identifier.py", line 502, in test_event_scoped_resource_id_many_threads pool = multiprocessing.pool.ThreadPool() File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 930, in __init__ Pool.__init__(self, processes, initializer, initargs) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 196, in __init__ self._change_notifier = self._ctx.SimpleQueue() ~~~~~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/context.py", line 113, in SimpleQueue return SimpleQueue(ctx=self.get_context()) File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/queues.py", line 361, in __init__ self._rlock = ctx.Lock() ~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/context.py", line 68, in Lock return Lock(ctx=self.get_context()) File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/synchronize.py", line 176, in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/synchronize.py", line 79, in __init__ register(self._semlock.name, "semaphore") ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/resource_tracker.py", line 268, in register self._send('REGISTER', name, rtype) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/resource_tracker.py", line 285, in _send self._ensure_running_and_write(msg) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/resource_tracker.py", line 239, in _ensure_running_and_write self._teardown_dead_process() ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/resource_tracker.py", line 166, in _teardown_dead_process warnings.warn('resource_tracker: process died unexpectedly, ' ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 'relaunching. Some resources might leak.') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ UserWarning: resource_tracker: process died unexpectedly, relaunching. Some resources might leak.
Skipped tests (20)
| Submodule | Test | Skip message |
|---|---|---|
| core | core/stream.py::obspy.core.stream._is_pickle | Skipped: all tests skipped by +SKIP option |
| core.util | core/util/misc.py::obspy.core.util.misc.CatchOutput | Skipped: all tests skipped by +SKIP option |
| core.util | core/util/misc.py::obspy.core.util.misc.SuppressOutput | Skipped: all tests skipped by +SKIP option |
| core.util | core/util/misc.py::obspy.core.util.misc.TemporaryWorkingDirectory | Skipped: all tests skipped by +SKIP option |
| geodetics | geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_gps_2_dist_azimuth_bug150 | Skipped: Geographiclib installed, not using calc_vincenty_inverse |
| imaging | imaging/tests/test_mopad_script.py::TestMopad::test_script_plot | Skipped: Currently broken until further review. |
| io.ascii | io/ascii/core.py::obspy.io.ascii.core._is_slist | Skipped: all tests skipped by +SKIP option |
| io.ascii | io/ascii/core.py::obspy.io.ascii.core._is_tspair | Skipped: all tests skipped by +SKIP option |
| io.gcf | io/gcf/core.py::obspy.io.gcf.core._write_gcf | Skipped: all tests skipped by +SKIP option |
| io.nordic | io/nordic/utils.py::obspy.io.nordic.utils._evmagtonor | Skipped: all tests skipped by +SKIP option |
| io.nordic | io/nordic/utils.py::obspy.io.nordic.utils._nortoevmag | Skipped: all tests skipped by +SKIP option |
| io.pde | io/pde/mchedr.py::obspy.io.pde.mchedr._is_mchedr | Skipped: all tests skipped by +SKIP option |
| io.quakeml | io/quakeml/core.py::obspy.io.quakeml.core._is_quakeml | Skipped: all tests skipped by +SKIP option |
| io.seisan | io/seisan/core.py::obspy.io.seisan.core._is_seisan | Skipped: all tests skipped by +SKIP option |
| io.sh | io/sh/core.py::obspy.io.sh.core._is_asc | Skipped: all tests skipped by +SKIP option |
| io.sh | io/sh/core.py::obspy.io.sh.core._is_q | Skipped: all tests skipped by +SKIP option |
| io.wav | io/wav/core.py::obspy.io.wav.core._is_wav | Skipped: all tests skipped by +SKIP option |
| io.y | io/y/core.py::obspy.io.y.core._is_y | Skipped: all tests skipped by +SKIP option |
| signal | signal/quality_control.py::obspy.signal.quality_control.MSEEDMetadata | Skipped: all tests skipped by +SKIP option |
| signal | signal/tests/test_quality_control.py::TestQualityControl::test_schema_validation | Skipped: Test requires the jsonschema module |