#139677 Report by node gh-actions covering 200 tests from 61 modules resulted into 6 errors
Report
- ObsPy version
- 1.0.3.post0+5629.gb166b03f65.…
- GitHub Pull Request
- -
- Report file
- JSON document
- Total runtime
- 199.0 sec
- Report date/time
- May 22, 2024, 5:26 a.m.
System / Python
- Architecture
- 64bit
- Machine
- x86_64
- Node
- gh-actions
- Processor
- x86_64
- Python Compiler
- GCC 12.3.0
- Python Implementation
- CPython
- Python Version
- 3.12.3
- Release
- 6.5.0-1021-azure
- System
- Linux
- Version
- #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024
Dependencies
- cartopy
- 0.23.0
- decorator
- 5.1.1
- flake8
- ---
- geographiclib
- 2.0
- lxml
- 5.2.2
- matplotlib
- 3.8.4
- numpy
- 1.26.4
- obspy
- 1.0.3.post0+5629.gb166b03f65.rizac.master
- pyproj
- 3.6.1
- pytest
- 8.2.1
- pytest-json-report
- 1.5.0
- requests
- 2.32.2
- scipy
- 1.13.0
- setuptools
- 70.0.0
- shapefile
- ---
- sqlalchemy
- 1.4.49
Modules (61)
Module | Errors / Failures | Tracebacks | ||||
---|---|---|---|---|---|---|
obspy.clients.earthworm | 1 | 9 | 9 | - | 2.99s | 1 |
obspy.clients.fdsn | 3 | 137 | 135 | 2 | 125.74s | 2 3 4 |
obspy.clients.filesystem | Not tested | - | - | - | - | - |
obspy.clients.iris | 2 | 15 | 15 | - | 10.70s | 5 6 |
obspy.clients.neic | - | 5 | 5 | - | 2.84s | - |
obspy.clients.nrl | - | 3 | 3 | - | 1.48s | - |
obspy.clients.seedlink | - | 12 | 9 | 3 | 13.09s | - |
obspy.clients.syngine | - | 18 | 18 | - | 19.10s | - |
obspy.core | - | 1 | 1 | - | 2.25s | - |
obspy.core.event | Not tested | - | - | - | - | - |
obspy.core.inventory | Not tested | - | - | - | - | - |
obspy.core.util | Not tested | - | - | - | - | - |
obspy.geodetics | Not tested | - | - | - | - | - |
obspy.imaging | Not tested | - | - | - | - | - |
obspy.io.ah | Not tested | - | - | - | - | - |
obspy.io.alsep | Not tested | - | - | - | - | - |
obspy.io.arclink | Not tested | - | - | - | - | - |
obspy.io.ascii | Not tested | - | - | - | - | - |
obspy.io.cmtsolution | Not tested | - | - | - | - | - |
obspy.io.cnv | Not tested | - | - | - | - | - |
obspy.io.css | Not tested | - | - | - | - | - |
obspy.io.csv | Not tested | - | - | - | - | - |
obspy.io.cybershake | Not tested | - | - | - | - | - |
obspy.io.dmx | Not tested | - | - | - | - | - |
obspy.io.focmec | Not tested | - | - | - | - | - |
obspy.io.gcf | Not tested | - | - | - | - | - |
obspy.io.gse2 | Not tested | - | - | - | - | - |
obspy.io.hypodd | Not tested | - | - | - | - | - |
obspy.io.iaspei | Not tested | - | - | - | - | - |
obspy.io.json | Not tested | - | - | - | - | - |
obspy.io.kinemetrics | Not tested | - | - | - | - | - |
obspy.io.kml | Not tested | - | - | - | - | - |
obspy.io.mseed | Not tested | - | - | - | - | - |
obspy.io.ndk | Not tested | - | - | - | - | - |
obspy.io.nied | Not tested | - | - | - | - | - |
obspy.io.nlloc | Not tested | - | - | - | - | - |
obspy.io.nordic | Not tested | - | - | - | - | - |
obspy.io.pdas | Not tested | - | - | - | - | - |
obspy.io.pde | Not tested | - | - | - | - | - |
obspy.io.quakeml | Not tested | - | - | - | - | - |
obspy.io.reftek | Not tested | - | - | - | - | - |
obspy.io.rg16 | Not tested | - | - | - | - | - |
obspy.io.sac | Not tested | - | - | - | - | - |
obspy.io.scardec | Not tested | - | - | - | - | - |
obspy.io.seg2 | Not tested | - | - | - | - | - |
obspy.io.segy | Not tested | - | - | - | - | - |
obspy.io.seisan | Not tested | - | - | - | - | - |
obspy.io.seiscomp | Not tested | - | - | - | - | - |
obspy.io.sh | Not tested | - | - | - | - | - |
obspy.io.shapefile | Not tested | - | - | - | - | - |
obspy.io.stationtxt | Not tested | - | - | - | - | - |
obspy.io.stationxml | Not tested | - | - | - | - | - |
obspy.io.wav | Not tested | - | - | - | - | - |
obspy.io.win | Not tested | - | - | - | - | - |
obspy.io.xseed | Not tested | - | - | - | - | - |
obspy.io.y | Not tested | - | - | - | - | - |
obspy.io.zmap | Not tested | - | - | - | - | - |
obspy.realtime | Not tested | - | - | - | - | - |
obspy.scripts | Not tested | - | - | - | - | - |
obspy.signal | Not tested | - | - | - | - | - |
obspy.taup | Not tested | - | - | - | - | - |
Summary | 6 | 200 | 195 | 5 | 198.97s | 6 |
Tracebacks (6)
Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: Optional[TResult] = func() ^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda> lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, 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 182, in _multicall return outcome.get_result() ^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py", line 100, in get_result raise exc.with_traceback(exc.__traceback__) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/threadexception.py", line 87, in pytest_runtest_call yield from thread_exception_runtest_hook() File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/threadexception.py", line 63, in thread_exception_runtest_hook yield File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", line 90, in pytest_runtest_call yield from unraisable_exception_runtest_hook() File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", line 65, in unraisable_exception_runtest_hook yield File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call yield from self._runtest_for(item, "call") File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py", line 833, in _runtest_for yield File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py", line 878, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py", line 257, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 183, in pytest_runtest_call raise e File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call item.runtest() File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, 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 139, in _multicall raise exception.with_traceback(exception.__traceback__) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call result = testfunction(**testargs) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py", line 232, in fun return caller(func, *(extras + args), **kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py", line 119, in skip_on_network_error return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/earthworm/tests/test_client.py", line 111, in test_get_waveform_no_cleanup assert len(ew_stream) >= 2 AssertionError: assert 1 >= 2 + where 1 = len(<obspy.core.stream.Stream object at 0x7f4a5546a270>)
Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/threadexception.py", line 63, in thread_exception_runtest_hook yield File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", line 90, in pytest_runtest_call yield from unraisable_exception_runtest_hook() File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", line 65, in unraisable_exception_runtest_hook yield File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call yield from self._runtest_for(item, "call") File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py", line 833, in _runtest_for yield File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py", line 878, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py", line 257, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 183, in pytest_runtest_call raise e File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call item.runtest() File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, 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 139, in _multicall raise exception.with_traceback(exception.__traceback__) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call result = testfunction(**testargs) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/unittest/mock.py", line 1390, in patched return func(*newargs, **newkeywargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_client.py", line 1451, in test_authentication_exceptions Client(eida_token="TEST") File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/client.py", line 277, in __init__ self._discover_services() File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/client.py", line 1650, in _discover_services raise FDSNNoServiceException(msg) obspy.clients.fdsn.header.FDSNNoServiceException: No FDSN services could be discovered at 'http://service.iris.edu'. This could be due to a temporary service outage or an invalid FDSN service address. 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 341, in from_call result: Optional[TResult] = func() ^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda> lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, 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 182, in _multicall return outcome.get_result() ^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py", line 100, in get_result raise exc.with_traceback(exc.__traceback__) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/threadexception.py", line 87, in pytest_runtest_call yield from thread_exception_runtest_hook() File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/threadexception.py", line 77, in thread_exception_runtest_hook warnings.warn(pytest.PytestUnhandledThreadExceptionWarning(msg)) pytest.PytestUnhandledThreadExceptionWarning: Exception in thread Thread-103 Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/client.py", line 1543, in run code, data = download_url( ^^^^^^^^^^ ValueError: not enough values to unpack (expected 2, got 0)
Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/routing/routing_client.py", line 96, in _try_download_bulk return _download_bulk(r) ^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/routing/routing_client.py", line 139, in _download_bulk return fct(bulk_str + r["bulk_str"]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/client.py", line 1259, in get_stations_bulk inv = read_inventory(data_stream, format='STATIONXML') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py", line 232, in fun return caller(func, *(extras + args), **kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py", line 298, in _map_example_filename return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py", line 91, in read_inventory return _generic_reader(path_or_file_object, _read, format=format, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", line 625, in _generic_reader return callback_func(pathname_or_url, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py", line 232, in fun return caller(func, *(extras + args), **kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py", line 143, in uncompress_file return func(filename, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py", line 100, in _read inventory, format = _read_from_plugin('inventory', filename, format=format, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", line 426, in _read_from_plugin list_obj = read_format(filename, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/core.py", line 152, in _read_stationxml root = etree.parse(path_or_file_object).getroot() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/lxml/etree.pyx", line 3590, in lxml.etree.parse File "src/lxml/parser.pxi", line 1969, in lxml.etree._parseDocument File "src/lxml/parser.pxi", line 1989, in lxml.etree._parseMemoryDocument File "src/lxml/parser.pxi", line 1876, in lxml.etree._parseDoc File "src/lxml/parser.pxi", line 1164, in lxml.etree._BaseParser._parseDoc File "src/lxml/parser.pxi", line 633, in lxml.etree._ParserContext._handleParseResultDoc File "src/lxml/parser.pxi", line 743, in lxml.etree._handleParseResult File "src/lxml/parser.pxi", line 672, in lxml.etree._raiseParseError File "<string>", line 1 lxml.etree.XMLSyntaxError: Start tag expected, '<' not found, line 1, column 1 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 341, in from_call result: Optional[TResult] = func() ^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda> lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, 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 182, in _multicall return outcome.get_result() ^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py", line 100, in get_result raise exc.with_traceback(exc.__traceback__) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/threadexception.py", line 87, in pytest_runtest_call yield from thread_exception_runtest_hook() File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/threadexception.py", line 63, in thread_exception_runtest_hook yield File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", line 90, in pytest_runtest_call yield from unraisable_exception_runtest_hook() File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", line 65, in unraisable_exception_runtest_hook yield File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call yield from self._runtest_for(item, "call") File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py", line 833, in _runtest_for yield File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py", line 878, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py", line 257, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 183, in pytest_runtest_call raise e File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call item.runtest() File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, 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 139, in _multicall raise exception.with_traceback(exception.__traceback__) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call result = testfunction(**testargs) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_federator_routing_client.py", line 332, in test_get_stations_integration_test inv2 = self.client.get_stations_bulk( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py", line 232, in fun return caller(func, *(extras + args), **kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/routing/routing_client.py", line 84, in _assert_filename_not_in_kwargs return f(*args, **kwargs) ^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/routing/federator_routing_client.py", line 144, in get_stations_bulk return self._download_stations(split, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/routing/routing_client.py", line 244, in _download_stations return self._download_parallel(split, data_type="station", **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/routing/routing_client.py", line 270, in _download_parallel results = pool.map(_try_download_bulk, dl_requests) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py", line 367, in map return self._map_async(func, iterable, mapstar, chunksize).get() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py", line 774, in get raise self._value File "/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py", line 125, in worker result = (True, func(*args, **kwds)) ^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py", line 48, in mapstar return list(map(*args)) ^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/routing/routing_client.py", line 99, in _try_download_bulk warnings.warn( UserWarning: Failed to download data of type 'station' from 'http://service.iris.edu' due to: Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/routing/routing_client.py", line 96, in _try_download_bulk return _download_bulk(r) ^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/routing/routing_client.py", line 139, in _download_bulk return fct(bulk_str + r["bulk_str"]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/client.py", line 1259, in get_stations_bulk inv = read_inventory(data_stream, format='STATIONXML') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py", line 232, in fun return caller(func, *(extras + args), **kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py", line 298, in _map_example_filename return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py", line 91, in read_inventory return _generic_reader(path_or_file_object, _read, format=format, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", line 625, in _generic_reader return callback_func(pathname_or_url, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py", line 232, in fun return caller(func, *(extras + args), **kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py", line 143, in uncompress_file return func(filename, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py", line 100, in _read inventory, format = _read_from_plugin('inventory', filename, format=format, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", line 426, in _read_from_plugin list_obj = read_format(filename, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/core.py", line 152, in _read_stationxml root = etree.parse(path_or_file_object).getroot() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/lxml/etree.pyx", line 3590, in lxml.etree.parse File "src/lxml/parser.pxi", line 1969, in lxml.etree._parseDocument File "src/lxml/parser.pxi", line 1989, in lxml.etree._parseMemoryDocument File "src/lxml/parser.pxi", line 1876, in lxml.etree._parseDoc File "src/lxml/parser.pxi", line 1164, in lxml.etree._BaseParser._parseDoc File "src/lxml/parser.pxi", line 633, in lxml.etree._ParserContext._handleParseResultDoc File "src/lxml/parser.pxi", line 743, in lxml.etree._handleParseResult File "src/lxml/parser.pxi", line 672, in lxml.etree._raiseParseError File "<string>", line 1 lxml.etree.XMLSyntaxError: Start tag expected, '<' not found, line 1, column 1
Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: Optional[TResult] = func() ^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda> lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, 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 182, in _multicall return outcome.get_result() ^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py", line 100, in get_result raise exc.with_traceback(exc.__traceback__) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall teardown.throw(outcome._exception) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/threadexception.py", line 87, in pytest_runtest_call yield from thread_exception_runtest_hook() File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/threadexception.py", line 63, in thread_exception_runtest_hook yield File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py", line 169, in _multicall teardown.send(outcome._result) File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", line 90, in pytest_runtest_call yield from unraisable_exception_runtest_hook() File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", line 80, in unraisable_exception_runtest_hook warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) pytest.PytestUnraisableExceptionWarning: Exception ignored in: <function Pool.__del__ at 0x7f4a55854400> Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py", line 268, in __del__ _warn(f"unclosed running multiprocessing pool {self!r}", ResourceWarning: unclosed running multiprocessing pool <multiprocessing.pool.ThreadPool state=RUN pool_size=1>
913 or nothing, depending on the ``output`` parameter. 914 915 .. rubric:: Examples 916 917 (1) Returning frequency, amplitude, phase of first point. 918 919 >>> from obspy.clients.iris import Client 920 >>> client = Client() 921 >>> dt = UTCDateTime("2005-01-01") 922 >>> data = client.evalresp("IU", "ANMO", "00", "BHZ", dt, UNEXPECTED EXCEPTION: <HTTPError 500: ''> Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py", line 1361, in __run exec(compile(example.source, filename, "single", File "<doctest obspy.clients.iris.client.Client.evalresp[3]>", line 1, in <module> File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/iris/client.py", line 970, in evalresp data = self._fetch("evalresp", **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/iris/client.py", line 124, in _fetch response = urllib_request.urlopen(req, timeout=self.timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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 521, in open response = meth(req, response) ^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/urllib/request.py", line 630, in http_response response = self.parent.error( ^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.12/urllib/request.py", line 559, in error return self._call_chain(*args) ^^^^^^^^^^^^^^^^^^^^^^^ 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 639, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 500: /home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/iris/client.py:922: UnexpectedException
cls = <class '_pytest.runner.CallInfo'> func = <function call_and_report.<locals>.<lambda> at 0x7f4a54c4cfe0> when = 'call' reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :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 start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() ../_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) ../_pytest/runner.py:241: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <HookCaller 'pytest_runtest_call'> kwargs = {'item': <DoctestItem obspy.clients.iris.client.Client.sacpz>} 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:513: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f4a62692c60> hook_name = 'pytest_runtest_call' methods = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/home/runner/miniconda3/envs/test/lib/python3.1...945c0>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x7f4a55fbe8d0>>, ...] kwargs = {'item': <DoctestItem obspy.clients.iris.client.Client.sacpz>} 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='runner', plugin=<module '_pytest.runner' from '/home/runner/miniconda3/envs/test/lib/python3.1...945c0>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x7f4a55fbe8d0>>, ...] caller_kwargs = {'item': <DoctestItem obspy.clients.iris.client.Client.sacpz>} 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 only_new_style_wrappers = True 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: for argname in hook_impl.argnames: if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) if hook_impl.hookwrapper: only_new_style_wrappers = False try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) wrapper_gen = cast(Generator[None, Result[object], None], res) next(wrapper_gen) # first yield teardowns.append((wrapper_gen, hook_impl)) except StopIteration: _raise_wrapfail(wrapper_gen, "did not yield") 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: # Fast path - only new-style wrappers, no Result. if only_new_style_wrappers: 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: teardown.throw(exception) # type: ignore[union-attr] else: teardown.send(result) # type: ignore[union-attr] # 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() # type: ignore[union-attr] except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield") # type: ignore[arg-type] if exception is not None: raise exception.with_traceback(exception.__traceback__) else: return result # Slow path - need to support old-style wrappers. else: if firstresult: # first result hooks return a single value outcome: Result[object | list[object]] = Result( results[0] if results else None, exception ) else: outcome = Result(results, exception) # run all wrapper post-yield blocks for teardown in reversed(teardowns): if isinstance(teardown, tuple): try: teardown[0].send(outcome) except StopIteration: pass except BaseException as e: _warn_teardown_exception(hook_name, teardown[1], e) raise else: _raise_wrapfail(teardown[0], "has second yield") else: try: if outcome._exception is not None: teardown.throw(outcome._exception) else: teardown.send(outcome._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: outcome.force_result(si.value) continue except BaseException as e: outcome.force_exception(e) continue _raise_wrapfail(teardown, "has second yield") > return outcome.get_result() ../pluggy/_callers.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pluggy._result.Result object at 0x7f4a5334fc70> 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 if exc is None: return cast(ResultType, self._result) else: > raise exc.with_traceback(exc.__traceback__) ../pluggy/_result.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/home/runner/miniconda3/envs/test/lib/python3.1...945c0>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x7f4a55fbe8d0>>, ...] caller_kwargs = {'item': <DoctestItem obspy.clients.iris.client.Client.sacpz>} 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 only_new_style_wrappers = True 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: for argname in hook_impl.argnames: if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) if hook_impl.hookwrapper: only_new_style_wrappers = False try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) wrapper_gen = cast(Generator[None, Result[object], None], res) next(wrapper_gen) # first yield teardowns.append((wrapper_gen, hook_impl)) except StopIteration: _raise_wrapfail(wrapper_gen, "did not yield") 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: # Fast path - only new-style wrappers, no Result. if only_new_style_wrappers: 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: teardown.throw(exception) # type: ignore[union-attr] else: teardown.send(result) # type: ignore[union-attr] # 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() # type: ignore[union-attr] except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield") # type: ignore[arg-type] if exception is not None: raise exception.with_traceback(exception.__traceback__) else: return result # Slow path - need to support old-style wrappers. else: if firstresult: # first result hooks return a single value outcome: Result[object | list[object]] = Result( results[0] if results else None, exception ) else: outcome = Result(results, exception) # run all wrapper post-yield blocks for teardown in reversed(teardowns): if isinstance(teardown, tuple): try: teardown[0].send(outcome) except StopIteration: pass except BaseException as e: _warn_teardown_exception(hook_name, teardown[1], e) raise else: _raise_wrapfail(teardown[0], "has second yield") else: try: if outcome._exception is not None: > teardown.throw(outcome._exception) ../pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None, None, None]: > yield from thread_exception_runtest_hook() ../_pytest/threadexception.py:87: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None, None, None]: with catch_threading_exception() as cm: try: > yield ../_pytest/threadexception.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/home/runner/miniconda3/envs/test/lib/python3.1...945c0>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x7f4a55fbe8d0>>, ...] caller_kwargs = {'item': <DoctestItem obspy.clients.iris.client.Client.sacpz>} 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 only_new_style_wrappers = True 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: for argname in hook_impl.argnames: if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) if hook_impl.hookwrapper: only_new_style_wrappers = False try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) wrapper_gen = cast(Generator[None, Result[object], None], res) next(wrapper_gen) # first yield teardowns.append((wrapper_gen, hook_impl)) except StopIteration: _raise_wrapfail(wrapper_gen, "did not yield") 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: # Fast path - only new-style wrappers, no Result. if only_new_style_wrappers: 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: teardown.throw(exception) # type: ignore[union-attr] else: teardown.send(result) # type: ignore[union-attr] # 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() # type: ignore[union-attr] except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield") # type: ignore[arg-type] if exception is not None: raise exception.with_traceback(exception.__traceback__) else: return result # Slow path - need to support old-style wrappers. else: if firstresult: # first result hooks return a single value outcome: Result[object | list[object]] = Result( results[0] if results else None, exception ) else: outcome = Result(results, exception) # run all wrapper post-yield blocks for teardown in reversed(teardowns): if isinstance(teardown, tuple): try: teardown[0].send(outcome) except StopIteration: pass except BaseException as e: _warn_teardown_exception(hook_name, teardown[1], e) raise else: _raise_wrapfail(teardown[0], "has second yield") else: try: if outcome._exception is not None: teardown.throw(outcome._exception) else: > teardown.send(outcome._result) ../pluggy/_callers.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None, None, None]: > yield from unraisable_exception_runtest_hook() ../_pytest/unraisableexception.py:90: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: <socket.socket [closed] fd=-1, family=2, type=1, proto=6> E E Traceback (most recent call last): E File "/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py", line 1361, in __run E exec(compile(example.source, filename, "single", E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ResourceWarning: unclosed <socket.socket [closed] fd=13, family=2, type=1, proto=6> ../_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning
Skipped tests (5)
Submodule | Test | Skip message |
---|---|---|
clients.fdsn | clients/fdsn/tests/test_client.py::TestClient::test_trim_stream_after_get_waveform | Skipped: data no longer available |
clients.fdsn | clients/fdsn/tests/test_client.py::TestClient::test_eida_token_resolution | Skipped: Token is expired |
clients.seedlink | clients/seedlink/tests/test_slclient.py::TestSLClient::test_info | Skipped: test must be started manually |
clients.seedlink | clients/seedlink/tests/test_slclient.py::TestSLClient::test_time_window | Skipped: test must be started manually |
clients.seedlink | clients/seedlink/tests/test_slclient.py::TestSLClient::test_issue708 | Skipped: test must be started manually |