#155055 Report by node gh-actions covering 2341 tests from 61 modules resulted into 1 error

Report

ObsPy version
1.5.0.post0+9.g23067361a6.obs…
GitHub Pull Request
-
Report file
JSON document
Total runtime
274.2 sec
Report date/time
March 17, 2026, 10:24 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.12.13
Release
6.14.0-1017-azure
System
Linux
Version
#17~24.04.1-Ubuntu SMP Mon Dec 1 20:10:50 UTC 2025

Dependencies

cartopy
0.25.0
decorator
5.2.1
flake8
---
geographiclib
2.1
lxml
6.0.2
matplotlib
3.10.8
numpy
2.4.2
obspy
1.5.0.post0+9.g23067361a6.obspy.maintenance.1.5.x
pyproj
3.7.2
pytest
9.0.2
pytest-json-report
1.5.0
requests
2.32.5
scipy
1.17.1
setuptools
82.0.1
shapefile
---
sqlalchemy
2.0.48

Modules (61)

Module Errors / Failures Tracebacks
obspy.clients.earthworm Not tested -
obspy.clients.fdsn - -
obspy.clients.filesystem - -
obspy.clients.iris Not tested -
obspy.clients.neic Not tested -
obspy.clients.nrl - -
obspy.clients.seedlink - -
obspy.clients.syngine Not tested -
obspy.core 1 1
obspy.core.event - -
obspy.core.inventory - -
obspy.core.util - -
obspy.geodetics - -
obspy.imaging - -
obspy.io.ah - -
obspy.io.alsep - -
obspy.io.arclink - -
obspy.io.ascii - -
obspy.io.cmtsolution - -
obspy.io.cnv - -
obspy.io.css - -
obspy.io.csv - -
obspy.io.cybershake - -
obspy.io.dmx - -
obspy.io.focmec - -
obspy.io.gcf - -
obspy.io.gse2 - -
obspy.io.hypodd - -
obspy.io.iaspei - -
obspy.io.json - -
obspy.io.kinemetrics - -
obspy.io.kml - -
obspy.io.mseed - -
obspy.io.ndk - -
obspy.io.nied - -
obspy.io.nlloc - -
obspy.io.nordic - -
obspy.io.pdas - -
obspy.io.pde - -
obspy.io.quakeml - -
obspy.io.reftek - -
obspy.io.rg16 - -
obspy.io.sac - -
obspy.io.scardec - -
obspy.io.seg2 - -
obspy.io.segy - -
obspy.io.seisan - -
obspy.io.seiscomp - -
obspy.io.sh - -
obspy.io.shapefile - -
obspy.io.stationtxt - -
obspy.io.stationxml - -
obspy.io.wav - -
obspy.io.win - -
obspy.io.xseed - -
obspy.io.y - -
obspy.io.zmap - -
obspy.realtime - -
obspy.scripts - -
obspy.signal - -
obspy.taup - -
Summary 1 1

Tracebacks (1)

Traceback (most recent call last):
File "/home/runner/miniconda3/envs/test/lib/python3.12/urllib/request.py", line 1344, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "/home/runner/miniconda3/envs/test/lib/python3.12/http/client.py", line 1358, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/home/runner/miniconda3/envs/test/lib/python3.12/http/client.py", line 1404, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/home/runner/miniconda3/envs/test/lib/python3.12/http/client.py", line 1353, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/home/runner/miniconda3/envs/test/lib/python3.12/http/client.py", line 1113, in _send_output
self.send(msg)
File "/home/runner/miniconda3/envs/test/lib/python3.12/http/client.py", line 1057, in send
self.connect()
File "/home/runner/miniconda3/envs/test/lib/python3.12/http/client.py", line 1499, in connect
self.sock = self._context.wrap_socket(self.sock,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/ssl.py", line 455, in wrap_socket
return self.sslsocket_class._create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/ssl.py", line 1041, in _create
self.do_handshake()
File "/home/runner/miniconda3/envs/test/lib/python3.12/ssl.py", line 1319, in do_handshake
self._sslobj.do_handshake()
ConnectionResetError: [Errno 104] Connection reset by peer
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 353, in from_call
result: TResult | None = func()
^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 245, in <lambda>
lambda: runtest_hook(item=item, **kwds),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/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.12/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.12/site-packages/pluggy/_callers.py", line 167, in _multicall
raise exception
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall
teardown.throw(exception)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call
yield
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall
teardown.throw(exception)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper
return result.get_result()
^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py", line 103, in get_result
raise exc.with_traceback(tb)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper
res = yield
^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall
teardown.throw(exception)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call
return (yield)
^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall
teardown.throw(exception)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper
return result.get_result()
^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py", line 103, in get_result
raise exc.with_traceback(tb)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper
res = yield
^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall
teardown.throw(exception)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call
return (yield)
^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 121, in _multicall
res = hook_impl.function(*args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 179, in pytest_runtest_call
item.runtest()
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py", line 1720, in runtest
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File "/home/runner/miniconda3/envs/test/lib/python3.12/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.12/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.12/site-packages/pluggy/_callers.py", line 167, in _multicall
raise exception
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 121, in _multicall
res = hook_impl.function(*args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py", line 166, in pytest_pyfunc_call
result = testfunction(**testargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_inventory.py", line 692, in test_location_plot_global
inv.plot(method='cartopy', outfile=image_path)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py", line 1024, in plot
fig.savefig(outfile)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/figure.py", line 3490, in savefig
self.canvas.print_figure(fname, **kwargs)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/backend_bases.py", line 2186, in print_figure
result = print_method(
^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/backend_bases.py", line 2042, in <lambda>
print_method = functools.wraps(meth)(lambda *args, **kwargs: meth(
^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/backends/backend_agg.py", line 481, in print_png
self._print_pil(filename_or_obj, "png", pil_kwargs, metadata)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/backends/backend_agg.py", line 429, in _print_pil
FigureCanvasAgg.draw(self)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/backends/backend_agg.py", line 382, in draw
self.figure.draw(self.renderer)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/artist.py", line 94, in draw_wrapper
result = draw(artist, renderer, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/figure.py", line 3257, in draw
mimage._draw_list_compositing_images(
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images
a.draw(renderer)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/cartopy/mpl/geoaxes.py", line 509, in draw
return super().draw(renderer=renderer, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py", line 3226, in draw
mimage._draw_list_compositing_images(
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images
a.draw(renderer)
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/cartopy/mpl/feature_artist.py", line 184, in draw
geoms = self._feature.intersecting_geometries(extent)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/cartopy/feature/__init__.py", line 312, in intersecting_geometries
return super().intersecting_geometries(extent)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/cartopy/feature/__init__.py", line 112, in intersecting_geometries
return (geom for geom in self.geometries() if
^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/cartopy/feature/__init__.py", line 291, in geometries
path = shapereader.natural_earth(resolution=self.scale,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/cartopy/io/shapereader.py", line 321, in natural_earth
return ne_downloader.path(format_dict)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/cartopy/io/__init__.py", line 205, in path
result_path = self.acquire_resource(target_path, format_dict)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/cartopy/io/shapereader.py", line 374, in acquire_resource
shapefile_online = self._urlopen(url)
^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/cartopy/io/__init__.py", line 243, in _urlopen
return urlopen(url)
^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/urllib/request.py", line 215, in urlopen
return opener.open(url, data, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/urllib/request.py", line 515, in open
response = self._open(req, data)
^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/urllib/request.py", line 532, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/urllib/request.py", line 492, in _call_chain
result = func(*args)
^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/urllib/request.py", line 1392, in https_open
return self.do_open(http.client.HTTPSConnection, req,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.12/urllib/request.py", line 1347, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 104] Connection reset by peer>

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

Slowest tests (20)

Runtime Test
15.325s io/xseed/tests/test_core.py::TestCore::test_response_calculation_from_seed_and_xseed
5.630s core/tests/test_event.py::TestEvent::test_plot_farfield_without_quiver_with_maps
5.572s io/arclink/tests/test_inventory_xml.py::TestArclinkInventory::test_auto_read_arclink_xml
4.615s taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_shoot_existing_ray_param
4.599s taup/tests/test_tau.py::TestTauPyModel::test_regional_models
4.526s taup/__init__.py::obspy.taup
3.496s core/stream.py::obspy.core.stream.read
2.635s taup/tests/test_tau.py::TestTauPyModel::test_vs_java_iasp91
2.208s signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_restricted_stacks
2.097s core/tests/test_trace.py::TestTrace::test_remove_response_plot
2.072s signal/tests/test_calibration.py::TestCalibration::test_relcal_different_overlaps
1.835s core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_local
1.809s taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_many_identically_named_phases
1.718s signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_stream_template_and_correlation_detector
1.631s core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_ortho
1.474s imaging/tests/test_ppsd.py::TestPPSD::test_ppsd_plot
1.411s taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_spherical_many_phases
1.274s signal/tests/test_interpolation.py::TestInterpolation::test_plot_lanczos_window
1.235s taup/tests/test_ray_paths.py::TestRayPathCalculations::test_compute_ray_paths
1.233s signal/tests/test_rotate.py::TestRotate::test_rotate2zne_against_lqt_different_combinations