#134390 Report by node gh-actions covering 200 tests from 60 modules resulted into 8 errors
Report
- ObsPy version
- 1.1.1.post0+2824.gd2981ba429.…
- GitHub Pull Request
- -
- Report file
- JSON document
- Total runtime
- 146.9 sec
- Report date/time
- May 6, 2023, 6:14 a.m.
System / Python
- Architecture
- 64bit
- Machine
- x86_64
- Node
- gh-actions
- Processor
- x86_64
- Python Compiler
- GCC 11.3.0
- Python Implementation
- CPython
- Python Version
- 3.11.3
- Release
- 5.15.0-1036-azure
- System
- Linux
- Version
- #43-Ubuntu SMP Wed Mar 29 16:11:05 UTC 2023
Dependencies
- cartopy
- 0.21.1
- decorator
- 5.1.1
- flake8
- ---
- geographiclib
- 2.0
- lxml
- 4.9.2
- matplotlib
- 3.7.1
- numpy
- 1.24.3
- obspy
- 1.1.1.post0+2824.gd2981ba429.mithcell.master
- pyproj
- 3.5.0
- pytest
- 7.3.1
- pytest-json-report
- 1.5.0
- requests
- 2.29.0
- scipy
- 1.10.1
- setuptools
- 67.7.2
- shapefile
- ---
- sqlalchemy
- 2.0.12
Modules (60)
Module | Errors / Failures | Tracebacks | ||||
---|---|---|---|---|---|---|
obspy.clients.earthworm | - | 9 | 9 | - | 5.82s | - |
obspy.clients.fdsn | 3 | 137 | 135 | 2 | 71.60s | 1 2 3 |
obspy.clients.filesystem | Not tested | - | - | - | - | - |
obspy.clients.iris | 2 | 15 | 15 | - | 10.15s | 4 5 |
obspy.clients.neic | 1 | 5 | 5 | - | 3.34s | 6 |
obspy.clients.nrl | - | 3 | 3 | - | 3.79s | - |
obspy.clients.seedlink | 2 | 12 | 9 | 3 | 5.70s | 7 8 |
obspy.clients.syngine | - | 18 | 18 | - | 22.76s | - |
obspy.core | - | 1 | 1 | - | 1.72s | - |
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.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 | 8 | 200 | 195 | 5 | 146.94s | 8 |
Tracebacks (8)
Traceback (most recent call last): File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_client.py", line 382, in test_iris_event_catalog_availability assert {*self.client.services["available_event_catalogs"]} == \ AssertionError: assert {'GCMT\n ', '...'NEIC PDE\n '} == {'GCMT', 'ISC', 'NEIC PDE'} Extra items in the left set: 'ISC\n ' 'GCMT\n ' 'NEIC PDE\n ' Extra items in the right set: 'NEIC PDE' 'ISC' 'GCMT' Full diff: - {'NEIC PDE', 'ISC', 'GCMT'} + {'ISC\n ', 'GCMT\n ', 'NEIC PDE\n '}
Traceback (most recent call last): File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_client.py", line 814, in test_help_function_with_iris assert got[-2].startswith('Available catalogs:') AssertionError: assert False + where False = <built-in method startswith of str object at 0x7f6e6075c8f0>('Available catalogs:') + where <built-in method startswith of str object at 0x7f6e6075c8f0> = 'HLW'.startswith
Traceback (most recent call last): File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py", line 341, in from_call result: Optional[TResult] = func() ^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py", line 262, in <lambda> lambda: ihook(item=item, **kwds), when=when, reraise=reraise ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py", line 55, in _multicall gen.send(outcome) File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/threadexception.py", line 83, in pytest_runtest_call yield from thread_exception_runtest_hook() File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/threadexception.py", line 73, in thread_exception_runtest_hook warnings.warn(pytest.PytestUnhandledThreadExceptionWarning(msg)) pytest.PytestUnhandledThreadExceptionWarning: Exception in thread Thread-103 Traceback (most recent call last): File "/usr/share/miniconda3/envs/test/lib/python3.11/threading.py", line 1038, in _bootstrap_inner self.run() File "/usr/share/miniconda3/envs/test/lib/python3.11/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 "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/iris/tests/test_client.py", line 139, in test_evalresp client.evalresp(network="IU", station="ANMO", location="00", File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/iris/client.py", line 970, in evalresp data = self._fetch("evalresp", **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/iris/client.py", line 124, in _fetch response = urllib_request.urlopen(req, timeout=self.timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/urllib/request.py", line 216, in urlopen return opener.open(url, data, timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/urllib/request.py", line 525, in open response = meth(req, response) ^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/urllib/request.py", line 634, in http_response response = self.parent.error( ^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/urllib/request.py", line 563, in error return self._call_chain(*args) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/urllib/request.py", line 496, in _call_chain result = func(*args) ^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/urllib/request.py", line 643, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 500:
Traceback (most recent call last): File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/iris/client.py", line 331, in timeseries data = self._fetch("timeseries", param_list=filter, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/iris/client.py", line 124, in _fetch response = urllib_request.urlopen(req, timeout=self.timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/urllib/request.py", line 216, in urlopen return opener.open(url, data, timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/urllib/request.py", line 525, in open response = meth(req, response) ^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/urllib/request.py", line 634, in http_response response = self.parent.error( ^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/urllib/request.py", line 563, in error return self._call_chain(*args) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/urllib/request.py", line 496, in _call_chain result = func(*args) ^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/urllib/request.py", line 643, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 500: During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/iris/tests/test_client.py", line 268, in test_timeseries st2 = client.timeseries("IU", "ANMO", "00", "BHZ", t1, t2, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/share/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/iris/client.py", line 335, in timeseries raise Exception(msg) Exception: No waveform data available (HTTPError: HTTP Error 500: )
cls = <class '_pytest.runner.CallInfo'> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f6e612c62a0> 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: ihook(item=item, **kwds), when=when, reraise=reraise ) ../_pytest/runner.py:262: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'>, args = () kwargs = {'item': <DoctestItem obspy.clients.neic.client.Client.get_waveforms_nscl>} argname = 'item', firstresult = False def __call__(self, *args, **kwargs): if args: raise TypeError("hook calling supports only keyword arguments") assert not self.is_historic() # This is written to avoid expensive operations when not needed. if self.spec: for argname in self.spec.argnames: if argname not in kwargs: notincall = tuple(set(self.spec.argnames) - kwargs.keys()) warnings.warn( "Argument(s) {} which are declared in the hookspec " "can not be found in this hook call".format(notincall), stacklevel=2, ) break firstresult = self.spec.opts.get("firstresult") else: firstresult = False > return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) ../pluggy/_hooks.py:265: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f6e71c14cd0> hook_name = 'pytest_runtest_call' methods = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/share/miniconda3/envs/test/lib/python3.11/...3e5d0>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x7f6e659693d0>>, ...] kwargs = {'item': <DoctestItem obspy.clients.neic.client.Client.get_waveforms_nscl>} firstresult = False def _hookexec(self, hook_name, methods, kwargs, firstresult): # 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:80: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/share/miniconda3/envs/test/lib/python3.11/...3e5d0>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x7f6e659693d0>>, ...] caller_kwargs = {'item': <DoctestItem obspy.clients.neic.client.Client.get_waveforms_nscl>} firstresult = False def _multicall(hook_name, hook_impls, caller_kwargs, firstresult): """Execute a call into multiple python functions/methods and return the result(s). ``caller_kwargs`` comes from _HookCaller.__call__(). """ __tracebackhide__ = True results = [] excinfo = None try: # run impl and wrapper setup functions in a loop teardowns = [] 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: try: gen = hook_impl.function(*args) next(gen) # first yield teardowns.append(gen) except StopIteration: _raise_wrapfail(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: excinfo = sys.exc_info() finally: if firstresult: # first result hooks return a single value outcome = _Result(results[0] if results else None, excinfo) else: outcome = _Result(results, excinfo) # run all wrapper post-yield blocks for gen in reversed(teardowns): try: > gen.send(outcome) ../pluggy/_callers.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(hookwrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None, None, None]: > yield from unraisable_exception_runtest_hook() ../_pytest/unraisableexception.py:88: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: yield 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 "/usr/share/miniconda3/envs/test/lib/python3.11/copy.py", line 264, in <genexpr> E args = (deepcopy(arg, memo) for arg in args) E E ResourceWarning: unclosed <socket.socket [closed] fd=13, family=2, type=1, proto=6> ../_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning
200 Supports ``fnmatch`` wildcards, e.g. ``*`` and ``?``, in ``network``, 201 ``station``, ``location`` and ``channel``. 202 203 >>> client = Client('rtserver.ipgp.fr') 204 >>> info = client.get_info(station="FDFM") 205 >>> print(info) 206 [('G', 'FDFM')] 207 >>> info = client.get_info(station="FD?M", channel='*Z', 208 ... level='channel') 209 >>> print(info) # doctest: +NORMALIZE_WHITESPACE Expected: [('G', 'FDFM', '00', 'BHZ'), ('G', 'FDFM', '00', 'HHZ'), ('G', 'FDFM', '00', 'HNZ'), ('G', 'FDFM', '00', 'LHZ'), ('G', 'FDFM', '10', 'BHZ'), ('G', 'FDFM', '10', 'HHZ'), ('G', 'FDFM', '10', 'LHZ')] Got: [('G', 'FDFM', '00', 'BHZ'), ('G', 'FDFM', '00', 'HHZ'), ('G', 'FDFM', '00', 'HNZ'), ('G', 'FDFM', '00', 'LHZ'), ('G', 'FDFM', '10', 'HHZ')] /usr/share/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/seedlink/basic_client.py:209: DocTestFailure
078 >>> print(st) # doctest: +ELLIPSIS 079 1 Trace(s) in Stream: 080 G.FDFM.00.BHZ | 20... | 20.0 Hz, ... samples 081 082 Most servers support '?' single-character wildcard in location and 083 channel code fields: 084 085 >>> st = client.get_waveforms("G", "FDFM", "??", "B??", t, t + 5) 086 >>> st = st.sort(reverse=True) 087 >>> print(st) # doctest: +ELLIPSIS Differences (unified diff with -expected +actual): @@ -1,7 +1,4 @@ -6 Trace(s) in Stream: -G.FDFM.10.BHZ | 20... | 20.0 Hz, ... samples -G.FDFM.10.BHN | 20... | 20.0 Hz, ... samples -G.FDFM.10.BHE | 20... | 20.0 Hz, ... samples -G.FDFM.00.BHZ | 20... | 20.0 Hz, ... samples -G.FDFM.00.BHN | 20... | 20.0 Hz, ... samples -G.FDFM.00.BHE | 20... | 20.0 Hz, ... samples +3 Trace(s) in Stream: +G.FDFM.00.BHZ | 2023-05-06T10:48:39.650000Z - 2023-05-06T10:48:44.650000Z | 20.0 Hz, 101 samples +G.FDFM.00.BHN | 2023-05-06T10:48:39.650000Z - 2023-05-06T10:48:44.650000Z | 20.0 Hz, 101 samples +G.FDFM.00.BHE | 2023-05-06T10:48:39.650000Z - 2023-05-06T10:48:44.650000Z | 20.0 Hz, 101 samples /usr/share/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/seedlink/basic_client.py:87: DocTestFailure
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 |