{"log": null, "root": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy", "tests": [{"call": {"outcome": "passed", "duration": 0.004520003999999744}, "setup": {"outcome": "passed", "duration": 0.004447711000011623}, "lineno": 48, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_router_intialization_helper_function", "outcome": "passed", "keywords": ["test_router_intialization_helper_function", "filterwarnings", "TestBaseRoutingClient", "test_base_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002210900000250149}}, {"call": {"outcome": "passed", "duration": 0.0004280259999802638}, "setup": {"outcome": "passed", "duration": 0.00033540300000822754}, "lineno": 60, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_expansion_of_include_and_exclude_providers", "outcome": "passed", "keywords": ["test_expansion_of_include_and_exclude_providers", "filterwarnings", "TestBaseRoutingClient", "test_base_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017260999999280102}}, {"call": {"outcome": "passed", "duration": 0.00038436400001273796}, "setup": {"outcome": "passed", "duration": 0.0003447400000027301}, "lineno": 83, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_request_filtering", "outcome": "passed", "keywords": ["test_request_filtering", "filterwarnings", "TestBaseRoutingClient", "test_base_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018755900001110604}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00807431600000541, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_base_routing_client.py\", line 123, in test_downloading_waveforms\n    mock_instance.get_waveforms_bulk.return_value = obspy.read()\n                                                    ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031479500000841654}, "lineno": 113, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_downloading_waveforms", "outcome": "failed", "keywords": ["test_downloading_waveforms", "filterwarnings", "TestBaseRoutingClient", "test_base_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018253900000786416}}, {"call": {"outcome": "passed", "duration": 0.005893211000000065}, "setup": {"outcome": "passed", "duration": 0.0003597980000051848}, "lineno": 163, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_downloading_stations", "outcome": "passed", "keywords": ["test_downloading_stations", "filterwarnings", "TestBaseRoutingClient", "test_base_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017069699998728538}}, {"call": {"outcome": "passed", "duration": 0.0034298040000066976}, "setup": {"outcome": "passed", "duration": 0.0003415840000116077}, "lineno": 193, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_unexpected_exception_handling", "outcome": "passed", "keywords": ["test_unexpected_exception_handling", "filterwarnings", "TestBaseRoutingClient", "test_base_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000235096000011481}}, {"call": {"outcome": "passed", "duration": 0.0035794970000040394}, "setup": {"outcome": "passed", "duration": 0.03109681399999431}, "lineno": 1287, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_empty_bulk_string", "outcome": "passed", "keywords": ["test_empty_bulk_string", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017227000000730186}}, {"call": {"outcome": "passed", "duration": 0.0005101280000019415}, "setup": {"outcome": "passed", "duration": 0.0003408439999930124}, "lineno": 1298, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_validate_base_url", "outcome": "passed", "keywords": ["test_validate_base_url", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001836410000066735}}, {"call": {"outcome": "passed", "duration": 0.00038656800001035663}, "setup": {"outcome": "passed", "duration": 0.00032113699998603806}, "lineno": 1343, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_url_building", "outcome": "passed", "keywords": ["test_url_building", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016533800001639065}}, {"call": {"outcome": "passed", "duration": 0.04567433799999776}, "setup": {"outcome": "passed", "duration": 0.0003122889999929157}, "lineno": 1375, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_location_parameters", "outcome": "passed", "keywords": ["test_location_parameters", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017848100000605882}}, {"call": {"outcome": "passed", "duration": 0.00025413200000912184}, "setup": {"outcome": "passed", "duration": 0.0003576940000016293}, "lineno": 1455, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_url_building_with_auth", "outcome": "passed", "keywords": ["test_url_building_with_auth", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018837999999732347}}, {"call": {"outcome": "passed", "duration": 0.013296003999982986}, "setup": {"outcome": "passed", "duration": 0.000314253999988523}, "lineno": 1472, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_set_credentials", "outcome": "passed", "keywords": ["test_set_credentials", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001742540000009285}}, {"call": {"outcome": "passed", "duration": 0.006760857000017495}, "setup": {"outcome": "passed", "duration": 0.0003340499999922031}, "lineno": 1494, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_discover_services_defaults", "outcome": "passed", "keywords": ["test_discover_services_defaults", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017524599999774182}}, {"call": {"outcome": "passed", "duration": 0.0003340899999955127}, "setup": {"outcome": "passed", "duration": 0.00032542499999976826}, "lineno": 1504, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_simple_xml_parser", "outcome": "passed", "keywords": ["test_simple_xml_parser", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016728099998886137}}, {"call": {"outcome": "passed", "duration": 0.0002546829999801048}, "setup": {"outcome": "passed", "duration": 0.00031416300001296804}, "lineno": 1522, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_conflicting_params", "outcome": "passed", "keywords": ["test_conflicting_params", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017610700001569057}}, {"call": {"outcome": "passed", "duration": 0.001064476999999897}, "setup": {"outcome": "passed", "duration": 0.00031728900000871363}, "lineno": 1528, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_str_method", "outcome": "passed", "keywords": ["test_str_method", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018544499999961772}}, {"call": {"outcome": "passed", "duration": 0.014136089000004404}, "setup": {"outcome": "passed", "duration": 0.001379161000016893}, "lineno": 1547, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_download_urls_for_custom_mapping", "outcome": "passed", "keywords": ["test_download_urls_for_custom_mapping", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016357399999833433}}, {"call": {"outcome": "passed", "duration": 0.0005035850000183473}, "setup": {"outcome": "passed", "duration": 0.00037109900000587004}, "lineno": 1623, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_no_data_exception", "outcome": "passed", "keywords": ["test_no_data_exception", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016413499997725012}}, {"call": {"outcome": "passed", "duration": 0.0005021630000214827}, "setup": {"outcome": "passed", "duration": 0.00031940299999178023}, "lineno": 1633, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_request_too_large_exception", "outcome": "passed", "keywords": ["test_request_too_large_exception", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015799300001617667}}, {"call": {"outcome": "passed", "duration": 0.0005214880000039557}, "setup": {"outcome": "passed", "duration": 0.0003073200000187626}, "lineno": 1643, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_timeout_exception", "outcome": "passed", "keywords": ["test_timeout_exception", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015471699998670374}}, {"call": {"outcome": "passed", "duration": 0.001958647999998675}, "setup": {"outcome": "passed", "duration": 0.00032250799998223556}, "lineno": 1652, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_not_implemented_exception", "outcome": "passed", "keywords": ["test_not_implemented_exception", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016041800000721196}}, {"call": {"outcome": "passed", "duration": 0.0005090450000011515}, "setup": {"outcome": "passed", "duration": 0.00030505699999139324}, "lineno": 1662, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_bad_gateway_exception", "outcome": "passed", "keywords": ["test_bad_gateway_exception", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001537549999852672}}, {"call": {"outcome": "passed", "duration": 0.00048462999998832856}, "setup": {"outcome": "passed", "duration": 0.0003184320000002572}, "lineno": 1672, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_service_unavailable_exception", "outcome": "passed", "keywords": ["test_service_unavailable_exception", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017652800002565527}}, {"call": {"outcome": "passed", "duration": 0.0005160280000211515}, "setup": {"outcome": "passed", "duration": 0.0002962499999910051}, "lineno": 1682, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_bad_request_exception", "outcome": "passed", "keywords": ["test_bad_request_exception", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015362499999582724}}, {"call": {"outcome": "passed", "duration": 0.0004998089999901367}, "setup": {"outcome": "passed", "duration": 0.0003153549999979077}, "lineno": 1691, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_server_exception", "outcome": "passed", "keywords": ["test_server_exception", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001568110000107481}}, {"call": {"outcome": "passed", "duration": 0.0006218039999907887}, "setup": {"outcome": "passed", "duration": 0.00031300100002340514}, "lineno": 1700, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_too_many_requests_exception", "outcome": "passed", "keywords": ["test_too_many_requests_exception", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017701900000588466}}, {"call": {"outcome": "passed", "duration": 0.009848290000007864}, "setup": {"outcome": "passed", "duration": 0.00030506599998147976}, "lineno": 1709, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_iris_earthscope_message", "outcome": "passed", "keywords": ["test_iris_earthscope_message", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018137699998987955}}, {"call": {"outcome": "passed", "duration": 0.011979878999994753}, "setup": {"outcome": "passed", "duration": 0.0003197139999997489}, "lineno": 1720, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_resif_deprecation_message", "outcome": "passed", "keywords": ["test_resif_deprecation_message", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016246199999159217}}, {"call": {"outcome": "passed", "duration": 0.018491582999985212}, "setup": {"outcome": "passed", "duration": 0.0003287709999995059}, "lineno": 1731, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_query_a_non_existent_service_exception", "outcome": "passed", "keywords": ["test_query_a_non_existent_service_exception", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018549500001086017}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.06837148200000343, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/unittest/mock.py\", line 1396, in patched\n    return func(*newargs, **newkeywargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_client.py\", line 1792, in test_no_gzip\n    read().write(bio, 'MSEED')\n    ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032264899999745467}, "lineno": 1762, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_no_gzip", "outcome": "failed", "keywords": ["test_no_gzip", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019857899999919937}}, {"call": {"outcome": "passed", "duration": 0.01083923099997719}, "setup": {"outcome": "passed", "duration": 0.00033526299998243303}, "lineno": 1801, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_raise_on_error", "outcome": "passed", "keywords": ["test_raise_on_error", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027914800000417017}}, {"call": {"outcome": "passed", "duration": 0.00028360700000007455}, "setup": {"outcome": "passed", "duration": 0.0005834939999829203}, "lineno": 118, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_response_splitting", "outcome": "passed", "keywords": ["test_response_splitting", "filterwarnings", "TestEIDAWSRoutingClientNoNetwork", "test_eidaws_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015711200001078396}}, {"call": {"outcome": "passed", "duration": 0.00022270299999149756}, "setup": {"outcome": "passed", "duration": 0.0003266669999959504}, "lineno": 164, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_response_splitting_fdsnws_subdomain", "outcome": "passed", "keywords": ["test_response_splitting_fdsnws_subdomain", "filterwarnings", "TestEIDAWSRoutingClientNoNetwork", "test_eidaws_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015161200002467012}}, {"call": {"outcome": "passed", "duration": 0.004116866000003938}, "setup": {"outcome": "passed", "duration": 0.00029729199999906086}, "lineno": 178, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_non_allowed_parameters", "outcome": "passed", "keywords": ["test_non_allowed_parameters", "filterwarnings", "TestEIDAWSRoutingClientNoNetwork", "test_eidaws_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016319300002010095}}, {"call": {"outcome": "passed", "duration": 0.0006876970000178062}, "setup": {"outcome": "passed", "duration": 0.0003117279999855782}, "lineno": 211, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_get_waveforms", "outcome": "passed", "keywords": ["test_get_waveforms", "filterwarnings", "TestEIDAWSRoutingClientNoNetwork", "test_eidaws_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017820100001131323}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0029079809999927875, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/unittest/mock.py\", line 2217, in __init__\n    def __init__(self, name, parent):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.00030523699999207565}, "lineno": 230, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_get_waveforms_bulk", "outcome": "failed", "keywords": ["test_get_waveforms_bulk", "filterwarnings", "TestEIDAWSRoutingClientNoNetwork", "test_eidaws_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017719900000656708}}, {"call": {"outcome": "passed", "duration": 0.0009659239999848523}, "setup": {"outcome": "passed", "duration": 0.00035295600000040395}, "lineno": 288, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_get_stations", "outcome": "passed", "keywords": ["test_get_stations", "filterwarnings", "TestEIDAWSRoutingClientNoNetwork", "test_eidaws_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016301200000157223}}, {"call": {"outcome": "passed", "duration": 0.001016217000000097}, "setup": {"outcome": "passed", "duration": 0.0003215069999953357}, "lineno": 329, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_get_stations_bulk", "outcome": "passed", "keywords": ["test_get_stations_bulk", "filterwarnings", "TestEIDAWSRoutingClientNoNetwork", "test_eidaws_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021626200000923745}}, {"call": {"outcome": "passed", "duration": 0.002058604000012565}, "setup": {"outcome": "passed", "duration": 0.0005828920000112703}, "lineno": 101, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_response_splitting", "outcome": "passed", "keywords": ["test_response_splitting", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016045799998209986}}, {"call": {"outcome": "passed", "duration": 0.00023111000001563298}, "setup": {"outcome": "passed", "duration": 0.00031113800000071024}, "lineno": 138, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_response_splitting_fdsnws_subdomain", "outcome": "passed", "keywords": ["test_response_splitting_fdsnws_subdomain", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001630020000220611}}, {"call": {"outcome": "passed", "duration": 0.001259027999992668}, "setup": {"outcome": "passed", "duration": 0.0002996870000231411}, "lineno": 158, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_waveforms", "outcome": "passed", "keywords": ["test_get_waveforms", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016897399999038498}}, {"call": {"outcome": "passed", "duration": 0.0009293159999970158}, "setup": {"outcome": "passed", "duration": 0.0003160869999874194}, "lineno": 198, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_waveforms_bulk", "outcome": "passed", "keywords": ["test_get_waveforms_bulk", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016309299999761606}}, {"call": {"outcome": "passed", "duration": 0.0031704680000075314}, "setup": {"outcome": "passed", "duration": 0.0003155260000085036}, "lineno": 247, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_waveforms_error_handling", "outcome": "passed", "keywords": ["test_get_waveforms_error_handling", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016513700001041798}}, {"call": {"outcome": "passed", "duration": 0.001033919999997579}, "setup": {"outcome": "passed", "duration": 0.0003052470000000085}, "lineno": 256, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_stations", "outcome": "passed", "keywords": ["test_get_stations", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016387499999837019}}, {"call": {"outcome": "passed", "duration": 0.0010129009999957361}, "setup": {"outcome": "passed", "duration": 0.00033467200000814046}, "lineno": 296, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_stations_bulk", "outcome": "passed", "keywords": ["test_get_stations_bulk", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016183000002456538}}, {"call": {"outcome": "passed", "duration": 0.0003006889999994655}, "setup": {"outcome": "passed", "duration": 0.0003064390000133699}, "lineno": 346, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_stations_error_handling", "outcome": "passed", "keywords": ["test_get_stations_error_handling", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001754859999891778}}, {"call": {"outcome": "passed", "duration": 0.004240446000011389}, "setup": {"outcome": "passed", "duration": 0.00030051799998886963}, "lineno": 355, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_iris_deprecation", "outcome": "passed", "keywords": ["test_iris_deprecation", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019248800001037125}}, {"call": {"outcome": "passed", "duration": 0.00029330500001378823}, "setup": {"outcome": "passed", "duration": 0.0004099919999873691}, "lineno": 41, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDomain::test_rectangular_domain", "outcome": "passed", "keywords": ["test_rectangular_domain", "filterwarnings", "TestDomain", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000159515999996529}}, {"call": {"outcome": "passed", "duration": 0.00024067699999363867}, "setup": {"outcome": "passed", "duration": 0.00030396500000051674}, "lineno": 57, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDomain::test_circular_domain", "outcome": "passed", "keywords": ["test_circular_domain", "filterwarnings", "TestDomain", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015291500000103042}}, {"call": {"outcome": "passed", "duration": 0.0002338940000186085}, "setup": {"outcome": "passed", "duration": 0.0002747310000188463}, "lineno": 73, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDomain::test_global_domain", "outcome": "passed", "keywords": ["test_global_domain", "filterwarnings", "TestDomain", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015416600001572078}}, {"call": {"outcome": "passed", "duration": 0.00027218599998946047}, "setup": {"outcome": "passed", "duration": 0.00026833900000156063}, "lineno": 85, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDomain::test_subclassing_without_abstract_method", "outcome": "passed", "keywords": ["test_subclassing_without_abstract_method", "filterwarnings", "TestDomain", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016304300001479533}}, {"call": {"outcome": "passed", "duration": 0.0002232450000008157}, "setup": {"outcome": "passed", "duration": 0.0002915119999897797}, "lineno": 96, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDomain::test_instantiating_root_domain_object_fails", "outcome": "passed", "keywords": ["test_instantiating_root_domain_object_fails", "filterwarnings", "TestDomain", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001526229999910811}}, {"call": {"outcome": "passed", "duration": 0.006273472000003721}, "setup": {"outcome": "passed", "duration": 0.00027643299998203474}, "lineno": 108, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestRestrictions::test_passing_string_as_priority_list_raises", "outcome": "passed", "keywords": ["test_passing_string_as_priority_list_raises", "filterwarnings", "TestRestrictions", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016669999999407992}}, {"call": {"outcome": "passed", "duration": 0.0017433280000034301}, "setup": {"outcome": "passed", "duration": 0.0002894669999875532}, "lineno": 206, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestRestrictions::test_restrictions_object", "outcome": "passed", "keywords": ["test_restrictions_object", "filterwarnings", "TestRestrictions", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001609990000019934}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008569219999969846, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 283, in test_inventory_parsing\n    inv = obspy.read_inventory(testdata[\"channel_level_fdsn.txt\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008725509999862879}, "lineno": 272, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestRestrictions::test_inventory_parsing", "outcome": "failed", "keywords": ["test_inventory_parsing", "filterwarnings", "TestRestrictions", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018351999997889834}}, {"call": {"outcome": "passed", "duration": 0.004060631999976749}, "setup": {"outcome": "passed", "duration": 0.0002906600000187609}, "lineno": 294, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_channel_priority_filtering", "outcome": "passed", "keywords": ["test_channel_priority_filtering", "filterwarnings", "TestDownloadHelpersUtil", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016452500000241344}}, {"call": {"outcome": "passed", "duration": 0.002246461999988014}, "setup": {"outcome": "passed", "duration": 0.0002869930000031218}, "lineno": 351, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_location_priority_filtering", "outcome": "passed", "keywords": ["test_location_priority_filtering", "filterwarnings", "TestDownloadHelpersUtil", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015918599999054095}}, {"call": {"outcome": "passed", "duration": 0.0013486450000073091}, "setup": {"outcome": "passed", "duration": 0.00030176000001347347}, "lineno": 398, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_spherical_nearest_neighbour", "outcome": "passed", "keywords": ["test_spherical_nearest_neighbour", "filterwarnings", "TestDownloadHelpersUtil", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018166699999255798}}, {"call": {"outcome": "passed", "duration": 0.0007685479999963718}, "setup": {"outcome": "passed", "duration": 0.000283897000002753}, "lineno": 429, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_safe_delete", "outcome": "passed", "keywords": ["test_safe_delete", "filterwarnings", "TestDownloadHelpersUtil", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015945600000577542}}, {"call": {"outcome": "passed", "duration": 0.00113165100000856}, "setup": {"outcome": "passed", "duration": 0.0002928339999925811}, "lineno": 453, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_download_stationxml", "outcome": "passed", "keywords": ["test_download_stationxml", "filterwarnings", "TestDownloadHelpersUtil", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016105900002116869}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.02207562000000962, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 560, in test_download_and_split_mseed\n    st = obspy.read(os.path.join(tmpdir, filename))\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004049119999933737}, "lineno": 503, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_download_and_split_mseed", "outcome": "failed", "keywords": ["test_download_and_split_mseed", "filterwarnings", "TestDownloadHelpersUtil", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017427400001679416}}, {"call": {"outcome": "passed", "duration": 0.0011979850000045644}, "setup": {"outcome": "passed", "duration": 0.0003025420000142276}, "lineno": 808, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_stationxml_filename_helper", "outcome": "passed", "keywords": ["test_stationxml_filename_helper", "filterwarnings", "TestDownloadHelpersUtil", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001618400000040765}}, {"call": {"outcome": "passed", "duration": 0.0006104130000039731}, "setup": {"outcome": "passed", "duration": 0.0002858010000181821}, "lineno": 894, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_mseed_filename_helper", "outcome": "passed", "keywords": ["test_mseed_filename_helper", "filterwarnings", "TestDownloadHelpersUtil", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017298099999152328}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000899750999991511, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 960, in test_get_stationxml_contents\n    inv = obspy.read_inventory(testdata[\"AU.MEEK.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032307000000741937}, "lineno": 949, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_get_stationxml_contents", "outcome": "failed", "keywords": ["test_get_stationxml_contents", "filterwarnings", "TestDownloadHelpersUtil", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017462400001022615}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011981849999926908, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 980, in test_fast_vs_slow_get_stationxml_contents\n    _get_stationxml_contents_slow(testdata[\"AU.MEEK.xml\"])\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/mass_downloader/utils.py\", line 423, in _get_stationxml_contents_slow\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003543480000018917}, "lineno": 971, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_fast_vs_slow_get_stationxml_contents", "outcome": "failed", "keywords": ["test_fast_vs_slow_get_stationxml_contents", "filterwarnings", "TestDownloadHelpersUtil", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017831100001330924}}, {"call": {"outcome": "passed", "duration": 0.0002949169999908463}, "setup": {"outcome": "passed", "duration": 0.0002880649999781326}, "lineno": 981, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_channel_str_representation", "outcome": "passed", "keywords": ["test_channel_str_representation", "filterwarnings", "TestDownloadHelpersUtil", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001582140000095933}}, {"call": {"outcome": "passed", "duration": 0.00036896500000693777}, "setup": {"outcome": "passed", "duration": 0.0002772250000191434}, "lineno": 1001, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestTimeInterval::test_repr", "outcome": "passed", "keywords": ["test_repr", "filterwarnings", "TestTimeInterval", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015370500000244647}}, {"call": {"outcome": "passed", "duration": 0.0005865100000050916}, "setup": {"outcome": "passed", "duration": 0.0002763040000104411}, "lineno": 1030, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestChannel::test_temporal_bounds", "outcome": "passed", "keywords": ["test_temporal_bounds", "filterwarnings", "TestChannel", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015383499999188643}}, {"call": {"outcome": "passed", "duration": 0.00046127600001000246}, "setup": {"outcome": "passed", "duration": 0.0002946969999868543}, "lineno": 1040, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestChannel::test_wants_station_information", "outcome": "passed", "keywords": ["test_wants_station_information", "filterwarnings", "TestChannel", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017077700002232632}}, {"call": {"outcome": "passed", "duration": 0.0004955909999750929}, "setup": {"outcome": "passed", "duration": 0.0002716250000105447}, "lineno": 1068, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_has_existing_or_downloaded_time_intervals", "outcome": "passed", "keywords": ["test_has_existing_or_downloaded_time_intervals", "filterwarnings", "TestStation", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016190100001267638}}, {"call": {"outcome": "passed", "duration": 0.0005748879999885048}, "setup": {"outcome": "passed", "duration": 0.00027495099999441663}, "lineno": 1099, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_has_existing_time_intervals", "outcome": "passed", "keywords": ["test_has_existing_time_intervals", "filterwarnings", "TestStation", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015057000001661436}}, {"call": {"outcome": "passed", "duration": 0.0026933720000101857}, "setup": {"outcome": "passed", "duration": 0.00027654400000187707}, "lineno": 1129, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_remove_files", "outcome": "passed", "keywords": ["test_remove_files", "filterwarnings", "TestStation", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016727100000935025}}, {"call": {"outcome": "passed", "duration": 0.0016770250000206488}, "setup": {"outcome": "passed", "duration": 0.00028793399999926805}, "lineno": 1190, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_temporal_bounds", "outcome": "passed", "keywords": ["test_temporal_bounds", "filterwarnings", "TestStation", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017901300000744413}}, {"call": {"outcome": "passed", "duration": 0.003018535999984806}, "setup": {"outcome": "passed", "duration": 0.0002819040000190398}, "lineno": 1207, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_sanitize_downloads", "outcome": "passed", "keywords": ["test_sanitize_downloads", "filterwarnings", "TestStation", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016900399998576177}}, {"call": {"outcome": "passed", "duration": 0.0043459609999843}, "setup": {"outcome": "passed", "duration": 0.0002950279999822669}, "lineno": 1262, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_prepare_mseed_download", "outcome": "passed", "keywords": ["test_prepare_mseed_download", "filterwarnings", "TestStation", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001661980000164931}}, {"call": {"outcome": "passed", "duration": 0.013796614000000318}, "setup": {"outcome": "passed", "duration": 0.0002887870000165549}, "lineno": 1322, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_prepare_stationxml_download_simple_cases", "outcome": "passed", "keywords": ["test_prepare_stationxml_download_simple_cases", "filterwarnings", "TestStation", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002461079999989124}}, {"call": {"outcome": "passed", "duration": 0.009415536999995311}, "setup": {"outcome": "passed", "duration": 0.0003044749999787655}, "lineno": 1495, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_prepare_stationxml_download_dictionary_case", "outcome": "passed", "keywords": ["test_prepare_stationxml_download_dictionary_case", "filterwarnings", "TestStation", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017828099998951075}}, {"call": {"outcome": "passed", "duration": 0.00037800199999082906}, "setup": {"outcome": "passed", "duration": 0.0003144340000176271}, "lineno": 1649, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_str_method", "outcome": "passed", "keywords": ["test_str_method", "filterwarnings", "TestStation", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001895519999948192}}, {"call": {"outcome": "passed", "duration": 0.0022189409999953114}, "setup": {"outcome": "passed", "duration": 0.0007296759999917413}, "lineno": 1711, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_looped_methods", "outcome": "passed", "keywords": ["test_looped_methods", "filterwarnings", "TestClientDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019477200001460915}}, {"call": {"outcome": "passed", "duration": 0.0003356029999963539}, "setup": {"outcome": "passed", "duration": 0.0006736309999837431}, "lineno": 1745, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_basic_object_methods", "outcome": "passed", "keywords": ["test_basic_object_methods", "filterwarnings", "TestClientDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019832800001040596}}, {"call": {"outcome": "passed", "duration": 0.004514104000008956}, "setup": {"outcome": "passed", "duration": 0.0006748529999924813}, "lineno": 1774, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_station_list_nearest_neighbour_filter", "outcome": "passed", "keywords": ["test_station_list_nearest_neighbour_filter", "filterwarnings", "TestClientDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019825800001171956}}, {"call": {"outcome": "passed", "duration": 0.02110870100000284}, "setup": {"outcome": "passed", "duration": 0.0007058799999981602}, "lineno": 1973, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_download_mseed", "outcome": "passed", "keywords": ["test_download_mseed", "__wrapped__", "patchings", "filterwarnings", "TestClientDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018964199998094955}}, {"call": {"outcome": "passed", "duration": 0.011434264000001804}, "setup": {"outcome": "passed", "duration": 0.0007044980000046053}, "lineno": 2113, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_download_stationxml", "outcome": "passed", "keywords": ["test_download_stationxml", "__wrapped__", "patchings", "filterwarnings", "TestClientDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019059399997445325}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007379009999795016, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2184, in test_get_availability\n    c.client.get_stations.return_value = obspy.read_inventory(\n                                         ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007301359999871693}, "lineno": 2178, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_get_availability", "outcome": "failed", "keywords": ["test_get_availability", "filterwarnings", "TestClientDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019268799999849762}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007624159999863878, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2193, in test_get_availability_with_multiple_channel_epochs\n    c.client.get_stations.return_value = obspy.read_inventory(\n                                         ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007746180000083314}, "lineno": 2187, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_get_availability_with_multiple_channel_epochs", "outcome": "failed", "keywords": ["test_get_availability_with_multiple_channel_epochs", "filterwarnings", "TestClientDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019548299999883056}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013963540000077046, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2278, in test_excluding_networks_and_stations\n    obspy.read_inventory(testdata[\"channel_level_fdsn.txt\"])\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007420579999859456}, "lineno": 2201, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_excluding_networks_and_stations", "outcome": "failed", "keywords": ["test_excluding_networks_and_stations", "filterwarnings", "TestClientDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020820700001422665}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007534989999840036, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2355, in test_excluding_networks_and_stations_with_an_inventory_object\n    full_inv = obspy.read_inventory(testdata[\"channel_level_fdsn.txt\"])\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008307729999899038}, "lineno": 2348, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_excluding_networks_and_stations_with_an_inventory_object", "outcome": "failed", "keywords": ["test_excluding_networks_and_stations_with_an_inventory_object", "filterwarnings", "TestClientDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001891709999881641}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002289272000012943, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2447, in test_parse_miniseed_filenames\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006836400000054255}, "lineno": 2437, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_parse_miniseed_filenames", "outcome": "failed", "keywords": ["test_parse_miniseed_filenames", "filterwarnings", "TestClientDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019360999999662454}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009056019999889031, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2491, in test_warning_when_location_prios_excludes_all_channels\n    c.client.get_stations.return_value = obspy.read_inventory(\n                                         ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007719230000020616}, "lineno": 2482, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_warning_when_location_prios_excludes_all_channels", "outcome": "failed", "keywords": ["test_warning_when_location_prios_excludes_all_channels", "filterwarnings", "TestClientDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019358000000124775}}, {"call": {"outcome": "passed", "duration": 0.0010212570000192045}, "setup": {"outcome": "passed", "duration": 0.00029342499999529537}, "lineno": 2516, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelper::test_initialization", "outcome": "passed", "keywords": ["test_initialization", "__wrapped__", "patchings", "filterwarnings", "TestDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016674899998747605}}, {"call": {"outcome": "passed", "duration": 0.10958280400001286}, "setup": {"outcome": "passed", "duration": 0.0002866430000096898}, "lineno": 2536, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelper::test_initialization_detailed", "outcome": "passed", "keywords": ["test_initialization_detailed", "__wrapped__", "patchings", "filterwarnings", "TestDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0005887929999914832}}, {"call": {"outcome": "passed", "duration": 0.019439591999997674}, "setup": {"outcome": "passed", "duration": 0.0007240150000029644}, "lineno": 2569, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelper::test_initialization_with_existing_clients", "outcome": "passed", "keywords": ["test_initialization_with_existing_clients", "__wrapped__", "patchings", "filterwarnings", "TestDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018518400000289148}}, {"call": {"outcome": "passed", "duration": 1.1558801660000029}, "setup": {"outcome": "passed", "duration": 0.00035826600000632425}, "lineno": 2602, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelper::test_download_method", "outcome": "passed", "keywords": ["test_download_method", "__wrapped__", "patchings", "filterwarnings", "TestDownloadHelper", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003224790000047051}}, {"call": {"outcome": "passed", "duration": 0.0009723759999928916}, "setup": {"outcome": "passed", "duration": 0.0010241720000010446}, "lineno": 33, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_dataselect_wadl_parsing", "outcome": "passed", "keywords": ["test_dataselect_wadl_parsing", "filterwarnings", "TestWADLParser", "test_wadl_parser.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018024499999569343}}, {"call": {"outcome": "passed", "duration": 0.0015591859999801727}, "setup": {"outcome": "passed", "duration": 0.00046401199998058473}, "lineno": 72, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_event_wadl_parsing", "outcome": "passed", "keywords": ["test_event_wadl_parsing", "filterwarnings", "TestWADLParser", "test_wadl_parser.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017714899999532463}}, {"call": {"outcome": "passed", "duration": 0.0012732340000241038}, "setup": {"outcome": "passed", "duration": 0.00033445100001472383}, "lineno": 121, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_station_wadl_parsing", "outcome": "passed", "keywords": ["test_station_wadl_parsing", "filterwarnings", "TestWADLParser", "test_wadl_parser.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001756960000136587}}, {"call": {"outcome": "passed", "duration": 0.0015522430000203258}, "setup": {"outcome": "passed", "duration": 0.00033273800002575626}, "lineno": 161, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_reading_wadls_without_type", "outcome": "passed", "keywords": ["test_reading_wadls_without_type", "filterwarnings", "TestWADLParser", "test_wadl_parser.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017466500000296037}}, {"call": {"outcome": "passed", "duration": 0.0015883000000087577}, "setup": {"outcome": "passed", "duration": 0.00035310599997728787}, "lineno": 209, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_usgs_event_wadl_parsing", "outcome": "passed", "keywords": ["test_usgs_event_wadl_parsing", "filterwarnings", "TestWADLParser", "test_wadl_parser.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001739029999896502}}, {"call": {"outcome": "passed", "duration": 0.0005803379999917979}, "setup": {"outcome": "passed", "duration": 0.0003210060000071735}, "lineno": 249, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_parsing_dataselect_wadls_with_missing_attributes", "outcome": "passed", "keywords": ["test_parsing_dataselect_wadls_with_missing_attributes", "filterwarnings", "TestWADLParser", "test_wadl_parser.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019076499998504914}}, {"call": {"outcome": "passed", "duration": 0.0009458370000174909}, "setup": {"outcome": "passed", "duration": 0.0003195729999845298}, "lineno": 277, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_parsing_event_wadls_with_missing_attributes", "outcome": "passed", "keywords": ["test_parsing_event_wadls_with_missing_attributes", "filterwarnings", "TestWADLParser", "test_wadl_parser.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001712979999979325}}, {"call": {"outcome": "passed", "duration": 0.009331231999993861}, "setup": {"outcome": "passed", "duration": 0.0003187619999778235}, "lineno": 309, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_parsing_current_wadls", "outcome": "passed", "keywords": ["test_parsing_current_wadls", "filterwarnings", "TestWADLParser", "test_wadl_parser.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002579099999877599}}, {"call": {"outcome": "passed", "duration": 0.0030522899999994024}, "setup": {"outcome": "passed", "duration": 0.0009307979999846339}, "lineno": 68, "nodeid": "clients/filesystem/sds.py::obspy.clients.filesystem.sds.Client.__init__", "outcome": "passed", "keywords": ["obspy.clients.filesystem.sds.Client.__init__", "filterwarnings", "sds.py", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019682599997850048}}, {"call": {"outcome": "passed", "duration": 0.006408083000025044}, "setup": {"outcome": "passed", "duration": 0.000316126999990729}, "lineno": 116, "nodeid": "clients/filesystem/sds.py::obspy.clients.filesystem.sds.Client.get_waveforms", "outcome": "passed", "keywords": ["obspy.clients.filesystem.sds.Client.get_waveforms", "filterwarnings", "sds.py", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017898199999422104}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.2070520599999952, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tests/test_sds.py\", line 127, in test_read_from_sds\n    st = client.get_waveforms(net, sta, loc, cha, t - 200, t + 200)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/sds.py\", line 171, in get_waveforms\n    st += read(full_path, format=self.format, starttime=starttime,\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008280179999928805}, "lineno": 79, "nodeid": "clients/filesystem/tests/test_sds.py::TestSDS::test_read_from_sds", "outcome": "failed", "keywords": ["test_read_from_sds", "filterwarnings", "TestSDS", "test_sds.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023506700000552883}}, {"call": {"outcome": "passed", "duration": 1.1220385050000061}, "setup": {"outcome": "passed", "duration": 0.00037271300001862073}, "lineno": 129, "nodeid": "clients/filesystem/tests/test_sds.py::TestSDS::test_read_from_sds_with_wildcarded_seed_ids", "outcome": "passed", "keywords": ["test_read_from_sds_with_wildcarded_seed_ids", "filterwarnings", "TestSDS", "test_sds.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024657800000227326}}, {"call": {"outcome": "passed", "duration": 0.6095093829999882}, "setup": {"outcome": "passed", "duration": 0.0007559539999988374}, "lineno": 151, "nodeid": "clients/filesystem/tests/test_sds.py::TestSDS::test_sds_report", "outcome": "passed", "keywords": ["test_sds_report", "filterwarnings", "TestSDS", "test_sds.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024523499999418163}}, {"call": {"outcome": "passed", "duration": 0.18822438800000896}, "setup": {"outcome": "passed", "duration": 0.00040724700002670033}, "lineno": 218, "nodeid": "clients/filesystem/tests/test_sds.py::TestSDS::test_get_waveforms_bulk", "outcome": "passed", "keywords": ["test_get_waveforms_bulk", "filterwarnings", "TestSDS", "test_sds.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002276020000238077}}, {"call": {"outcome": "passed", "duration": 0.18672194799998465}, "setup": {"outcome": "passed", "duration": 0.0003693969999858382}, "lineno": 252, "nodeid": "clients/filesystem/tests/test_sds.py::TestSDS::test_get_all_stations_and_nslc", "outcome": "passed", "keywords": ["test_get_all_stations_and_nslc", "filterwarnings", "TestSDS", "test_sds.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030505700001981495}}, {"call": {"outcome": "passed", "duration": 0.010219612999975425}, "setup": {"outcome": "passed", "duration": 0.0005003089999888743}, "lineno": 49, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_bad_sqlitdb_filepath", "outcome": "passed", "keywords": ["test_bad_sqlitdb_filepath", "filterwarnings", "TestClient", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018310999999471278}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010130519999904664, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tests/test_tsindex.py\", line 61, in test_get_waveforms\n    expected_stream = read(\n                      ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0154388670000003}, "lineno": 57, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_get_waveforms", "outcome": "failed", "keywords": ["test_get_waveforms", "filterwarnings", "TestClient", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020874799997727678}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008698359999925742, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tests/test_tsindex.py\", line 115, in test_get_waveforms_bulk\n    read(\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010292620000029729}, "lineno": 112, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_get_waveforms_bulk", "outcome": "failed", "keywords": ["test_get_waveforms_bulk", "filterwarnings", "TestClient", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019892999998205596}}, {"call": {"log": [{"msg": "No tsindex_summary table found! A tsindex_summary CTE will be created by querying the tsindex table, which could be slow!", "args": null, "name": "obspy.clients.filesystem.tsindex", "msecs": 775.0, "lineno": 1222, "module": "tsindex", "thread": 139780194657792, "created": 1772629758.7750938, "levelno": 30, "process": 2958, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 23206.743955612183}, {"msg": "No tsindex_summary table found! A tsindex_summary CTE will be created by querying the tsindex table, which could be slow!", "args": null, "name": "obspy.clients.filesystem.tsindex", "msecs": 800.0, "lineno": 1222, "module": "tsindex", "thread": 139780194657792, "created": 1772629758.800027, "levelno": 30, "process": 2958, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 23231.677055358887}], "outcome": "passed", "duration": 0.03464251599999102}, "setup": {"outcome": "passed", "duration": 0.0010138339999912205}, "lineno": 164, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_get_nslc", "outcome": "passed", "keywords": ["test_get_nslc", "filterwarnings", "TestClient", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023554799997782538}}, {"call": {"log": [{"msg": "No tsindex_summary table found! A tsindex_summary CTE will be created by querying the tsindex table, which could be slow!", "args": null, "name": "obspy.clients.filesystem.tsindex", "msecs": 810.0, "lineno": 1222, "module": "tsindex", "thread": 139780194657792, "created": 1772629758.81066, "levelno": 30, "process": 2958, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 23242.31004714966}, {"msg": "No tsindex_summary table found! A tsindex_summary CTE will be created by querying the tsindex table, which could be slow!", "args": null, "name": "obspy.clients.filesystem.tsindex", "msecs": 822.0, "lineno": 1222, "module": "tsindex", "thread": 139780194657792, "created": 1772629758.8220854, "levelno": 30, "process": 2958, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 23253.735542297363}], "outcome": "passed", "duration": 0.019397890999982792}, "setup": {"outcome": "passed", "duration": 0.00105798500001697}, "lineno": 216, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_get_availability_extent", "outcome": "passed", "keywords": ["test_get_availability_extent", "filterwarnings", "TestClient", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002023860000122113}}, {"call": {"outcome": "passed", "duration": 0.0018538030000172512}, "setup": {"outcome": "passed", "duration": 0.0010388890000001538}, "lineno": 287, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test__are_timespans_adjacent", "outcome": "passed", "keywords": ["test__are_timespans_adjacent", "filterwarnings", "TestClient", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022420700000225224}}, {"call": {"outcome": "passed", "duration": 0.01800390200000379}, "setup": {"outcome": "passed", "duration": 0.0011820250000198484}, "lineno": 355, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_get_availability", "outcome": "passed", "keywords": ["test_get_availability", "filterwarnings", "TestClient", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020176499998569852}}, {"call": {"outcome": "passed", "duration": 0.0009230640000055246}, "setup": {"outcome": "passed", "duration": 0.0010483670000098755}, "lineno": 479, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_get_availability_percentage", "outcome": "passed", "keywords": ["test_get_availability_percentage", "filterwarnings", "TestClient", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019080399999893416}}, {"call": {"outcome": "passed", "duration": 0.012765951999995195}, "setup": {"outcome": "passed", "duration": 0.000981192000011788}, "lineno": 541, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_has_data", "outcome": "passed", "keywords": ["test_has_data", "filterwarnings", "TestClient", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022375599999691076}}, {"call": {"outcome": "passed", "duration": 0.0021726650000175596}, "setup": {"outcome": "passed", "duration": 0.00032517400001097485}, "lineno": 560, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_bad_rootpath", "outcome": "passed", "keywords": ["test_bad_rootpath", "filterwarnings", "TestIndexer", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017679800001246804}}, {"call": {"outcome": "passed", "duration": 0.00029757300001165277}, "setup": {"outcome": "passed", "duration": 0.00033509299998968345}, "lineno": 573, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_bad_sqlitdb_filepath", "outcome": "passed", "keywords": ["test_bad_sqlitdb_filepath", "filterwarnings", "TestIndexer", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019475199999874349}}, {"call": {"outcome": "passed", "duration": 0.002741761999999426}, "setup": {"outcome": "passed", "duration": 0.00030379399998992085}, "lineno": 582, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_bad_database", "outcome": "passed", "keywords": ["test_bad_database", "filterwarnings", "TestIndexer", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018674699998655342}}, {"call": {"outcome": "passed", "duration": 0.023126055999995287}, "setup": {"outcome": "passed", "duration": 0.00030660900000611946}, "lineno": 592, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_build_file_list", "outcome": "passed", "keywords": ["test_build_file_list", "filterwarnings", "TestIndexer", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001703460000044288}}, {"call": {"outcome": "passed", "duration": 0.0032925849999969614}, "setup": {"outcome": "passed", "duration": 0.0003436179999880551}, "lineno": 671, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_run_bad_index_cmd", "outcome": "passed", "keywords": ["test_run_bad_index_cmd", "filterwarnings", "TestIndexer", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016561800001113625}}, {"call": {"outcome": "passed", "duration": 0.0035519879999981185}, "setup": {"outcome": "passed", "duration": 0.00032133700000258614}, "lineno": 683, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_run", "outcome": "passed", "keywords": ["test_run", "filterwarnings", "TestIndexer", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000165817000009838}}, {"call": {"outcome": "passed", "duration": 0.0002956090000054701}, "setup": {"outcome": "passed", "duration": 0.0003281900000047244}, "lineno": 748, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestTSIndexDatabaseHandler::test_bad_sqlitdb_filepath", "outcome": "passed", "keywords": ["test_bad_sqlitdb_filepath", "filterwarnings", "TestTSIndexDatabaseHandler", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016157100000668834}}, {"call": {"log": [{"msg": "No tsindex_summary table found! A tsindex_summary CTE will be created by querying the tsindex table, which could be slow!", "args": null, "name": "obspy.clients.filesystem.tsindex", "msecs": 917.0, "lineno": 1222, "module": "tsindex", "thread": 139780194657792, "created": 1772629758.9176311, "levelno": 30, "process": 2958, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 23349.281311035156}, {"msg": "No tsindex_summary table found! A tsindex_summary CTE will be created by querying the tsindex table, which could be slow!", "args": null, "name": "obspy.clients.filesystem.tsindex", "msecs": 931.0, "lineno": 1222, "module": "tsindex", "thread": 139780194657792, "created": 1772629758.9319234, "levelno": 30, "process": 2958, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 23363.57355117798}], "outcome": "passed", "duration": 0.023871318999994173}, "setup": {"outcome": "passed", "duration": 0.0003050769999788372}, "lineno": 757, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestTSIndexDatabaseHandler::test__fetch_summary_rows", "outcome": "passed", "keywords": ["test__fetch_summary_rows", "filterwarnings", "TestTSIndexDatabaseHandler", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017919299997970484}}, {"call": {"log": [{"msg": "No tsindex_summary table found! A tsindex_summary CTE will be created by querying the tsindex table, which could be slow!", "args": null, "name": "obspy.clients.filesystem.tsindex", "msecs": 942.0, "lineno": 1222, "module": "tsindex", "thread": 139780194657792, "created": 1772629758.9425204, "levelno": 30, "process": 2958, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 23374.170541763306}], "outcome": "passed", "duration": 0.004725898000003781}, "setup": {"outcome": "passed", "duration": 0.0003577640000003157}, "lineno": 798, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestTSIndexDatabaseHandler::test_get_tsindex_summary_cte", "outcome": "passed", "keywords": ["test_get_tsindex_summary_cte", "filterwarnings", "TestTSIndexDatabaseHandler", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002941660000033153}}, {"call": {"log": [{"msg": "No tsindex_summary table found! A tsindex_summary CTE will be created by querying the tsindex table, which could be slow!", "args": null, "name": "obspy.clients.filesystem.tsindex", "msecs": 951.0, "lineno": 1222, "module": "tsindex", "thread": 139780194657792, "created": 1772629758.9519188, "levelno": 30, "process": 2958, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 23383.56900215149}], "outcome": "passed", "duration": 0.02561161299999526}, "setup": {"outcome": "passed", "duration": 0.000446899999985817}, "lineno": 1, "nodeid": "clients/filesystem/tsindex.py::obspy.clients.filesystem.tsindex", "outcome": "passed", "keywords": ["obspy.clients.filesystem.tsindex", "filterwarnings", "tsindex.py", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019703600000298138}}, {"call": {"outcome": "passed", "duration": 0.0043729119999795785}, "setup": {"outcome": "passed", "duration": 0.0011789499999963482}, "lineno": 25, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocal::test_error_handling_invalid_path", "outcome": "passed", "keywords": ["test_error_handling_invalid_path", "filterwarnings", "TestNRLLocal", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017638799999986077}}, {"call": {"outcome": "passed", "duration": 0.0002330130000132158}, "setup": {"outcome": "passed", "duration": 0.019285862999993242}, "lineno": 48, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV1::test_nrl_type", "outcome": "passed", "keywords": ["test_nrl_type", "filterwarnings", "TestNRLLocalV1", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019666599999368373}}, {"call": {"outcome": "passed", "duration": 0.21840940500001693}, "setup": {"outcome": "passed", "duration": 0.017826210999999148}, "lineno": 52, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV1::test_get_response", "outcome": "passed", "keywords": ["test_get_response", "filterwarnings", "TestNRLLocalV1", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002451550000159841}}, {"call": {"outcome": "passed", "duration": 0.001250633000012158}, "setup": {"outcome": "passed", "duration": 0.017693033999989893}, "lineno": 99, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV1::test_nrl_class_str_method", "outcome": "passed", "keywords": ["test_nrl_class_str_method", "filterwarnings", "TestNRLLocalV1", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019133500001089487}}, {"call": {"outcome": "passed", "duration": 0.00034996999997360945}, "setup": {"outcome": "passed", "duration": 0.01763807099999326}, "lineno": 116, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV1::test_nrl_dict_str_method", "outcome": "passed", "keywords": ["test_nrl_dict_str_method", "filterwarnings", "TestNRLLocalV1", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019157599999175545}}, {"call": {"outcome": "passed", "duration": 0.00029831399999125097}, "setup": {"outcome": "passed", "duration": 0.017554205999999795}, "lineno": 126, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV1::test_error_handling_invalid_path", "outcome": "passed", "keywords": ["test_error_handling_invalid_path", "filterwarnings", "TestNRLLocalV1", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021267500000021755}}, {"call": {"outcome": "passed", "duration": 0.0002678070000001753}, "setup": {"outcome": "passed", "duration": 0.05725598000000787}, "lineno": 149, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2RESP::test_nrl_type", "outcome": "passed", "keywords": ["test_nrl_type", "filterwarnings", "TestNRLLocalV2RESP", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001946520000046803}}, {"call": {"outcome": "passed", "duration": 0.19478740900001412}, "setup": {"outcome": "passed", "duration": 0.05808866700002113}, "lineno": 153, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2RESP::test_get_response", "outcome": "passed", "keywords": ["test_get_response", "filterwarnings", "TestNRLLocalV2RESP", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002480709999872488}}, {"call": {"outcome": "passed", "duration": 0.00048194499998999163}, "setup": {"outcome": "passed", "duration": 0.057314499000000296}, "lineno": 219, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2RESP::test_nrl_class_str_method", "outcome": "passed", "keywords": ["test_nrl_class_str_method", "filterwarnings", "TestNRLLocalV2RESP", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019480199998156422}}, {"call": {"outcome": "passed", "duration": 0.0003876200000263452}, "setup": {"outcome": "passed", "duration": 0.05766895799999361}, "lineno": 242, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2RESP::test_nrl_dict_str_method", "outcome": "passed", "keywords": ["test_nrl_dict_str_method", "filterwarnings", "TestNRLLocalV2RESP", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019164599999044185}}, {"call": {"outcome": "passed", "duration": 0.0002430410000044958}, "setup": {"outcome": "passed", "duration": 0.05732773299999394}, "lineno": 270, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML::test_nrl_type", "outcome": "passed", "keywords": ["test_nrl_type", "filterwarnings", "TestNRLLocalV2StationXML", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020845699998517375}}, {"call": {"outcome": "passed", "duration": 0.07442768599997862}, "setup": {"outcome": "passed", "duration": 0.05699170899998762}, "lineno": 274, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML::test_get_response", "outcome": "passed", "keywords": ["test_get_response", "filterwarnings", "TestNRLLocalV2StationXML", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022130100001049868}}, {"call": {"outcome": "passed", "duration": 0.00045519500000068547}, "setup": {"outcome": "passed", "duration": 0.05745033099998409}, "lineno": 340, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML::test_nrl_class_str_method", "outcome": "passed", "keywords": ["test_nrl_class_str_method", "filterwarnings", "TestNRLLocalV2StationXML", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019575400000348964}}, {"call": {"outcome": "passed", "duration": 0.0003690859999778695}, "setup": {"outcome": "passed", "duration": 0.05740820200000485}, "lineno": 363, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML::test_nrl_dict_str_method", "outcome": "passed", "keywords": ["test_nrl_dict_str_method", "filterwarnings", "TestNRLLocalV2StationXML", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002133259999936854}}, {"call": {"outcome": "passed", "duration": 0.010187252000008584}, "setup": {"outcome": "passed", "duration": 0.05804624799998237}, "lineno": 375, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML::test_get_integrated_response", "outcome": "passed", "keywords": ["test_get_integrated_response", "filterwarnings", "TestNRLLocalV2StationXML", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002458969999850069}}, {"call": {"outcome": "passed", "duration": 0.010860122999986288}, "setup": {"outcome": "passed", "duration": 0.261523617999984}, "lineno": 385, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML::test_get_soh_response", "outcome": "passed", "keywords": ["test_get_soh_response", "filterwarnings", "TestNRLLocalV2StationXML", "test_nrl.py", "tests", "nrl", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0004272140000125546}}, {"call": {"outcome": "passed", "duration": 0.0015873579999947651}, "setup": {"outcome": "passed", "duration": 0.0011924149999913425}, "lineno": 113, "nodeid": "clients/seedlink/tests/test_basic_client.py::test_get_waveform_calls_to_get_info", "outcome": "passed", "keywords": ["test_get_waveform_calls_to_get_info", "__wrapped__", "patchings", "filterwarnings", "test_basic_client.py", "tests", "seedlink", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017752900001255512}}, {"call": {"outcome": "passed", "duration": 0.0005468950000135919}, "setup": {"outcome": "passed", "duration": 0.000758578999977999}, "lineno": 15, "nodeid": "clients/seedlink/tests/test_slpacket.py::TestSLPacket::test_get_string_payload", "outcome": "passed", "keywords": ["test_get_string_payload", "filterwarnings", "TestSLPacket", "test_slpacket.py", "tests", "seedlink", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002316100000143706}}, {"call": {"outcome": "failed", "duration": 0.006504211000020632, "longrepr": "054 ^^^^^^^\n055 A :class:`~obspy.core.stream.Stream` with an example seismogram can be created\n056 by calling :func:`~obspy.core.stream.read()` without any arguments.\n057 Local files can be read by specifying the filename, files stored on http\n058 servers (e.g. at https://examples.obspy.org) can be read by specifying their\n059 URL. For details and supported formats see the documentation of\n060 :func:`~obspy.core.stream.read`.\n061 \n062 >>> from obspy import read\n063 >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/__init__.py:63: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000765872999977546}, "lineno": 11, "nodeid": "core/__init__.py::obspy.core", "outcome": "failed", "keywords": ["obspy.core", "filterwarnings", "__init__.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001790720000087731}}, {"call": {"outcome": "passed", "duration": 0.002732855999994399}, "setup": {"outcome": "passed", "duration": 0.0004200300000150037}, "lineno": 21, "nodeid": "core/compatibility.py::obspy.core.compatibility.round_away", "outcome": "passed", "keywords": ["obspy.core.compatibility.round_away", "filterwarnings", "compatibility.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016467599999714366}}, {"call": {"outcome": "passed", "duration": 0.004615524000001869}, "setup": {"outcome": "passed", "duration": 0.0007891559999961828}, "lineno": 549, "nodeid": "core/event/base.py::obspy.core.event.base.Comment", "outcome": "passed", "keywords": ["obspy.core.event.base.Comment", "filterwarnings", "base.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016298299999562005}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.003287937000010288, "longrepr": "self = QuantityError({'uncertainty': None, 'lower_uncertainty': None, 'upper_uncertainty': None, 'confidence_level': None})\nadict = {}\n\n    def update(self, adict={}):\n>       for (key, value) in adict.items():\n                            ^^^^^^^^^^^^^\nE       ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\ncore/util/attribdict.py:151: ResourceWarning\n\nThe above exception was the direct cause of the following exception:\n\ncls = <class '_pytest.runner.CallInfo'>\nfunc = <function call_and_report.<locals>.<lambda> at 0x7f20e8119080>\nwhen = 'call'\nreraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)\n\n    @classmethod\n    def from_call(\n        cls,\n        func: Callable[[], TResult],\n        when: Literal[\"collect\", \"setup\", \"call\", \"teardown\"],\n        reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None,\n    ) -> CallInfo[TResult]:\n        \"\"\"Call func, wrapping the result in a CallInfo.\n    \n        :param func:\n            The function to call. Called without arguments.\n        :type func: Callable[[], _pytest.runner.TResult]\n        :param when:\n            The phase in which the function is called.\n        :param reraise:\n            Exception or exceptions that shall propagate if raised by the\n            function, instead of being wrapped in the CallInfo.\n        \"\"\"\n        excinfo = None\n        instant = timing.Instant()\n        try:\n>           result: TResult | None = func()\n                                     ^^^^^^\n\n../_pytest/runner.py:353: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\n>       lambda: runtest_hook(item=item, **kwds),\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        when=when,\n        reraise=get_reraise_exceptions(item.config),\n    )\n\n../_pytest/runner.py:245: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <HookCaller 'pytest_runtest_call'>\nkwargs = {'item': <DoctestItem obspy.core.event.base.CompositeTime>}\nfirstresult = False\n\n    def __call__(self, **kwargs: object) -> Any:\n        \"\"\"Call the hook.\n    \n        Only accepts keyword arguments, which should match the hook\n        specification.\n    \n        Returns the result(s) of calling all registered plugins, see\n        :ref:`calling`.\n        \"\"\"\n        assert not self.is_historic(), (\n            \"Cannot directly call a historic hook - use call_historic instead.\"\n        )\n        self._verify_all_args_are_provided(kwargs)\n        firstresult = self.spec.opts.get(\"firstresult\", False) if self.spec else False\n        # Copy because plugins may register other plugins during iteration (#438).\n>       return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_hooks.py:512: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <_pytest.config.PytestPluginManager object at 0x7f20ecd2df40>\nhook_name = 'pytest_runtest_call'\nmethods = [<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>>, ...]\nkwargs = {'item': <DoctestItem obspy.core.event.base.CompositeTime>}\nfirstresult = False\n\n    def _hookexec(\n        self,\n        hook_name: str,\n        methods: Sequence[HookImpl],\n        kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        # called from all hookcaller instances.\n        # enable_tracing will set its own wrapping function at self._inner_hookexec\n>       return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_manager.py:120: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.event.base.CompositeTime>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n                            teardown.throw(exception)\n                        except RuntimeError as re:\n                            # StopIteration from generator causes RuntimeError\n                            # even for coroutine usage - see #544\n                            if (\n                                isinstance(exception, StopIteration)\n                                and re.__cause__ is exception\n                            ):\n                                teardown.close()\n                                continue\n                            else:\n                                raise\n                    else:\n                        teardown.send(result)\n                    # Following is unreachable for a well behaved hook wrapper.\n                    # Try to force finalizers otherwise postponed till GC action.\n                    # Note: close() may raise if generator handles GeneratorExit.\n                    teardown.close()\n                except StopIteration as si:\n                    result = si.value\n                    exception = None\n                    continue\n                except BaseException as e:\n                    exception = e\n                    continue\n                _raise_wrapfail(teardown, \"has second yield\")\n    \n        if exception is not None:\n>           raise exception\n\n../pluggy/_callers.py:167: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.event.base.CompositeTime>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <_pytest.logging.LoggingPlugin object at 0x7f20e4249880>\nitem = <DoctestItem obspy.core.event.base.CompositeTime>\n\n    @hookimpl(wrapper=True)\n    def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]:\n        self.log_cli_handler.set_when(\"call\")\n    \n        with self._runtest_for(item, \"call\"):\n>           yield\n\n../_pytest/logging.py:850: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.event.base.CompositeTime>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_impl = <HookImpl plugin_name='_cov', plugin=<pytest_cov.plugin.CovPlugin object at 0x7f20ecdf1130>>\nhook_name = 'pytest_runtest_call'\nargs = [<DoctestItem obspy.core.event.base.CompositeTime>]\n\n    def run_old_style_hookwrapper(\n        hook_impl: HookImpl, hook_name: str, args: Sequence[object]\n    ) -> Teardown:\n        \"\"\"\n        backward compatibility wrapper to run a old style hookwrapper as a wrapper\n        \"\"\"\n    \n        teardown: Teardown = cast(Teardown, hook_impl.function(*args))\n        try:\n            next(teardown)\n        except StopIteration:\n            _raise_wrapfail(teardown, \"did not yield\")\n        try:\n            res = yield\n            result = Result(res, None)\n        except BaseException as exc:\n            result = Result(None, exc)\n        try:\n            teardown.send(result)\n        except StopIteration:\n            pass\n        except BaseException as e:\n            _warn_teardown_exception(hook_name, hook_impl, e)\n            raise\n        else:\n            _raise_wrapfail(teardown, \"has second yield\")\n        finally:\n            teardown.close()\n>       return result.get_result()\n               ^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_callers.py:53: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <pluggy._result.Result object at 0x7f20e7e21cc0>\n\n    def get_result(self) -> ResultType:\n        \"\"\"Get the result(s) for this hook call.\n    \n        If the hook was marked as a ``firstresult`` only a single value\n        will be returned, otherwise a list of results.\n        \"\"\"\n        __tracebackhide__ = True\n        exc = self._exception\n        tb = self._traceback\n        if exc is None:\n            return cast(ResultType, self._result)\n        else:\n>           raise exc.with_traceback(tb)\n\n../pluggy/_result.py:103: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_impl = <HookImpl plugin_name='_cov', plugin=<pytest_cov.plugin.CovPlugin object at 0x7f20ecdf1130>>\nhook_name = 'pytest_runtest_call'\nargs = [<DoctestItem obspy.core.event.base.CompositeTime>]\n\n    def run_old_style_hookwrapper(\n        hook_impl: HookImpl, hook_name: str, args: Sequence[object]\n    ) -> Teardown:\n        \"\"\"\n        backward compatibility wrapper to run a old style hookwrapper as a wrapper\n        \"\"\"\n    \n        teardown: Teardown = cast(Teardown, hook_impl.function(*args))\n        try:\n            next(teardown)\n        except StopIteration:\n            _raise_wrapfail(teardown, \"did not yield\")\n        try:\n>           res = yield\n                  ^^^^^\n\n../pluggy/_callers.py:38: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.event.base.CompositeTime>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <CaptureManager _method='fd' _global_capturing=<MultiCapture out=<FDCapture 1 oldfd=5 _state='suspended' tmpfile=<_io....xtIOWrapper name='/dev/null' mode='r' encoding='utf-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>\nitem = <DoctestItem obspy.core.event.base.CompositeTime>\n\n    @hookimpl(wrapper=True)\n    def pytest_runtest_call(self, item: Item) -> Generator[None]:\n        with self.item_capture(\"call\", item):\n>           return (yield)\n                    ^^^^^\n\n../_pytest/capture.py:900: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.event.base.CompositeTime>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_impl = <HookImpl plugin_name='139780185669120', plugin=<pytest_jsonreport.plugin.JSONReport object at 0x7f211c503e00>>\nhook_name = 'pytest_runtest_call'\nargs = [<DoctestItem obspy.core.event.base.CompositeTime>]\n\n    def run_old_style_hookwrapper(\n        hook_impl: HookImpl, hook_name: str, args: Sequence[object]\n    ) -> Teardown:\n        \"\"\"\n        backward compatibility wrapper to run a old style hookwrapper as a wrapper\n        \"\"\"\n    \n        teardown: Teardown = cast(Teardown, hook_impl.function(*args))\n        try:\n            next(teardown)\n        except StopIteration:\n            _raise_wrapfail(teardown, \"did not yield\")\n        try:\n            res = yield\n            result = Result(res, None)\n        except BaseException as exc:\n            result = Result(None, exc)\n        try:\n            teardown.send(result)\n        except StopIteration:\n            pass\n        except BaseException as e:\n            _warn_teardown_exception(hook_name, hook_impl, e)\n            raise\n        else:\n            _raise_wrapfail(teardown, \"has second yield\")\n        finally:\n            teardown.close()\n>       return result.get_result()\n               ^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_callers.py:53: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <pluggy._result.Result object at 0x7f20e7e20f80>\n\n    def get_result(self) -> ResultType:\n        \"\"\"Get the result(s) for this hook call.\n    \n        If the hook was marked as a ``firstresult`` only a single value\n        will be returned, otherwise a list of results.\n        \"\"\"\n        __tracebackhide__ = True\n        exc = self._exception\n        tb = self._traceback\n        if exc is None:\n            return cast(ResultType, self._result)\n        else:\n>           raise exc.with_traceback(tb)\n\n../pluggy/_result.py:103: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_impl = <HookImpl plugin_name='139780185669120', plugin=<pytest_jsonreport.plugin.JSONReport object at 0x7f211c503e00>>\nhook_name = 'pytest_runtest_call'\nargs = [<DoctestItem obspy.core.event.base.CompositeTime>]\n\n    def run_old_style_hookwrapper(\n        hook_impl: HookImpl, hook_name: str, args: Sequence[object]\n    ) -> Teardown:\n        \"\"\"\n        backward compatibility wrapper to run a old style hookwrapper as a wrapper\n        \"\"\"\n    \n        teardown: Teardown = cast(Teardown, hook_impl.function(*args))\n        try:\n            next(teardown)\n        except StopIteration:\n            _raise_wrapfail(teardown, \"did not yield\")\n        try:\n>           res = yield\n                  ^^^^^\n\n../pluggy/_callers.py:38: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.event.base.CompositeTime>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nitem = <DoctestItem obspy.core.event.base.CompositeTime>\n\n    @hookimpl(wrapper=True)\n    def pytest_runtest_call(item: Item) -> Generator[None]:\n        xfailed = item.stash.get(xfailed_key, None)\n        if xfailed is None:\n            item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)\n    \n        if xfailed and not item.config.option.runxfail and not xfailed.run:\n            xfail(\"[NOTRUN] \" + xfailed.reason)\n    \n        try:\n>           return (yield)\n                    ^^^^^\n\n../_pytest/skipping.py:268: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.event.base.CompositeTime>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n>                       res = hook_impl.function(*args)\n                              ^^^^^^^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_callers.py:121: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nitem = <DoctestItem obspy.core.event.base.CompositeTime>\n\n    @pytest.hookimpl(trylast=True)\n    def pytest_runtest_call(item: Item) -> None:\n>       collect_unraisable(item.config)\n\n../_pytest/unraisableexception.py:158: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nconfig = <_pytest.config.Config object at 0x7f20ecf708c0>\n\n    def collect_unraisable(config: Config) -> None:\n        pop_unraisable = config.stash[unraisable_exceptions].pop\n        errors: list[pytest.PytestUnraisableExceptionWarning | RuntimeError] = []\n        meta = None\n        hook_error = None\n        try:\n            while True:\n                try:\n                    meta = pop_unraisable()\n                except IndexError:\n                    break\n    \n                if isinstance(meta, BaseException):\n                    hook_error = RuntimeError(\"Failed to process unraisable exception\")\n                    hook_error.__cause__ = meta\n                    errors.append(hook_error)\n                    continue\n    \n                msg = meta.msg\n                try:\n                    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n                except pytest.PytestUnraisableExceptionWarning as e:\n                    # This except happens when the warning is treated as an error (e.g. `-Werror`).\n                    if meta.exc_value is not None:\n                        # Exceptions have a better way to show the traceback, but\n                        # warnings do not, so hide the traceback from the msg and\n                        # set the cause so the traceback shows up in the right place.\n                        e.args = (meta.cause_msg,)\n                        e.__cause__ = meta.exc_value\n                    errors.append(e)\n    \n            if len(errors) == 1:\n>               raise errors[0]\n\n../_pytest/unraisableexception.py:79: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nconfig = <_pytest.config.Config object at 0x7f20ecf708c0>\n\n    def collect_unraisable(config: Config) -> None:\n        pop_unraisable = config.stash[unraisable_exceptions].pop\n        errors: list[pytest.PytestUnraisableExceptionWarning | RuntimeError] = []\n        meta = None\n        hook_error = None\n        try:\n            while True:\n                try:\n                    meta = pop_unraisable()\n                except IndexError:\n                    break\n    \n                if isinstance(meta, BaseException):\n                    hook_error = RuntimeError(\"Failed to process unraisable exception\")\n                    hook_error.__cause__ = meta\n                    errors.append(hook_error)\n                    continue\n    \n                msg = meta.msg\n                try:\n>                   warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\nE                   pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nE                   Enable tracemalloc to get traceback where the object was allocated.\nE                   See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n\n../_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning", "traceback": [{"path": "../_pytest/runner.py", "lineno": 353, "message": ""}, {"path": "../_pytest/runner.py", "lineno": 245, "message": ""}, {"path": "../pluggy/_hooks.py", "lineno": 512, "message": ""}, {"path": "../pluggy/_manager.py", "lineno": 120, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 167, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../_pytest/logging.py", "lineno": 850, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 53, "message": ""}, {"path": "../pluggy/_result.py", "lineno": 103, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 38, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../_pytest/capture.py", "lineno": 900, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 53, "message": ""}, {"path": "../pluggy/_result.py", "lineno": 103, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 38, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../_pytest/skipping.py", "lineno": 268, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 121, "message": ""}, {"path": "../_pytest/unraisableexception.py", "lineno": 158, "message": ""}, {"path": "../_pytest/unraisableexception.py", "lineno": 79, "message": ""}, {"path": "../_pytest/unraisableexception.py", "lineno": 67, "message": "PytestUnraisableExceptionWarning"}]}, "setup": {"outcome": "passed", "duration": 0.0003350720000128149}, "lineno": 491, "nodeid": "core/event/base.py::obspy.core.event.base.CompositeTime", "outcome": "failed", "keywords": ["obspy.core.event.base.CompositeTime", "filterwarnings", "base.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027034199999320663}}, {"call": {"outcome": "passed", "duration": 0.0029427659999896605}, "setup": {"outcome": "passed", "duration": 0.00036733300001401403}, "lineno": 420, "nodeid": "core/event/base.py::obspy.core.event.base.CreationInfo", "outcome": "passed", "keywords": ["obspy.core.event.base.CreationInfo", "filterwarnings", "base.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017402399998900364}}, {"call": {"outcome": "passed", "duration": 0.0026375390000055177}, "setup": {"outcome": "passed", "duration": 0.0003054980000172236}, "lineno": 62, "nodeid": "core/event/base.py::obspy.core.event.base.QuantityError.__bool__", "outcome": "passed", "keywords": ["obspy.core.event.base.QuantityError.__bool__", "filterwarnings", "base.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018884100001059778}}, {"call": {"outcome": "passed", "duration": 0.0028245760000231712}, "setup": {"outcome": "passed", "duration": 0.00030312300000900905}, "lineno": 594, "nodeid": "core/event/base.py::obspy.core.event.base.WaveformStreamID", "outcome": "passed", "keywords": ["obspy.core.event.base.WaveformStreamID", "filterwarnings", "base.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017401300002006792}}, {"call": {"outcome": "passed", "duration": 0.0037208809999924597}, "setup": {"outcome": "passed", "duration": 0.00030558800000335395}, "lineno": 103, "nodeid": "core/event/base.py::obspy.core.event.base._event_type_class_factory", "outcome": "passed", "keywords": ["obspy.core.event.base._event_type_class_factory", "filterwarnings", "base.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017580700000507932}}, {"call": {"outcome": "failed", "duration": 0.004712423000000854, "longrepr": "128 \n129         :type other: :class:`~obspy.core.event.Catalog`\n130         :param other: Catalog object for comparison.\n131         :rtype: bool\n132         :return: ``True`` if both Catalogs contain the same events.\n133 \n134         .. rubric:: Example\n135 \n136         >>> from obspy.core.event import read_events\n137         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.__eq__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:137: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00044112899999504407}, "lineno": 125, "nodeid": "core/event/catalog.py::obspy.core.event.catalog.Catalog.__eq__", "outcome": "failed", "keywords": ["obspy.core.event.catalog.Catalog.__eq__", "filterwarnings", "catalog.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019111500000690285}}, {"call": {"outcome": "failed", "duration": 0.004477957999995397, "longrepr": "259 \n260         Clears event list (convenient method).\n261 \n262         .. rubric:: Example\n263 \n264         >>> from obspy.core.event import read_events\n265         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.clear[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:265: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003113079999934598}, "lineno": 258, "nodeid": "core/event/catalog.py::obspy.core.event.catalog.Catalog.clear", "outcome": "failed", "keywords": ["obspy.core.event.catalog.Catalog.clear", "filterwarnings", "catalog.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001725300000146035}}, {"call": {"outcome": "failed", "duration": 0.004554239000015059, "longrepr": "406 \n407         :rtype: :class:`~obspy.core.event.catalog.Catalog`\n408         :return: Copy of current catalog.\n409 \n410         .. rubric:: Examples\n411 \n412         1. Create a Catalog and copy it\n413 \n414             >>> from obspy.core.event import read_events\n415             >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.copy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:415: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031424299999116556}, "lineno": 403, "nodeid": "core/event/catalog.py::obspy.core.event.catalog.Catalog.copy", "outcome": "failed", "keywords": ["obspy.core.event.catalog.Catalog.copy", "filterwarnings", "catalog.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017528500001162683}}, {"call": {"outcome": "failed", "duration": 0.004534702999990259, "longrepr": "292         specified filter rules.\n293 \n294         :rtype: :class:`Catalog`\n295         :return: Filtered catalog. A new Catalog object with filtered\n296             Events as references to the original Events.\n297 \n298         .. rubric:: Example\n299 \n300         >>> from obspy.core.event import read_events\n301         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.filter[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:301: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003177700000094319}, "lineno": 274, "nodeid": "core/event/catalog.py::obspy.core.event.catalog.Catalog.filter", "outcome": "failed", "keywords": ["obspy.core.event.catalog.Catalog.filter", "filterwarnings", "catalog.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017237000000136504}}, {"call": {"outcome": "failed", "duration": 0.004466344999997318, "longrepr": "616         :param title: Title above plot. If left ``None``, an automatic title\n617             will be generated. Set to ``\"\"`` for no title.\n618         :returns: Figure instance with the plot.\n619 \n620         .. rubric:: Examples\n621 \n622         Mollweide projection for global overview:\n623 \n624         >>> from obspy import read_events\n625         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.plot[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:625: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00043031900000300993}, "lineno": 530, "nodeid": "core/event/catalog.py::obspy.core.event.catalog.Catalog.plot", "outcome": "failed", "keywords": ["obspy.core.event.catalog.Catalog.plot", "filterwarnings", "catalog.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017275100000802013}}, {"call": {"outcome": "failed", "duration": 0.00443264399999066, "longrepr": "463         :type format: str\n464         :param format: The file format to use (e.g. ``\"QUAKEML\"``). See the\n465             `Supported Formats`_ section below for a list of supported formats.\n466         :param kwargs: Additional keyword arguments passed to the underlying\n467             plugin's writer method.\n468 \n469         .. rubric:: Example\n470 \n471         >>> from obspy import read_events\n472         >>> catalog = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.write[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:472: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031141799999545583}, "lineno": 457, "nodeid": "core/event/catalog.py::obspy.core.event.catalog.Catalog.write", "outcome": "failed", "keywords": ["obspy.core.event.catalog.Catalog.write", "filterwarnings", "catalog.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018998300001271673}}, {"call": {"outcome": "failed", "duration": 0.005539359000010791, "longrepr": "205         :returns: Figure instance with the plot.\n206 \n207         .. rubric:: Examples\n208 \n209         Default plot includes an orthographic map plot, a beachball plot and\n210         plots of P/S farfield radiation patterns (preferred -- or first --\n211         focal mechanism has to have a moment tensor set).\n212 \n213         >>> from obspy import read_events\n214         >>> event = read_events(\"/path/to/CMTSOLUTION\")[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.event.Event.plot[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/event.py:214: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00047615400001177477}, "lineno": 169, "nodeid": "core/event/event.py::obspy.core.event.event.Event.plot", "outcome": "failed", "keywords": ["obspy.core.event.event.Event.plot", "filterwarnings", "event.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019020399997771165}}, {"call": {"outcome": "passed", "duration": 0.002430274999994708}, "setup": {"outcome": "passed", "duration": 0.0003110479999861582}, "lineno": 308, "nodeid": "core/event/event.py::obspy.core.event.event.Event.write", "outcome": "passed", "keywords": ["obspy.core.event.event.Event.write", "filterwarnings", "event.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017054700001040146}}, {"call": {"outcome": "passed", "duration": 0.003337498999997024}, "setup": {"outcome": "passed", "duration": 0.00043563900001686306}, "lineno": 177, "nodeid": "core/event/origin.py::obspy.core.event.origin.Origin", "outcome": "passed", "keywords": ["obspy.core.event.origin.Origin", "filterwarnings", "origin.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017594700000245211}}, {"call": {"outcome": "passed", "duration": 0.0049234349999949245}, "setup": {"outcome": "passed", "duration": 0.0004229559999942012}, "lineno": 73, "nodeid": "core/event/resourceid.py::obspy.core.event.resourceid.ResourceIdentifier", "outcome": "passed", "keywords": ["obspy.core.event.resourceid.ResourceIdentifier", "filterwarnings", "resourceid.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016672000000994558}}, {"call": {"outcome": "passed", "duration": 0.002567508999987922}, "setup": {"outcome": "passed", "duration": 0.00031381299999111434}, "lineno": 528, "nodeid": "core/event/resourceid.py::obspy.core.event.resourceid.ResourceIdentifier.copy", "outcome": "passed", "keywords": ["obspy.core.event.resourceid.ResourceIdentifier.copy", "filterwarnings", "resourceid.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017944300000749536}}, {"call": {"outcome": "passed", "duration": 0.0025261520000015025}, "setup": {"outcome": "passed", "duration": 0.00030674999999291686}, "lineno": 485, "nodeid": "core/event/resourceid.py::obspy.core.event.resourceid.ResourceIdentifier.get_quakeml_uri_str", "outcome": "passed", "keywords": ["obspy.core.event.resourceid.ResourceIdentifier.get_quakeml_uri_str", "filterwarnings", "resourceid.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001623709999876155}}, {"call": {"outcome": "failed", "duration": 0.004336163999994369, "longrepr": "018     (https://www.gnu.org/copyleft/lesser.html)\n019 \n020 Reading\n021 -------\n022 StationXML files can be read using the\n023 :func:`~obspy.core.inventory.inventory.read_inventory()` function that\n024 returns an :class:`~obspy.core.inventory.inventory.Inventory` object.\n025 \n026 >>> from obspy import read_inventory\n027 >>> inv = read_inventory(\"/path/to/BW_RJOB.xml\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/__init__.py:27: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008012479999877087}, "lineno": 1, "nodeid": "core/inventory/__init__.py::obspy.core.inventory", "outcome": "failed", "keywords": ["obspy.core.inventory", "filterwarnings", "__init__.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017758000001322216}}, {"call": {"outcome": "passed", "duration": 0.0629168049999862}, "setup": {"outcome": "passed", "duration": 0.0004484629999979006}, "lineno": 394, "nodeid": "core/inventory/channel.py::obspy.core.inventory.channel.Channel.plot", "outcome": "passed", "keywords": ["obspy.core.inventory.channel.Channel.plot", "filterwarnings", "channel.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002144480000083604}}, {"call": {"outcome": "passed", "duration": 0.11499158099999818}, "setup": {"outcome": "passed", "duration": 0.0005176720000008572}, "lineno": 153, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.__eq__", "outcome": "passed", "keywords": ["obspy.core.inventory.inventory.Inventory.__eq__", "filterwarnings", "inventory.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021857699999827673}}, {"call": {"outcome": "passed", "duration": 0.11531382000001145}, "setup": {"outcome": "passed", "duration": 0.0003684849999956441}, "lineno": 374, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.copy", "outcome": "passed", "keywords": ["obspy.core.inventory.inventory.Inventory.copy", "filterwarnings", "inventory.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022098000002301887}}, {"call": {"outcome": "failed", "duration": 0.004998024000002488, "longrepr": "244 \n245         Returns a dictionary containing the contents of the object.\n246 \n247         .. rubric:: Example\n248 \n249         >>> example_filename = \"/path/to/IRIS_single_channel_with_response.xml\"\n250         >>> inventory = read_inventory(example_filename)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.inventory.Inventory.get_contents[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py:250: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003755580000017744}, "lineno": 243, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.get_contents", "outcome": "failed", "keywords": ["obspy.core.inventory.inventory.Inventory.get_contents", "filterwarnings", "inventory.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018572499999436332}}, {"call": {"outcome": "passed", "duration": 0.059928503999998384}, "setup": {"outcome": "passed", "duration": 0.00031845199998770113}, "lineno": 488, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.get_coordinates", "outcome": "passed", "keywords": ["obspy.core.inventory.inventory.Inventory.get_coordinates", "filterwarnings", "inventory.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021306599998638376}}, {"call": {"outcome": "passed", "duration": 0.05927222599999027}, "setup": {"outcome": "passed", "duration": 0.00033717699997737327}, "lineno": 515, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.get_orientation", "outcome": "passed", "keywords": ["obspy.core.inventory.inventory.Inventory.get_orientation", "filterwarnings", "inventory.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019178599998781465}}, {"call": {"outcome": "failed", "duration": 0.004594574000009288, "longrepr": "416 \n417         Find response for a given channel at given time.\n418 \n419         >>> from obspy import read_inventory, UTCDateTime\n420         >>> inventory = read_inventory(\"/path/to/IU_ANMO_BH.xml\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.inventory.Inventory.get_response[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py:420: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034537099998033227}, "lineno": 415, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.get_response", "outcome": "failed", "keywords": ["obspy.core.inventory.inventory.Inventory.get_response", "filterwarnings", "inventory.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001739330000134487}}, {"call": {"outcome": "failed", "duration": 0.11926026000000434, "longrepr": "944             inv = read_inventory()\n945             inv.plot(projection=\"local\",\n946                      color_per_network={'GR': 'blue',\n947                                         'BW': 'green'})\n948 \n949         Combining a station and event plot:\n950 \n951         >>> from obspy import read_inventory, read_events\n952         >>> inv = read_inventory()\n953         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.inventory.Inventory.plot[8]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py:953: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033611399999244895}, "lineno": 826, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.plot", "outcome": "failed", "keywords": ["obspy.core.inventory.inventory.Inventory.plot", "filterwarnings", "inventory.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002325920000032511}}, {"call": {"outcome": "passed", "duration": 0.06037982300000522}, "setup": {"outcome": "passed", "duration": 0.0003510020000021541}, "lineno": 1035, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.plot_response", "outcome": "passed", "keywords": ["obspy.core.inventory.inventory.Inventory.plot_response", "filterwarnings", "inventory.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019312899999590627}}, {"call": {"outcome": "passed", "duration": 0.0633776310000087}, "setup": {"outcome": "passed", "duration": 0.00035760399998707726}, "lineno": 676, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.remove", "outcome": "passed", "keywords": ["obspy.core.inventory.inventory.Inventory.remove", "filterwarnings", "inventory.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019880899998270252}}, {"call": {"outcome": "passed", "duration": 0.060988603999987845}, "setup": {"outcome": "passed", "duration": 0.0003474549999964438}, "lineno": 543, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.select", "outcome": "passed", "keywords": ["obspy.core.inventory.inventory.Inventory.select", "filterwarnings", "inventory.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001927490000070975}}, {"call": {"outcome": "passed", "duration": 0.06096920800001726}, "setup": {"outcome": "passed", "duration": 0.00035341599999583195}, "lineno": 327, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.write", "outcome": "passed", "keywords": ["obspy.core.inventory.inventory.Inventory.write", "filterwarnings", "inventory.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021959800000104224}}, {"call": {"outcome": "failed", "duration": 0.004945466000009446, "longrepr": "182 \n183         Returns a dictionary containing the contents of the object.\n184 \n185         .. rubric:: Example\n186 \n187         >>> from obspy import read_inventory\n188         >>> example_filename = \"/path/to/IRIS_single_channel_with_response.xml\"\n189         >>> inventory = read_inventory(example_filename)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.network.Network.get_contents[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/network.py:189: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004953699999816763}, "lineno": 181, "nodeid": "core/inventory/network.py::obspy.core.inventory.network.Network.get_contents", "outcome": "failed", "keywords": ["obspy.core.inventory.network.Network.get_contents", "filterwarnings", "network.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001915959999791994}}, {"call": {"outcome": "passed", "duration": 0.05915007900000546}, "setup": {"outcome": "passed", "duration": 0.00031479400001899194}, "lineno": 504, "nodeid": "core/inventory/network.py::obspy.core.inventory.network.Network.plot", "outcome": "passed", "keywords": ["obspy.core.inventory.network.Network.plot", "filterwarnings", "network.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001879290000204037}}, {"call": {"outcome": "passed", "duration": 0.05898651500001506}, "setup": {"outcome": "passed", "duration": 0.00035162300000024516}, "lineno": 644, "nodeid": "core/inventory/network.py::obspy.core.inventory.network.Network.plot_response", "outcome": "passed", "keywords": ["obspy.core.inventory.network.Network.plot_response", "filterwarnings", "network.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019984099998282545}}, {"call": {"outcome": "passed", "duration": 0.060337072999999464}, "setup": {"outcome": "passed", "duration": 0.00040799800001423137}, "lineno": 367, "nodeid": "core/inventory/network.py::obspy.core.inventory.network.Network.select", "outcome": "passed", "keywords": ["obspy.core.inventory.network.Network.select", "filterwarnings", "network.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019037300000945834}}, {"call": {"outcome": "failed", "duration": 0.006028888000003008, "longrepr": "361         https://docs.fdsn.org/projects/stationxml/en/latest/response.html#poles-and-zeros\n362 \n363         :returns: The calculated normalization factor (returns None if the\n364             response stage normalization frequency is None)\n365         :rtype: float or None\n366 \n367         .. rubric:: Example\n368 \n369         >>> from obspy import read\n370         >>> paz_stage = read()[0].stats.response.response_stages[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.response.PolesZerosResponseStage.calculate_normalization_factor[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/response.py:370: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00045726899998044246}, "lineno": 355, "nodeid": "core/inventory/response.py::obspy.core.inventory.response.PolesZerosResponseStage.calculate_normalization_factor", "outcome": "failed", "keywords": ["obspy.core.inventory.response.PolesZerosResponseStage.calculate_normalization_factor", "filterwarnings", "response.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017719900000656708}}, {"call": {"outcome": "passed", "duration": 0.0024570440000104554}, "setup": {"outcome": "passed", "duration": 0.00031778999999687585}, "lineno": 922, "nodeid": "core/inventory/response.py::obspy.core.inventory.response.Response.get_sampling_rates", "outcome": "passed", "keywords": ["obspy.core.inventory.response.Response.get_sampling_rates", "filterwarnings", "response.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016956400000367466}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.05945758000001433, "longrepr": "self = <Collector at 0x7f20ecd61c40: CTracer>\n\n>   def lock_data(self) -> None:\nE   ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\n../coverage/collector.py:239: ResourceWarning\n\nThe above exception was the direct cause of the following exception:\n\ncls = <class '_pytest.runner.CallInfo'>\nfunc = <function call_and_report.<locals>.<lambda> at 0x7f20e833cb80>\nwhen = 'call'\nreraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)\n\n    @classmethod\n    def from_call(\n        cls,\n        func: Callable[[], TResult],\n        when: Literal[\"collect\", \"setup\", \"call\", \"teardown\"],\n        reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None,\n    ) -> CallInfo[TResult]:\n        \"\"\"Call func, wrapping the result in a CallInfo.\n    \n        :param func:\n            The function to call. Called without arguments.\n        :type func: Callable[[], _pytest.runner.TResult]\n        :param when:\n            The phase in which the function is called.\n        :param reraise:\n            Exception or exceptions that shall propagate if raised by the\n            function, instead of being wrapped in the CallInfo.\n        \"\"\"\n        excinfo = None\n        instant = timing.Instant()\n        try:\n>           result: TResult | None = func()\n                                     ^^^^^^\n\n../_pytest/runner.py:353: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\n>       lambda: runtest_hook(item=item, **kwds),\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        when=when,\n        reraise=get_reraise_exceptions(item.config),\n    )\n\n../_pytest/runner.py:245: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <HookCaller 'pytest_runtest_call'>\nkwargs = {'item': <DoctestItem obspy.core.inventory.response.Response.plot>}\nfirstresult = False\n\n    def __call__(self, **kwargs: object) -> Any:\n        \"\"\"Call the hook.\n    \n        Only accepts keyword arguments, which should match the hook\n        specification.\n    \n        Returns the result(s) of calling all registered plugins, see\n        :ref:`calling`.\n        \"\"\"\n        assert not self.is_historic(), (\n            \"Cannot directly call a historic hook - use call_historic instead.\"\n        )\n        self._verify_all_args_are_provided(kwargs)\n        firstresult = self.spec.opts.get(\"firstresult\", False) if self.spec else False\n        # Copy because plugins may register other plugins during iteration (#438).\n>       return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_hooks.py:512: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <_pytest.config.PytestPluginManager object at 0x7f20ecd2df40>\nhook_name = 'pytest_runtest_call'\nmethods = [<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>>, ...]\nkwargs = {'item': <DoctestItem obspy.core.inventory.response.Response.plot>}\nfirstresult = False\n\n    def _hookexec(\n        self,\n        hook_name: str,\n        methods: Sequence[HookImpl],\n        kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        # called from all hookcaller instances.\n        # enable_tracing will set its own wrapping function at self._inner_hookexec\n>       return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_manager.py:120: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.inventory.response.Response.plot>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n                            teardown.throw(exception)\n                        except RuntimeError as re:\n                            # StopIteration from generator causes RuntimeError\n                            # even for coroutine usage - see #544\n                            if (\n                                isinstance(exception, StopIteration)\n                                and re.__cause__ is exception\n                            ):\n                                teardown.close()\n                                continue\n                            else:\n                                raise\n                    else:\n                        teardown.send(result)\n                    # Following is unreachable for a well behaved hook wrapper.\n                    # Try to force finalizers otherwise postponed till GC action.\n                    # Note: close() may raise if generator handles GeneratorExit.\n                    teardown.close()\n                except StopIteration as si:\n                    result = si.value\n                    exception = None\n                    continue\n                except BaseException as e:\n                    exception = e\n                    continue\n                _raise_wrapfail(teardown, \"has second yield\")\n    \n        if exception is not None:\n>           raise exception\n\n../pluggy/_callers.py:167: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.inventory.response.Response.plot>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <_pytest.logging.LoggingPlugin object at 0x7f20e4249880>\nitem = <DoctestItem obspy.core.inventory.response.Response.plot>\n\n    @hookimpl(wrapper=True)\n    def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]:\n        self.log_cli_handler.set_when(\"call\")\n    \n        with self._runtest_for(item, \"call\"):\n>           yield\n\n../_pytest/logging.py:850: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.inventory.response.Response.plot>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_impl = <HookImpl plugin_name='_cov', plugin=<pytest_cov.plugin.CovPlugin object at 0x7f20ecdf1130>>\nhook_name = 'pytest_runtest_call'\nargs = [<DoctestItem obspy.core.inventory.response.Response.plot>]\n\n    def run_old_style_hookwrapper(\n        hook_impl: HookImpl, hook_name: str, args: Sequence[object]\n    ) -> Teardown:\n        \"\"\"\n        backward compatibility wrapper to run a old style hookwrapper as a wrapper\n        \"\"\"\n    \n        teardown: Teardown = cast(Teardown, hook_impl.function(*args))\n        try:\n            next(teardown)\n        except StopIteration:\n            _raise_wrapfail(teardown, \"did not yield\")\n        try:\n            res = yield\n            result = Result(res, None)\n        except BaseException as exc:\n            result = Result(None, exc)\n        try:\n            teardown.send(result)\n        except StopIteration:\n            pass\n        except BaseException as e:\n            _warn_teardown_exception(hook_name, hook_impl, e)\n            raise\n        else:\n            _raise_wrapfail(teardown, \"has second yield\")\n        finally:\n            teardown.close()\n>       return result.get_result()\n               ^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_callers.py:53: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <pluggy._result.Result object at 0x7f20ddb3fd00>\n\n    def get_result(self) -> ResultType:\n        \"\"\"Get the result(s) for this hook call.\n    \n        If the hook was marked as a ``firstresult`` only a single value\n        will be returned, otherwise a list of results.\n        \"\"\"\n        __tracebackhide__ = True\n        exc = self._exception\n        tb = self._traceback\n        if exc is None:\n            return cast(ResultType, self._result)\n        else:\n>           raise exc.with_traceback(tb)\n\n../pluggy/_result.py:103: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_impl = <HookImpl plugin_name='_cov', plugin=<pytest_cov.plugin.CovPlugin object at 0x7f20ecdf1130>>\nhook_name = 'pytest_runtest_call'\nargs = [<DoctestItem obspy.core.inventory.response.Response.plot>]\n\n    def run_old_style_hookwrapper(\n        hook_impl: HookImpl, hook_name: str, args: Sequence[object]\n    ) -> Teardown:\n        \"\"\"\n        backward compatibility wrapper to run a old style hookwrapper as a wrapper\n        \"\"\"\n    \n        teardown: Teardown = cast(Teardown, hook_impl.function(*args))\n        try:\n            next(teardown)\n        except StopIteration:\n            _raise_wrapfail(teardown, \"did not yield\")\n        try:\n>           res = yield\n                  ^^^^^\n\n../pluggy/_callers.py:38: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.inventory.response.Response.plot>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <CaptureManager _method='fd' _global_capturing=<MultiCapture out=<FDCapture 1 oldfd=5 _state='suspended' tmpfile=<_io....xtIOWrapper name='/dev/null' mode='r' encoding='utf-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>\nitem = <DoctestItem obspy.core.inventory.response.Response.plot>\n\n    @hookimpl(wrapper=True)\n    def pytest_runtest_call(self, item: Item) -> Generator[None]:\n        with self.item_capture(\"call\", item):\n>           return (yield)\n                    ^^^^^\n\n../_pytest/capture.py:900: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.inventory.response.Response.plot>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_impl = <HookImpl plugin_name='139780185669120', plugin=<pytest_jsonreport.plugin.JSONReport object at 0x7f211c503e00>>\nhook_name = 'pytest_runtest_call'\nargs = [<DoctestItem obspy.core.inventory.response.Response.plot>]\n\n    def run_old_style_hookwrapper(\n        hook_impl: HookImpl, hook_name: str, args: Sequence[object]\n    ) -> Teardown:\n        \"\"\"\n        backward compatibility wrapper to run a old style hookwrapper as a wrapper\n        \"\"\"\n    \n        teardown: Teardown = cast(Teardown, hook_impl.function(*args))\n        try:\n            next(teardown)\n        except StopIteration:\n            _raise_wrapfail(teardown, \"did not yield\")\n        try:\n            res = yield\n            result = Result(res, None)\n        except BaseException as exc:\n            result = Result(None, exc)\n        try:\n            teardown.send(result)\n        except StopIteration:\n            pass\n        except BaseException as e:\n            _warn_teardown_exception(hook_name, hook_impl, e)\n            raise\n        else:\n            _raise_wrapfail(teardown, \"has second yield\")\n        finally:\n            teardown.close()\n>       return result.get_result()\n               ^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_callers.py:53: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <pluggy._result.Result object at 0x7f20dabb7640>\n\n    def get_result(self) -> ResultType:\n        \"\"\"Get the result(s) for this hook call.\n    \n        If the hook was marked as a ``firstresult`` only a single value\n        will be returned, otherwise a list of results.\n        \"\"\"\n        __tracebackhide__ = True\n        exc = self._exception\n        tb = self._traceback\n        if exc is None:\n            return cast(ResultType, self._result)\n        else:\n>           raise exc.with_traceback(tb)\n\n../pluggy/_result.py:103: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_impl = <HookImpl plugin_name='139780185669120', plugin=<pytest_jsonreport.plugin.JSONReport object at 0x7f211c503e00>>\nhook_name = 'pytest_runtest_call'\nargs = [<DoctestItem obspy.core.inventory.response.Response.plot>]\n\n    def run_old_style_hookwrapper(\n        hook_impl: HookImpl, hook_name: str, args: Sequence[object]\n    ) -> Teardown:\n        \"\"\"\n        backward compatibility wrapper to run a old style hookwrapper as a wrapper\n        \"\"\"\n    \n        teardown: Teardown = cast(Teardown, hook_impl.function(*args))\n        try:\n            next(teardown)\n        except StopIteration:\n            _raise_wrapfail(teardown, \"did not yield\")\n        try:\n>           res = yield\n                  ^^^^^\n\n../pluggy/_callers.py:38: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.inventory.response.Response.plot>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nitem = <DoctestItem obspy.core.inventory.response.Response.plot>\n\n    @hookimpl(wrapper=True)\n    def pytest_runtest_call(item: Item) -> Generator[None]:\n        xfailed = item.stash.get(xfailed_key, None)\n        if xfailed is None:\n            item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)\n    \n        if xfailed and not item.config.option.runxfail and not xfailed.run:\n            xfail(\"[NOTRUN] \" + xfailed.reason)\n    \n        try:\n>           return (yield)\n                    ^^^^^\n\n../_pytest/skipping.py:268: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.core.inventory.response.Response.plot>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n>                       res = hook_impl.function(*args)\n                              ^^^^^^^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_callers.py:121: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nitem = <DoctestItem obspy.core.inventory.response.Response.plot>\n\n    @pytest.hookimpl(trylast=True)\n    def pytest_runtest_call(item: Item) -> None:\n>       collect_unraisable(item.config)\n\n../_pytest/unraisableexception.py:158: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nconfig = <_pytest.config.Config object at 0x7f20ecf708c0>\n\n    def collect_unraisable(config: Config) -> None:\n        pop_unraisable = config.stash[unraisable_exceptions].pop\n        errors: list[pytest.PytestUnraisableExceptionWarning | RuntimeError] = []\n        meta = None\n        hook_error = None\n        try:\n            while True:\n                try:\n                    meta = pop_unraisable()\n                except IndexError:\n                    break\n    \n                if isinstance(meta, BaseException):\n                    hook_error = RuntimeError(\"Failed to process unraisable exception\")\n                    hook_error.__cause__ = meta\n                    errors.append(hook_error)\n                    continue\n    \n                msg = meta.msg\n                try:\n                    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n                except pytest.PytestUnraisableExceptionWarning as e:\n                    # This except happens when the warning is treated as an error (e.g. `-Werror`).\n                    if meta.exc_value is not None:\n                        # Exceptions have a better way to show the traceback, but\n                        # warnings do not, so hide the traceback from the msg and\n                        # set the cause so the traceback shows up in the right place.\n                        e.args = (meta.cause_msg,)\n                        e.__cause__ = meta.exc_value\n                    errors.append(e)\n    \n            if len(errors) == 1:\n>               raise errors[0]\n\n../_pytest/unraisableexception.py:79: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nconfig = <_pytest.config.Config object at 0x7f20ecf708c0>\n\n    def collect_unraisable(config: Config) -> None:\n        pop_unraisable = config.stash[unraisable_exceptions].pop\n        errors: list[pytest.PytestUnraisableExceptionWarning | RuntimeError] = []\n        meta = None\n        hook_error = None\n        try:\n            while True:\n                try:\n                    meta = pop_unraisable()\n                except IndexError:\n                    break\n    \n                if isinstance(meta, BaseException):\n                    hook_error = RuntimeError(\"Failed to process unraisable exception\")\n                    hook_error.__cause__ = meta\n                    errors.append(hook_error)\n                    continue\n    \n                msg = meta.msg\n                try:\n>                   warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\nE                   pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nE                   Enable tracemalloc to get traceback where the object was allocated.\nE                   See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n\n../_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning", "traceback": [{"path": "../_pytest/runner.py", "lineno": 353, "message": ""}, {"path": "../_pytest/runner.py", "lineno": 245, "message": ""}, {"path": "../pluggy/_hooks.py", "lineno": 512, "message": ""}, {"path": "../pluggy/_manager.py", "lineno": 120, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 167, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../_pytest/logging.py", "lineno": 850, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 53, "message": ""}, {"path": "../pluggy/_result.py", "lineno": 103, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 38, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../_pytest/capture.py", "lineno": 900, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 53, "message": ""}, {"path": "../pluggy/_result.py", "lineno": 103, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 38, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../_pytest/skipping.py", "lineno": 268, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 121, "message": ""}, {"path": "../_pytest/unraisableexception.py", "lineno": 158, "message": ""}, {"path": "../_pytest/unraisableexception.py", "lineno": 79, "message": ""}, {"path": "../_pytest/unraisableexception.py", "lineno": 67, "message": "PytestUnraisableExceptionWarning"}]}, "setup": {"outcome": "passed", "duration": 0.0003045459999952982}, "lineno": 1842, "nodeid": "core/inventory/response.py::obspy.core.inventory.response.Response.plot", "outcome": "failed", "keywords": ["obspy.core.inventory.response.Response.plot", "filterwarnings", "response.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030847299998981725}}, {"call": {"outcome": "failed", "duration": 0.004962478000010151, "longrepr": "197 \n198         Returns a dictionary containing the contents of the object.\n199 \n200         .. rubric:: Example\n201 \n202         >>> from obspy import read_inventory\n203         >>> example_filename = \"/path/to/IRIS_single_channel_with_response.xml\"\n204         >>> inventory = read_inventory(example_filename)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.station.Station.get_contents[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/station.py:204: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005310759999872516}, "lineno": 196, "nodeid": "core/inventory/station.py::obspy.core.inventory.station.Station.get_contents", "outcome": "failed", "keywords": ["obspy.core.inventory.station.Station.get_contents", "filterwarnings", "station.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001799440000240793}}, {"call": {"outcome": "passed", "duration": 0.059990700000014385}, "setup": {"outcome": "passed", "duration": 0.00032483299997920767}, "lineno": 472, "nodeid": "core/inventory/station.py::obspy.core.inventory.station.Station.plot", "outcome": "passed", "keywords": ["obspy.core.inventory.station.Station.plot", "filterwarnings", "station.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021242399998300243}}, {"call": {"outcome": "passed", "duration": 0.05996588400000746}, "setup": {"outcome": "passed", "duration": 0.00033537299998442904}, "lineno": 351, "nodeid": "core/inventory/station.py::obspy.core.inventory.station.Station.select", "outcome": "passed", "keywords": ["obspy.core.inventory.station.Station.select", "filterwarnings", "station.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020578199999476965}}, {"call": {"outcome": "passed", "duration": 0.06697412200000485}, "setup": {"outcome": "passed", "duration": 0.0004981050000196774}, "lineno": 154, "nodeid": "core/inventory/util.py::obspy.core.inventory.util.BaseNode.copy", "outcome": "passed", "keywords": ["obspy.core.inventory.util.BaseNode.copy", "filterwarnings", "util.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020062200002257669}}, {"call": {"outcome": "passed", "duration": 0.0032618390000038744}, "setup": {"outcome": "passed", "duration": 0.00047259800001597796}, "lineno": 313, "nodeid": "core/stream.py::obspy.core.stream.Stream", "outcome": "passed", "keywords": ["obspy.core.stream.Stream", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001771690000111903}}, {"call": {"outcome": "passed", "duration": 0.0028914310000232035}, "setup": {"outcome": "passed", "duration": 0.0003068700000028457}, "lineno": 356, "nodeid": "core/stream.py::obspy.core.stream.Stream.__add__", "outcome": "passed", "keywords": ["obspy.core.stream.Stream.__add__", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017472499999371394}}, {"call": {"outcome": "failed", "duration": 0.0056084770000097706, "longrepr": "566         :rtype: bool\n567         :return: ``True`` if both Streams contain the same traces, i.e. after a\n568             sort operation going through both streams every trace should be\n569             equal according to Trace's\n570             :meth:`~obspy.core.trace.Trace.__eq__` operator.\n571 \n572         .. rubric:: Example\n573 \n574         >>> from obspy import read\n575         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.__eq__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:575: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00030086900000014793}, "lineno": 552, "nodeid": "core/stream.py::obspy.core.stream.Stream.__eq__", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.__eq__", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001911039999811237}}, {"call": {"outcome": "passed", "duration": 0.002792066000012028}, "setup": {"outcome": "passed", "duration": 0.0003076120000002902}, "lineno": 394, "nodeid": "core/stream.py::obspy.core.stream.Stream.__iadd__", "outcome": "passed", "keywords": ["obspy.core.stream.Stream.__iadd__", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001861759999997048}}, {"call": {"outcome": "passed", "duration": 0.004550672999982908}, "setup": {"outcome": "passed", "duration": 0.00029819400000974383}, "lineno": 453, "nodeid": "core/stream.py::obspy.core.stream.Stream.__iter__", "outcome": "passed", "keywords": ["obspy.core.stream.Stream.__iter__", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017364299998234856}}, {"call": {"outcome": "passed", "duration": 0.0025705950000087796}, "setup": {"outcome": "passed", "duration": 0.0003070100000002185}, "lineno": 502, "nodeid": "core/stream.py::obspy.core.stream.Stream.__len__", "outcome": "passed", "keywords": ["obspy.core.stream.Stream.__len__", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017152800000985735}}, {"call": {"outcome": "failed", "duration": 0.0053901720000055775, "longrepr": "429         Create a new Stream containing num copies of this stream.\n430 \n431         :rtype num: int\n432         :param num: Number of copies.\n433         :returns: New ObsPy Stream object.\n434 \n435         .. rubric:: Example\n436 \n437         >>> from obspy import read\n438         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.__mul__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:438: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003160870000158411}, "lineno": 427, "nodeid": "core/stream.py::obspy.core.stream.Stream.__mul__", "outcome": "error", "keywords": ["obspy.core.stream.Stream.__mul__", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00020605200001000412, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    return compile(source, filename, mode, flags,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "failed", "duration": 0.005358743000016375, "longrepr": "601 \n602         Implements rich comparison of Stream objects for \"!=\" operator.\n603 \n604         .. rubric:: Example\n605 \n606         >>> from obspy import read\n607         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.__ne__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:607: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003369759999998223}, "lineno": 600, "nodeid": "core/stream.py::obspy.core.stream.Stream.__ne__", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.__ne__", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001896219999935056}}, {"call": {"outcome": "passed", "duration": 0.0027266349999877093}, "setup": {"outcome": "passed", "duration": 0.00030189099999233804}, "lineno": 516, "nodeid": "core/stream.py::obspy.core.stream.Stream.__str__", "outcome": "passed", "keywords": ["obspy.core.stream.Stream.__str__", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019384999998806052}}, {"call": {"outcome": "passed", "duration": 0.0045019920000015645}, "setup": {"outcome": "passed", "duration": 0.000296310999999605}, "lineno": 3376, "nodeid": "core/stream.py::obspy.core.stream.Stream._dummy_stream_from_string", "outcome": "passed", "keywords": ["obspy.core.stream.Stream._dummy_stream_from_string", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017434399998705885}}, {"call": {"outcome": "failed", "duration": 0.004355691000000661, "longrepr": "3567 \n3568         Rotate three explicitly specified channels to ZNE.\n3569 \n3570         >>> from obspy import read, read_inventory\n3571         >>> st = read(\"/path/to/ffbx_unrotated_gaps.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream._rotate_specific_channels_to_zne[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3571: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00030649900000412345}, "lineno": 3566, "nodeid": "core/stream.py::obspy.core.stream.Stream._rotate_specific_channels_to_zne", "outcome": "failed", "keywords": ["obspy.core.stream.Stream._rotate_specific_channels_to_zne", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019020299998828705}}, {"call": {"outcome": "failed", "duration": 0.004798543000021027, "longrepr": "3509 \n3510         Rotate all matching traces to ZNE, specifying sets of component codes.\n3511 \n3512         >>> from obspy import read, read_inventory\n3513         >>> st = read(\"/path/to/ffbx_unrotated_gaps.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream._rotate_to_zne[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3513: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003063089999955082}, "lineno": 3508, "nodeid": "core/stream.py::obspy.core.stream.Stream._rotate_to_zne", "outcome": "error", "keywords": ["obspy.core.stream.Stream._rotate_to_zne", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00021239500000547196, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/traceback.py\", line 662, in indent\n    def indent(self):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "failed", "duration": 0.00541238299999236, "longrepr": "674 \n675         Append a single Trace object to the current Stream object.\n676 \n677         :param trace: :class:`~obspy.core.trace.Trace` object.\n678 \n679         .. rubric:: Example\n680 \n681         >>> from obspy import read, Trace\n682         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.append[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:682: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032531499999777225}, "lineno": 673, "nodeid": "core/stream.py::obspy.core.stream.Stream.append", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.append", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017426400000886133}}, {"call": {"outcome": "failed", "duration": 0.005348123999993959, "longrepr": "2957 \n2958         Replaces Stream's trace list by an empty one creating an empty\n2959         Stream object. Useful if there are references to the current\n2960         Stream object that should not break. Otherwise simply use a new\n2961         Stream() instance.\n2962 \n2963         .. rubric:: Example\n2964 \n2965         >>> from obspy import read\n2966         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.clear[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2966: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003159169999946698}, "lineno": 2954, "nodeid": "core/stream.py::obspy.core.stream.Stream.clear", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.clear", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017424400002141738}}, {"call": {"outcome": "failed", "duration": 0.0059932819999914955, "longrepr": "2920 \n2921         :rtype: :class:`~obspy.core.stream.Stream`\n2922         :return: Copy of current stream.\n2923 \n2924         .. rubric:: Examples\n2925 \n2926         1. Create a Stream and copy it\n2927 \n2928             >>> from obspy import read\n2929             >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.copy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2929: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00030565800000204035}, "lineno": 2917, "nodeid": "core/stream.py::obspy.core.stream.Stream.copy", "outcome": "error", "keywords": ["obspy.core.stream.Stream.copy", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00021820500001012988, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 101, in _convert\n    |     return dict(zip(map(_convert, node.keys),\n    |                     ^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 101, in _convert\n    |     return dict(zip(map(_convert, node.keys),\n    |                     ^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"outcome": "failed", "duration": 0.005388668999984247, "longrepr": "1584         Cut the given time range out of all traces of this Stream object.\n1585 \n1586         :type starttime: :class:`~obspy.core.utcdatetime.UTCDateTime`\n1587         :param starttime: Start of time span to remove from stream.\n1588         :type endtime: :class:`~obspy.core.utcdatetime.UTCDateTime`\n1589         :param endtime: End of time span to remove from stream.\n1590 \n1591         .. rubric:: Example\n1592 \n1593         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.cutout[0]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1593: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032032499998990716}, "lineno": 1582, "nodeid": "core/stream.py::obspy.core.stream.Stream.cutout", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.cutout", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017498500000101558}}, {"call": {"outcome": "passed", "duration": 0.00322925800000462}, "setup": {"outcome": "passed", "duration": 0.00032954200000290257}, "lineno": 2406, "nodeid": "core/stream.py::obspy.core.stream.Stream.decimate", "outcome": "passed", "keywords": ["obspy.core.stream.Stream.decimate", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019287899999653746}}, {"call": {"outcome": "failed", "duration": 0.0054745089999812535, "longrepr": "702 \n703         Extend the current Stream object with a list of Trace objects.\n704 \n705         :param trace_list: list of :class:`~obspy.core.trace.Trace` objects or\n706             :class:`~obspy.core.stream.Stream`.\n707 \n708         .. rubric:: Example\n709 \n710         >>> from obspy import read, Trace\n711         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.extend[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:711: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00030861399997661465}, "lineno": 701, "nodeid": "core/stream.py::obspy.core.stream.Stream.extend", "outcome": "error", "keywords": ["obspy.core.stream.Stream.extend", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0002213810000171179, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/traceback.py\", line 673, in <lambda>\n    yield textwrap.indent(text_gen, indent_str, lambda line: True)\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "failed", "duration": 0.005370315000021719, "longrepr": "2240             FIR-Lowpass (uses :func:`obspy.signal.filter.lowpass_fir`).\n2241 \n2242         ``'remez_fir'`` (experimental)\n2243             Minimax optimal bandpass using Remez algorithm (uses\n2244             :func:`obspy.signal.filter.remez_fir`).\n2245 \n2246         .. rubric:: Example\n2247 \n2248         >>> from obspy import read\n2249         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.filter[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2249: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031563699999992423}, "lineno": 2198, "nodeid": "core/stream.py::obspy.core.stream.Stream.filter", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.filter", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017659799999591996}}, {"call": {"outcome": "failed", "duration": 0.005390221999988398, "longrepr": "755         Traces and the start and end times of segments within Traces that\n756         contain masked arrays (i.e., Traces that were merged without a fill\n757         value).\n758 \n759         .. rubric:: Example\n760 \n761         Our example stream has no gaps:\n762 \n763         >>> from obspy import read, UTCDateTime\n764         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.get_gaps[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:764: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003143940000143175}, "lineno": 740, "nodeid": "core/stream.py::obspy.core.stream.Stream.get_gaps", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.get_gaps", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017410299997777656}}, {"call": {"outcome": "failed", "duration": 0.005798421000008602, "longrepr": "2603 \n2604         .. note::\n2605 \n2606             This operation is performed in place on the actual data arrays. The\n2607             raw data will no longer be accessible afterwards. To keep your\n2608             original data, use :meth:`~obspy.core.stream.Stream.copy` to create\n2609             a copy of your stream object.\n2610 \n2611         >>> from obspy import read\n2612         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.interpolate[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2612: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00030685999999491287}, "lineno": 2587, "nodeid": "core/stream.py::obspy.core.stream.Stream.interpolate", "outcome": "error", "keywords": ["obspy.core.stream.Stream.interpolate", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00021354699998710203, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 86, in _convert\n    |     def _convert(node):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 86, in _convert\n    |     def _convert(node):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"outcome": "passed", "duration": 0.0028539319999936197}, "setup": {"outcome": "passed", "duration": 0.0003226599999948121}, "lineno": 2474, "nodeid": "core/stream.py::obspy.core.stream.Stream.max", "outcome": "passed", "keywords": ["obspy.core.stream.Stream.max", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017227999998681298}}, {"call": {"outcome": "passed", "duration": 0.004669143000000986}, "setup": {"outcome": "passed", "duration": 0.0003081719999897814}, "lineno": 2651, "nodeid": "core/stream.py::obspy.core.stream.Stream.normalize", "outcome": "passed", "keywords": ["obspy.core.stream.Stream.normalize", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001764380000111032}}, {"call": {"outcome": "failed", "duration": 0.005377648999996154, "longrepr": "1148         * pass an string of a R, G, B tuple, where each of the components is a\n1149           float value in the range of 0 to 1, e.g. ``'(1, 0.25, 0.5)'``, or\n1150         * use single letters for the basic built-in colors, such as ``'b'``\n1151           (blue), ``'g'`` (green), ``'r'`` (red), ``'c'`` (cyan), ``'m'``\n1152           (magenta), ``'y'`` (yellow), ``'k'`` (black), ``'w'`` (white).\n1153 \n1154         .. rubric:: Example\n1155 \n1156         >>> from obspy import read\n1157         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.plot[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1157: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033118499999318374}, "lineno": 885, "nodeid": "core/stream.py::obspy.core.stream.Stream.plot", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.plot", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017489499998646352}}, {"call": {"outcome": "failed", "duration": 0.005354175000007899, "longrepr": "1200         If no index is given, remove the last Trace. Passes on the pop() to\n1201         self.traces.\n1202 \n1203         :param index: Index of the Trace object to be returned and removed.\n1204         :returns: Removed Trace.\n1205 \n1206         .. rubric:: Example\n1207 \n1208         >>> from obspy import read\n1209         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.pop[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1209: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003089040000077148}, "lineno": 1196, "nodeid": "core/stream.py::obspy.core.stream.Stream.pop", "outcome": "error", "keywords": ["obspy.core.stream.Stream.pop", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00021748399998955392, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    return compile(source, filename, mode, flags,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "failed", "duration": 0.005391164000002391, "longrepr": "1230             value is assumed to be in seconds. Defaults to None.\n1231         :param max_gap: All gaps larger than this value will be omitted. The\n1232             value is assumed to be in seconds. Defaults to None.\n1233 \n1234         .. rubric:: Example\n1235 \n1236         Our example stream has no gaps:\n1237 \n1238         >>> from obspy import read, UTCDateTime\n1239         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.print_gaps[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1239: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003396209999948496}, "lineno": 1225, "nodeid": "core/stream.py::obspy.core.stream.Stream.print_gaps", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.print_gaps", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001724599999874954}}, {"call": {"outcome": "failed", "duration": 0.005362440999988394, "longrepr": "1301         Stream object. Passes on the remove() call to self.traces.\n1302 \n1303         :param trace: Trace object to be removed from Stream.\n1304 \n1305         .. rubric:: Example\n1306 \n1307         This example shows how to delete all \"E\" component traces in a stream:\n1308 \n1309         >>> from obspy import read\n1310         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.remove[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1310: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003103960000032657}, "lineno": 1298, "nodeid": "core/stream.py::obspy.core.stream.Stream.remove", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.remove", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017234000000598826}}, {"call": {"outcome": "failed", "duration": 0.00578926399998636, "longrepr": "3233 \n3234         Deconvolve instrument response for all Traces in Stream.\n3235 \n3236         For details see the corresponding\n3237         :meth:`~obspy.core.trace.Trace.remove_response` method of\n3238         :class:`~obspy.core.trace.Trace`.\n3239 \n3240         >>> from obspy import read, read_inventory\n3241         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.remove_response[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3241: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003281900000047244}, "lineno": 3232, "nodeid": "core/stream.py::obspy.core.stream.Stream.remove_response", "outcome": "error", "keywords": ["obspy.core.stream.Stream.remove_response", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00022064999998860912, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    |     return compile(source, filename, mode, flags,\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    |     return compile(source, filename, mode, flags,\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"outcome": "failed", "duration": 0.0054496219999862205, "longrepr": "3267 \n3268         Remove instrument sensitivity for all Traces in Stream.\n3269 \n3270         For details see the corresponding\n3271         :meth:`~obspy.core.trace.Trace.remove_sensitivity` method of\n3272         :class:`~obspy.core.trace.Trace`.\n3273 \n3274         >>> from obspy import read, read_inventory\n3275         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.remove_sensitivity[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3275: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003162170000052811}, "lineno": 3266, "nodeid": "core/stream.py::obspy.core.stream.Stream.remove_sensitivity", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.remove_sensitivity", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001730609999981425}}, {"call": {"outcome": "failed", "duration": 0.0054219810000120106, "longrepr": "2378             a copy of your stream object.\n2379             This also makes an entry with information on the applied processing\n2380             in ``stats.processing`` of every trace.\n2381 \n2382         Uses :func:`scipy.signal.resample`. Because a Fourier method is used,\n2383         the signal is assumed to be periodic.\n2384 \n2385         .. rubric:: Example\n2386 \n2387         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.resample[0]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2387: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003266269999926408}, "lineno": 2346, "nodeid": "core/stream.py::obspy.core.stream.Stream.resample", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.resample", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017472499999371394}}, {"call": {"outcome": "failed", "duration": 0.006078820999988466, "longrepr": "1328 \n1329         Reverse the Traces of the Stream object in place.\n1330 \n1331         .. rubric:: Example\n1332 \n1333         >>> from obspy import read\n1334         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.reverse[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1334: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031093799998416216}, "lineno": 1327, "nodeid": "core/stream.py::obspy.core.stream.Stream.reverse", "outcome": "error", "keywords": ["obspy.core.stream.Stream.reverse", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00021123199999806275, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/enum.py\", line 1128, in __new__\n    |     def __new__(cls, value):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/enum.py\", line 1128, in __new__\n    |     def __new__(cls, value):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"outcome": "failed", "duration": 0.004372752000023183, "longrepr": "2765         :type inventory: :class:`~obspy.core.inventory.inventory.Inventory` or\n2766             :class:`~obspy.io.xseed.parser.Parser`\n2767         :param inventory: Inventory or SEED Parser with metadata of channels.\n2768 \n2769         Example to rotate unaligned borehole instrument data based on station\n2770         inventory (a dataless SEED :class:`~obspy.io.xseed.parser.Parser` can\n2771         also be provided, see details for option ``inventory``):\n2772 \n2773         >>> from obspy import read, read_inventory\n2774         >>> st = read(\"/path/to/ffbx_unrotated_gaps.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.rotate[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2774: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003122899999823403}, "lineno": 2727, "nodeid": "core/stream.py::obspy.core.stream.Stream.rotate", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.rotate", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001747439999917333}}, {"call": {"outcome": "failed", "duration": 0.005340961000001698, "longrepr": "1787 \n1788         Alternatively, traces can be selected based on the content of an\n1789         :class:`~obspy.core.inventory.inventory.Inventory` object: trace will\n1790         be selected if the inventory contains a matching channel active at the\n1791         trace start time.\n1792 \n1793         .. rubric:: Examples\n1794 \n1795         >>> from obspy import read\n1796         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.select[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1796: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003376070000058462}, "lineno": 1783, "nodeid": "core/stream.py::obspy.core.stream.Stream.select", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.select", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017096799999194445}}, {"call": {"outcome": "failed", "duration": 0.005883218000008128, "longrepr": "2152             original data, use :meth:`~obspy.core.stream.Stream.copy` to create\n2153             a copy of your stream object.\n2154             This also makes an entry with information on the applied processing\n2155             in ``stats.processing`` of every trace.\n2156 \n2157         .. rubric:: Example\n2158 \n2159         >>> from obspy import read\n2160         >>> from obspy.signal.invsim import corn_freq_2_paz\n2161         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.simulate[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2161: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003152060000104484}, "lineno": 2095, "nodeid": "core/stream.py::obspy.core.stream.Stream.simulate", "outcome": "error", "keywords": ["obspy.core.stream.Stream.simulate", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00023494699999559998, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    |     return compile(source, filename, mode, flags,\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    |     return compile(source, filename, mode, flags,\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"outcome": "failed", "duration": 0.005332745000004024, "longrepr": "1646         .. note::\n1647 \n1648             The basic idea of :meth:`~obspy.core.stream.Stream.slice`\n1649             is to avoid copying the sample data in memory. So sample data in\n1650             the resulting :class:`~obspy.core.stream.Stream` object contains\n1651             only a reference to the original traces.\n1652 \n1653         .. rubric:: Example\n1654 \n1655         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.slice[0]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1655: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00036139100001264524}, "lineno": 1618, "nodeid": "core/stream.py::obspy.core.stream.Stream.slice", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.slice", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019082500000422442}}, {"call": {"outcome": "failed", "duration": 0.00538221700000463, "longrepr": "1709         have overlapping windows, all following windows are affected as well.\n1710 \n1711         Not all yielded windows must have the same number of traces. The\n1712         algorithm will determine the maximal temporal extents by analysing\n1713         all Traces and then creates windows based on these times.\n1714 \n1715         .. rubric:: Example\n1716 \n1717         >>> import obspy\n1718         >>> st = obspy.read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.slide[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1718: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00030653900000743306}, "lineno": 1701, "nodeid": "core/stream.py::obspy.core.stream.Stream.slide", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.slide", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017219899999076915}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.001424966999991284, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/inspect.py\", line 2448, in _signature_from_function\n    for offset, name in enumerate(positional[non_default_count:]):\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 153, in pytest_runtest_setup\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "lineno": 1351, "nodeid": "core/stream.py::obspy.core.stream.Stream.sort", "outcome": "error", "keywords": ["obspy.core.stream.Stream.sort", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018107700000769}}, {"call": {"outcome": "failed", "duration": 0.0054613949999975375, "longrepr": "1171 \n1172         Create a spectrogram plot for each trace in the stream.\n1173 \n1174         For details on kwargs that can be used to customize the spectrogram\n1175         plot see :func:`obspy.imaging.spectrogram.spectrogram`.\n1176 \n1177         .. rubric:: Example\n1178 \n1179         >>> from obspy import read\n1180         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.spectrogram[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1180: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003047860000151559}, "lineno": 1170, "nodeid": "core/stream.py::obspy.core.stream.Stream.spectrogram", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.spectrogram", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017483400000628535}}, {"call": {"outcome": "failed", "duration": 0.005370776000006572, "longrepr": "3321         :type npts_tol: int\n3322         :param npts_tol: Tolerate traces with different number of points\n3323             with a difference up to this value. Surplus samples are discarded.\n3324         :type time_tol: float\n3325         :param time_tol: Tolerate difference, in seconds, in startime when\n3326             setting the new starttime of the stack. If starttimes differs more\n3327             than this value it will be set to timestamp 0.\n3328 \n3329         >>> from obspy import read\n3330         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.stack[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3330: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003292819999956009}, "lineno": 3292, "nodeid": "core/stream.py::obspy.core.stream.Stream.stack", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.stack", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001761470000190002}}, {"call": {"outcome": "passed", "duration": 0.0028938749999838365}, "setup": {"outcome": "passed", "duration": 0.00030839300001161973}, "lineno": 2630, "nodeid": "core/stream.py::obspy.core.stream.Stream.std", "outcome": "passed", "keywords": ["obspy.core.stream.Stream.std", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017564599997399455}}, {"call": {"outcome": "failed", "duration": 0.005894989000012174, "longrepr": "2315             Computes the modified energy ratio characteristic function (uses\n2316             :func:`obspy.signal.trigger.modified_energy_ratio`).\n2317 \n2318         ``'zdetect'``\n2319             Z-detector (uses :func:`obspy.signal.trigger.z_detect`).\n2320 \n2321         .. rubric:: Example\n2322 \n2323         >>> from obspy import read\n2324         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.trigger[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2324: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031375300000036077}, "lineno": 2265, "nodeid": "core/stream.py::obspy.core.stream.Stream.trigger", "outcome": "error", "keywords": ["obspy.core.stream.Stream.trigger", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00021212400000081288, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 101, in _convert\n    |     return dict(zip(map(_convert, node.keys),\n    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 101, in _convert\n    |     return dict(zip(map(_convert, node.keys),\n    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"outcome": "failed", "duration": 0.00538502300000232, "longrepr": "1507         .. note::\n1508 \n1509             This operation is performed in place on the actual data arrays. The\n1510             raw data will no longer be accessible afterwards. To keep your\n1511             original data, use :meth:`~obspy.core.stream.Stream.copy` to create\n1512             a copy of your stream object.\n1513 \n1514         .. rubric:: Example\n1515 \n1516         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.trim[0]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1516: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031825100001015016}, "lineno": 1472, "nodeid": "core/stream.py::obspy.core.stream.Stream.trim", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.trim", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017304200000012315}}, {"call": {"outcome": "passed", "duration": 0.0029898329999866746}, "setup": {"outcome": "passed", "duration": 0.000334861999988334}, "lineno": 1953, "nodeid": "core/stream.py::obspy.core.stream.Stream.verify", "outcome": "passed", "keywords": ["obspy.core.stream.Stream.verify", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000173162000010052}}, {"call": {"outcome": "passed", "duration": 0.0024160480000148254}, "setup": {"outcome": "passed", "duration": 0.00031354199998645527}, "lineno": 1400, "nodeid": "core/stream.py::obspy.core.stream.Stream.write", "outcome": "passed", "keywords": ["obspy.core.stream.Stream.write", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017028600001367522}}, {"call": {"outcome": "skipped", "duration": 0.0002940770000066095, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00029858500002433175}, "lineno": 3660, "nodeid": "core/stream.py::obspy.core.stream._is_pickle", "outcome": "skipped", "keywords": ["obspy.core.stream._is_pickle", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001723199999901226}}, {"call": {"outcome": "failed", "duration": 0.006048905999989529, "longrepr": "094     .. rubric:: Basic Usage\n095 \n096     In most cases a filename is specified as the only argument to\n097     :func:`~obspy.core.stream.read`. For a quick start you may omit all\n098     arguments and ObsPy will create and return a basic example seismogram.\n099     Further usages of the :func:`~obspy.core.stream.read` function can\n100     be seen in the `Further Examples`_ section underneath.\n101 \n102     >>> from obspy import read\n103     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.read[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:103: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003043050000144376}, "lineno": 44, "nodeid": "core/stream.py::obspy.core.stream.read", "outcome": "error", "keywords": ["obspy.core.stream.read", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00022583000000508946, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/zipfile/__init__.py\", line 1634, in <lambda>\n    self._fpclose, self._lock, lambda: self._writing)\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "passed", "duration": 0.7251747290000026}, "setup": {"outcome": "passed", "duration": 0.0010712300000079722}, "lineno": 24, "nodeid": "core/tests/test_channel.py::TestChannel::test_response_plot", "outcome": "passed", "keywords": ["test_response_plot", "filterwarnings", "image", "TestChannel", "usefixtures", "test_channel.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003147550000051069}}, {"call": {"outcome": "passed", "duration": 0.0005698379999898862}, "setup": {"outcome": "passed", "duration": 0.00037096999997743296}, "lineno": 33, "nodeid": "core/tests/test_channel.py::TestChannel::test_channel_str", "outcome": "passed", "keywords": ["test_channel_str", "filterwarnings", "TestChannel", "usefixtures", "test_channel.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002379419999840593}}, {"call": {"outcome": "passed", "duration": 0.00024044599999228922}, "setup": {"outcome": "passed", "duration": 0.0004545339999992848}, "lineno": 3, "nodeid": "core/tests/test_compatibility.py::TestCompatibility::test_round", "outcome": "passed", "keywords": ["test_round", "filterwarnings", "TestCompatibility", "test_compatibility.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015870499998982268}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012742870000010953, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 36, in test_str\n    event = read_events()[1]\n            ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041014199999267476}, "lineno": 31, "nodeid": "core/tests/test_event.py::TestEvent::test_str", "outcome": "failed", "keywords": ["test_str", "filterwarnings", "TestEvent", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017498500000101558}}, {"call": {"outcome": "passed", "duration": 0.0009124750000069071}, "setup": {"outcome": "passed", "duration": 0.00030875299998456285}, "lineno": 41, "nodeid": "core/tests/test_event.py::TestEvent::test_str_empty_origin", "outcome": "passed", "keywords": ["test_str_empty_origin", "filterwarnings", "TestEvent", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015901499997994506}}, {"call": {"outcome": "passed", "duration": 0.0008010479999995823}, "setup": {"outcome": "passed", "duration": 0.0003023710000036317}, "lineno": 51, "nodeid": "core/tests/test_event.py::TestEvent::test_eq", "outcome": "passed", "keywords": ["test_eq", "filterwarnings", "TestEvent", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001573719999896639}}, {"call": {"outcome": "passed", "duration": 0.0012594190000072558}, "setup": {"outcome": "passed", "duration": 0.00030653000001734654}, "lineno": 71, "nodeid": "core/tests/test_event.py::TestEvent::test_clear_method_resets_objects", "outcome": "passed", "keywords": ["test_clear_method_resets_objects", "filterwarnings", "TestEvent", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015768299999763258}}, {"call": {"outcome": "passed", "duration": 5.711113422000011}, "setup": {"outcome": "passed", "duration": 0.00046883100000627564}, "lineno": 108, "nodeid": "core/tests/test_event.py::TestEvent::test_plot_farfield_without_quiver_with_maps", "outcome": "passed", "keywords": ["test_plot_farfield_without_quiver_with_maps", "skipif", "pytestmark", "filterwarnings", "image", "TestEvent", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002636799999891082}}, {"call": {"outcome": "passed", "duration": 0.0006713470000079269}, "setup": {"outcome": "passed", "duration": 0.00037454499999967084}, "lineno": 120, "nodeid": "core/tests/test_event.py::TestEvent::test_farfield_2xn_input", "outcome": "passed", "keywords": ["test_farfield_2xn_input", "filterwarnings", "TestEvent", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016575800000850904}}, {"call": {"outcome": "passed", "duration": 0.0013266939999994065}, "setup": {"outcome": "passed", "duration": 0.0003222089999894706}, "lineno": 144, "nodeid": "core/tests/test_event.py::TestOrigin::test_creation_info", "outcome": "passed", "keywords": ["test_creation_info", "filterwarnings", "TestOrigin", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018069600000103492}}, {"call": {"outcome": "passed", "duration": 0.0007983330000058686}, "setup": {"outcome": "passed", "duration": 0.00029302400000119633}, "lineno": 164, "nodeid": "core/tests/test_event.py::TestOrigin::test_multiple_origins", "outcome": "passed", "keywords": ["test_multiple_origins", "filterwarnings", "TestOrigin", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017771000000266213}}, {"call": {"outcome": "passed", "duration": 0.012608071000016707}, "setup": {"outcome": "passed", "duration": 0.000287253999999848}, "lineno": 194, "nodeid": "core/tests/test_event.py::TestCatalog::test_read_invalid_filename", "outcome": "passed", "keywords": ["test_read_invalid_filename", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021010000000387663}}, {"call": {"outcome": "passed", "duration": 0.0004787390000160485}, "setup": {"outcome": "passed", "duration": 0.00034250600000973463}, "lineno": 219, "nodeid": "core/tests/test_event.py::TestCatalog::test_creation_info", "outcome": "passed", "keywords": ["test_creation_info", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016047799999796553}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013574320000202533, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 230, in test_read_events_without_parameters\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002930740000124388}, "lineno": 225, "nodeid": "core/tests/test_event.py::TestCatalog::test_read_events_without_parameters", "outcome": "failed", "keywords": ["test_read_events_without_parameters", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018238900000255853}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001137473, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 237, in test_str\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030362399999717127}, "lineno": 232, "nodeid": "core/tests/test_event.py::TestCatalog::test_str", "outcome": "failed", "keywords": ["test_str", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017818099999544756}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007928720000052181, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 247, in test_read_events\n    catalog = read_events(testdata['iris_events.xml'])\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009255399999972269}, "lineno": 241, "nodeid": "core/tests/test_event.py::TestCatalog::test_read_events", "outcome": "failed", "keywords": ["test_read_events", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018092700000238437}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007025849999990896, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 263, in test_read_events_with_wildcard\n    expected = read_events(testdata['iris_events.xml'])\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003537469999912446}, "lineno": 257, "nodeid": "core/tests/test_event.py::TestCatalog::test_read_events_with_wildcard", "outcome": "failed", "keywords": ["test_read_events_with_wildcard", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001769290000197543}}, {"call": {"outcome": "passed", "duration": 0.0009028569999998126}, "setup": {"outcome": "passed", "duration": 0.0003170690000047216}, "lineno": 268, "nodeid": "core/tests/test_event.py::TestCatalog::test_append", "outcome": "passed", "keywords": ["test_append", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001617009999961283}}, {"call": {"outcome": "passed", "duration": 0.0012084450000031666}, "setup": {"outcome": "passed", "duration": 0.00032031500001039603}, "lineno": 291, "nodeid": "core/tests/test_event.py::TestCatalog::test_extend", "outcome": "passed", "keywords": ["test_extend", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016497600000775492}}, {"call": {"outcome": "passed", "duration": 0.0012664129999961915}, "setup": {"outcome": "passed", "duration": 0.0002861309999957484}, "lineno": 319, "nodeid": "core/tests/test_event.py::TestCatalog::test_iadd", "outcome": "passed", "keywords": ["test_iadd", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017560599999910664}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013632619999839335, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 357, in test_count_and_len\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028241499998671316}, "lineno": 347, "nodeid": "core/tests/test_event.py::TestCatalog::test_count_and_len", "outcome": "failed", "keywords": ["test_count_and_len", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017739999998411804}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013178279999976894, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 365, in test_get_item\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029412600000000566}, "lineno": 360, "nodeid": "core/tests/test_event.py::TestCatalog::test_get_item", "outcome": "failed", "keywords": ["test_get_item", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018991300001403033}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011163839999994707, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 379, in test_slicing\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002949180000086926}, "lineno": 374, "nodeid": "core/tests/test_event.py::TestCatalog::test_slicing", "outcome": "failed", "keywords": ["test_slicing", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018220800001245152}}, {"call": {"outcome": "passed", "duration": 0.0016651130000013836}, "setup": {"outcome": "passed", "duration": 0.0003190430000188371}, "lineno": 387, "nodeid": "core/tests/test_event.py::TestCatalog::test_slicing_with_step", "outcome": "passed", "keywords": ["test_slicing_with_step", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001777699999934157}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011223049999955492, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 408, in test_copy\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003097249999939322}, "lineno": 403, "nodeid": "core/tests/test_event.py::TestCatalog::test_copy", "outcome": "failed", "keywords": ["test_copy", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018784900001378446}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011187880000136374, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 430, in test_filter\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029584899999690606}, "lineno": 416, "nodeid": "core/tests/test_event.py::TestCatalog::test_filter", "outcome": "failed", "keywords": ["test_filter", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018332099998019658}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007233440000220526, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 460, in test_catalog_resource_id\n    cat = read_events(testdata['neries_events.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003388789999974051}, "lineno": 455, "nodeid": "core/tests/test_event.py::TestCatalog::test_catalog_resource_id", "outcome": "failed", "keywords": ["test_catalog_resource_id", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001800940000009632}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001119129000016983, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 468, in test_can_pickle\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003007089999869095}, "lineno": 462, "nodeid": "core/tests/test_event.py::TestCatalog::test_can_pickle", "outcome": "failed", "keywords": ["test_can_pickle", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017815100000007078}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002083239999990383, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 486, in test_issue_2173\n    event2 = read_events(bio)[0]\n             ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031382299999904717}, "lineno": 472, "nodeid": "core/tests/test_event.py::TestCatalog::test_issue_2173", "outcome": "failed", "keywords": ["test_issue_2173", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019273800000974006}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008177889999956278, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 494, in test_read_path\n    assert read_events(str(testdata['iris_events.xml'])) == \\\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005254959999945186}, "lineno": 489, "nodeid": "core/tests/test_event.py::TestCatalog::test_read_path", "outcome": "failed", "keywords": ["test_read_path", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020627300000342075}}, {"call": {"outcome": "passed", "duration": 0.0003865289999964716}, "setup": {"outcome": "passed", "duration": 0.00031846100000620936}, "lineno": 561, "nodeid": "core/tests/test_event.py::TestWaveformStreamID::test_initialization", "outcome": "passed", "keywords": ["test_initialization", "filterwarnings", "TestWaveformStreamID", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001718999999980042}}, {"call": {"outcome": "passed", "duration": 0.0003458420000015394}, "setup": {"outcome": "passed", "duration": 0.0002976920000037353}, "lineno": 586, "nodeid": "core/tests/test_event.py::TestWaveformStreamID::test_initialization_with_invalid_seed_string", "outcome": "passed", "keywords": ["test_initialization_with_invalid_seed_string", "filterwarnings", "TestWaveformStreamID", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017846200000803947}}, {"call": {"outcome": "passed", "duration": 0.00028448800000546726}, "setup": {"outcome": "passed", "duration": 0.00028399800001466247}, "lineno": 605, "nodeid": "core/tests/test_event.py::TestWaveformStreamID::test_id_property", "outcome": "passed", "keywords": ["test_id_property", "filterwarnings", "TestWaveformStreamID", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016855299998042028}}, {"call": {"outcome": "passed", "duration": 0.0002882050000039271}, "setup": {"outcome": "passed", "duration": 0.0002882359999887285}, "lineno": 618, "nodeid": "core/tests/test_event.py::TestBase::test_quantity_error_warn_on_non_default_key", "outcome": "passed", "keywords": ["test_quantity_error_warn_on_non_default_key", "filterwarnings", "TestBase", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018634599999245438}}, {"call": {"outcome": "passed", "duration": 0.00034370800000260715}, "setup": {"outcome": "passed", "duration": 0.00027794600001129766}, "lineno": 633, "nodeid": "core/tests/test_event.py::TestBase::test_quantity_error_equality", "outcome": "passed", "keywords": ["test_quantity_error_equality", "filterwarnings", "TestBase", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001678520000041317}}, {"call": {"outcome": "passed", "duration": 0.0013350499999944532}, "setup": {"outcome": "passed", "duration": 0.00029879499999196923}, "lineno": 646, "nodeid": "core/tests/test_event.py::TestBase::test_event_type_objects_warn_on_non_default_key", "outcome": "passed", "keywords": ["test_event_type_objects_warn_on_non_default_key", "filterwarnings", "TestBase", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018235900000718175}}, {"call": {"outcome": "passed", "duration": 0.0013253209999959381}, "setup": {"outcome": "passed", "duration": 0.00028279599999336824}, "lineno": 657, "nodeid": "core/tests/test_event.py::TestBase::test_setting_nans_or_inf_fails", "outcome": "passed", "keywords": ["test_setting_nans_or_inf_fails", "filterwarnings", "TestBase", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016224200001602185}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013462109999977656, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 674, in test_issue3105\n    evs = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030660000001603294}, "lineno": 672, "nodeid": "core/tests/test_event.py::TestBase::test_issue3105", "outcome": "failed", "keywords": ["test_issue3105", "filterwarnings", "TestBase", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025442300000122486}}, {"call": {"outcome": "passed", "duration": 0.0002912209999976767}, "setup": {"outcome": "passed", "duration": 0.0005408739999950285}, "lineno": 42, "nodeid": "core/tests/test_inventory.py::TestInventory::test_initialization", "outcome": "passed", "keywords": ["test_initialization", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016320299999961208}}, {"call": {"outcome": "passed", "duration": 0.003959995999991861}, "setup": {"outcome": "passed", "duration": 0.00029450700000666075}, "lineno": 53, "nodeid": "core/tests/test_inventory.py::TestInventory::test_get_response", "outcome": "passed", "keywords": ["test_get_response", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017231000001061147}}, {"call": {"outcome": "passed", "duration": 0.0007589100000018334}, "setup": {"outcome": "passed", "duration": 0.000308764000010342}, "lineno": 107, "nodeid": "core/tests/test_inventory.py::TestInventory::test_get_coordinates", "outcome": "passed", "keywords": ["test_get_coordinates", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017225999999936903}}, {"call": {"outcome": "passed", "duration": 0.0007364580000057686}, "setup": {"outcome": "passed", "duration": 0.00032514399998717636}, "lineno": 140, "nodeid": "core/tests/test_inventory.py::TestInventory::test_get_orientation", "outcome": "passed", "keywords": ["test_get_orientation", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016200100000673956}}, {"call": {"outcome": "passed", "duration": 0.695878711000006}, "setup": {"outcome": "passed", "duration": 0.00044603899999628993}, "lineno": 173, "nodeid": "core/tests/test_inventory.py::TestInventory::test_response_plot", "outcome": "passed", "keywords": ["test_response_plot", "filterwarnings", "image", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000361311000006026}}, {"call": {"outcome": "passed", "duration": 0.2725398940000048}, "setup": {"outcome": "passed", "duration": 0.00043886500000667183}, "lineno": 183, "nodeid": "core/tests/test_inventory.py::TestInventory::test_response_plot_epoch_times_in_label", "outcome": "passed", "keywords": ["test_response_plot_epoch_times_in_label", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002544419999992442}}, {"call": {"outcome": "passed", "duration": 0.3608095330000083}, "setup": {"outcome": "passed", "duration": 0.000420731000019714}, "lineno": 204, "nodeid": "core/tests/test_inventory.py::TestInventory::test_inventory_merging_metadata_update", "outcome": "passed", "keywords": ["test_inventory_merging_metadata_update", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024935299998674054}}, {"call": {"outcome": "passed", "duration": 0.05911669400001074}, "setup": {"outcome": "passed", "duration": 0.000361091000002034}, "lineno": 255, "nodeid": "core/tests/test_inventory.py::TestInventory::test_len", "outcome": "passed", "keywords": ["test_len", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023140999999782252}}, {"call": {"outcome": "passed", "duration": 0.08252462699999796}, "setup": {"outcome": "passed", "duration": 0.0003676430000041364}, "lineno": 263, "nodeid": "core/tests/test_inventory.py::TestInventory::test_inventory_remove", "outcome": "passed", "keywords": ["test_inventory_remove", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002479200000209403}}, {"call": {"outcome": "passed", "duration": 0.06247815800000467}, "setup": {"outcome": "passed", "duration": 0.00036540799999329465}, "lineno": 352, "nodeid": "core/tests/test_inventory.py::TestInventory::test_issue_2266", "outcome": "passed", "keywords": ["test_issue_2266", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021805500000482425}}, {"call": {"outcome": "passed", "duration": 0.07629945200000066}, "setup": {"outcome": "passed", "duration": 0.00036916499999506414}, "lineno": 373, "nodeid": "core/tests/test_inventory.py::TestInventory::test_inventory_select", "outcome": "passed", "keywords": ["test_inventory_select", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022321399998759262}}, {"call": {"outcome": "passed", "duration": 0.06119254000000751}, "setup": {"outcome": "passed", "duration": 0.00037283199998228156}, "lineno": 467, "nodeid": "core/tests/test_inventory.py::TestInventory::test_inventory_select_with_empty_networks", "outcome": "passed", "keywords": ["test_inventory_select_with_empty_networks", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021872600001415776}}, {"call": {"outcome": "passed", "duration": 0.0003883219999920584}, "setup": {"outcome": "passed", "duration": 0.00039824899999985064}, "lineno": 492, "nodeid": "core/tests/test_inventory.py::TestInventory::test_util_unified_content_string", "outcome": "passed", "keywords": ["test_util_unified_content_string", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017959400000222558}}, {"call": {"outcome": "passed", "duration": 0.0002626180000220302}, "setup": {"outcome": "passed", "duration": 0.0002990559999886955}, "lineno": 538, "nodeid": "core/tests/test_inventory.py::TestInventory::test_util_unified_content_string_with_dots_in_description", "outcome": "passed", "keywords": ["test_util_unified_content_string_with_dots_in_description", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001559689999908187}}, {"call": {"outcome": "passed", "duration": 0.13914320999998608}, "setup": {"outcome": "passed", "duration": 0.0003180809999889789}, "lineno": 558, "nodeid": "core/tests/test_inventory.py::TestInventory::test_read_invalid_filename", "outcome": "passed", "keywords": ["test_read_invalid_filename", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002690999999970245}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011531119999972361, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_inventory.py\", line 599, in test_inventory_can_be_initialized_with_no_arguments\n    inv2 = read_inventory(buf)\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037817199998357864}, "lineno": 584, "nodeid": "core/tests/test_inventory.py::TestInventory::test_inventory_can_be_initialized_with_no_arguments", "outcome": "failed", "keywords": ["test_inventory_can_be_initialized_with_no_arguments", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020851700000434903}}, {"call": {"outcome": "passed", "duration": 0.11662311700001737}, "setup": {"outcome": "passed", "duration": 0.0003509320000034677}, "lineno": 602, "nodeid": "core/tests/test_inventory.py::TestInventory::test_copy", "outcome": "passed", "keywords": ["test_copy", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002496629999768629}}, {"call": {"outcome": "passed", "duration": 0.11917993599999477}, "setup": {"outcome": "passed", "duration": 0.00036818399999560825}, "lineno": 617, "nodeid": "core/tests/test_inventory.py::TestInventory::test_add", "outcome": "passed", "keywords": ["test_add", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022673099999792612}}, {"call": {"outcome": "passed", "duration": 0.0003271879999999783}, "setup": {"outcome": "passed", "duration": 0.00037219199998617114}, "lineno": 647, "nodeid": "core/tests/test_inventory.py::TestInventory::test_extend_metadata", "outcome": "passed", "keywords": ["test_extend_metadata", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017329199999949196}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009042199999953482, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_inventory.py\", line 665, in test_read_inventory_with_wildcard\n    expected = read_inventory(testdata['IU_ANMO_00_BHZ.xml'])\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00096100499999352}, "lineno": 659, "nodeid": "core/tests/test_inventory.py::TestInventory::test_read_inventory_with_wildcard", "outcome": "failed", "keywords": ["test_read_inventory_with_wildcard", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001771789999907014}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008420339999872795, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_inventory.py\", line 676, in test_read_inventory_with_path\n    inv1 = read_inventory(path1)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003723110000066754}, "lineno": 670, "nodeid": "core/tests/test_inventory.py::TestInventory::test_read_inventory_with_path", "outcome": "failed", "keywords": ["test_read_inventory_with_path", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002616369999941526}}, {"call": {"outcome": "passed", "duration": 2.096803699999981}, "setup": {"outcome": "passed", "duration": 0.0005680960000233881}, "lineno": 685, "nodeid": "core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_global", "outcome": "passed", "keywords": ["test_location_plot_global", "filterwarnings", "image", "TestInventoryCartopy", "skipif", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003065500000047905}}, {"call": {"outcome": "passed", "duration": 1.248367891000015}, "setup": {"outcome": "passed", "duration": 0.000544019999978218}, "lineno": 693, "nodeid": "core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_ortho", "outcome": "passed", "keywords": ["test_location_plot_ortho", "filterwarnings", "image", "TestInventoryCartopy", "skipif", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030632899998295215}}, {"call": {"outcome": "passed", "duration": 2.8536478739999893}, "setup": {"outcome": "passed", "duration": 0.0005362460000242208}, "lineno": 703, "nodeid": "core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_local", "outcome": "passed", "keywords": ["test_location_plot_local", "filterwarnings", "image", "TestInventoryCartopy", "skipif", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000310236000018449}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.05956507700000202, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_inventory.py\", line 720, in test_combined_station_event_plot\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005394210000133626}, "lineno": 713, "nodeid": "core/tests/test_inventory.py::TestInventoryCartopy::test_combined_station_event_plot", "outcome": "failed", "keywords": ["test_combined_station_event_plot", "filterwarnings", "image", "TestInventoryCartopy", "skipif", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0004512679999777447}}, {"call": {"outcome": "passed", "duration": 0.000964902000021084}, "setup": {"outcome": "passed", "duration": 0.0005673340000100779}, "lineno": 30, "nodeid": "core/tests/test_network.py::TestNetwork::test_get_response", "outcome": "passed", "keywords": ["test_get_response", "filterwarnings", "TestNetwork", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018399199998953009}}, {"call": {"outcome": "passed", "duration": 0.0007027749999792832}, "setup": {"outcome": "passed", "duration": 0.00034244600001898107}, "lineno": 82, "nodeid": "core/tests/test_network.py::TestNetwork::test_get_coordinates", "outcome": "passed", "keywords": ["test_get_coordinates", "filterwarnings", "TestNetwork", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017058700001371108}}, {"call": {"outcome": "passed", "duration": 0.7036117199999978}, "setup": {"outcome": "passed", "duration": 0.0004448270000239063}, "lineno": 114, "nodeid": "core/tests/test_network.py::TestNetwork::test_response_plot", "outcome": "passed", "keywords": ["test_response_plot", "filterwarnings", "image", "TestNetwork", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0004447259999835751}}, {"call": {"outcome": "passed", "duration": 0.2674054969999986}, "setup": {"outcome": "passed", "duration": 0.0004915430000096421}, "lineno": 124, "nodeid": "core/tests/test_network.py::TestNetwork::test_response_plot_epoch_times_in_label", "outcome": "passed", "keywords": ["test_response_plot_epoch_times_in_label", "filterwarnings", "TestNetwork", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024915199998076787}}, {"call": {"outcome": "passed", "duration": 0.06225177599998233}, "setup": {"outcome": "passed", "duration": 0.00041797700001211524}, "lineno": 145, "nodeid": "core/tests/test_network.py::TestNetwork::test_len", "outcome": "passed", "keywords": ["test_len", "filterwarnings", "TestNetwork", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002698319999865362}}, {"call": {"outcome": "passed", "duration": 0.06420455200000674}, "setup": {"outcome": "passed", "duration": 0.00042342599999756203}, "lineno": 153, "nodeid": "core/tests/test_network.py::TestNetwork::test_network_select", "outcome": "passed", "keywords": ["test_network_select", "filterwarnings", "TestNetwork", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025061499999878833}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013139999999793872, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_network.py\", line 247, in test_writing_network_before_1990\n    inv2 = read_inventory(buf)\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040775699997652737}, "lineno": 239, "nodeid": "core/tests/test_network.py::TestNetwork::test_writing_network_before_1990", "outcome": "failed", "keywords": ["test_writing_network_before_1990", "filterwarnings", "TestNetwork", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020452000001114357}}, {"call": {"outcome": "passed", "duration": 0.06040315299998156}, "setup": {"outcome": "passed", "duration": 0.0003424159999951826}, "lineno": 250, "nodeid": "core/tests/test_network.py::TestNetwork::test_network_select_with_empty_stations", "outcome": "passed", "keywords": ["test_network_select_with_empty_stations", "filterwarnings", "TestNetwork", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023149000000444175}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.006256288000002996, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_network.py\", line 298, in test_empty_network_code\n    inv2 = read_inventory(buf)\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037905400000681766}, "lineno": 280, "nodeid": "core/tests/test_network.py::TestNetwork::test_empty_network_code", "outcome": "failed", "keywords": ["test_empty_network_code", "filterwarnings", "TestNetwork", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027962900000488844}}, {"call": {"outcome": "passed", "duration": 1.321099987999986}, "setup": {"outcome": "passed", "duration": 0.0006722880000040732}, "lineno": 317, "nodeid": "core/tests/test_network.py::TestNetworkCartopy::test_location_plot_global", "outcome": "passed", "keywords": ["test_location_plot_global", "filterwarnings", "image", "TestNetworkCartopy", "skipif", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002930939999998827}}, {"call": {"outcome": "passed", "duration": 1.211606353999997}, "setup": {"outcome": "passed", "duration": 0.0005371170000216807}, "lineno": 325, "nodeid": "core/tests/test_network.py::TestNetworkCartopy::test_location_plot_ortho", "outcome": "passed", "keywords": ["test_location_plot_ortho", "filterwarnings", "image", "TestNetworkCartopy", "skipif", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031690699998421223}}, {"call": {"outcome": "passed", "duration": 0.6071212340000045}, "setup": {"outcome": "passed", "duration": 0.0005626649999896927}, "lineno": 335, "nodeid": "core/tests/test_network.py::TestNetworkCartopy::test_location_plot_local", "outcome": "passed", "keywords": ["test_location_plot_local", "filterwarnings", "image", "TestNetworkCartopy", "skipif", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003932859999906668}}, {"call": {"outcome": "passed", "duration": 0.0025465279999821178}, "setup": {"outcome": "passed", "duration": 0.0005292840000095111}, "lineno": 13, "nodeid": "core/tests/test_preview.py::TestUtil::test_create_preview", "outcome": "passed", "keywords": ["test_create_preview", "filterwarnings", "TestUtil", "test_preview.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017227400002184368}}, {"call": {"outcome": "passed", "duration": 0.0016847880000057103}, "setup": {"outcome": "passed", "duration": 0.00033937800000671814}, "lineno": 52, "nodeid": "core/tests/test_preview.py::TestUtil::test_create_preview_with_masked_arrays", "outcome": "passed", "keywords": ["test_create_preview_with_masked_arrays", "filterwarnings", "TestUtil", "test_preview.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017238300000599338}}, {"call": {"outcome": "passed", "duration": 0.0020508059999997386}, "setup": {"outcome": "passed", "duration": 0.0003221970000026886}, "lineno": 70, "nodeid": "core/tests/test_preview.py::TestUtil::test_merge_previews", "outcome": "passed", "keywords": ["test_merge_previews", "filterwarnings", "TestUtil", "test_preview.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017306600000210892}}, {"call": {"outcome": "passed", "duration": 0.001127744000001485}, "setup": {"outcome": "passed", "duration": 0.0003022010000108821}, "lineno": 128, "nodeid": "core/tests/test_preview.py::TestUtil::test_resample_previews", "outcome": "passed", "keywords": ["test_resample_previews", "filterwarnings", "TestUtil", "test_preview.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018370499998354717}}, {"call": {"outcome": "passed", "duration": 0.0012736399999937476}, "setup": {"outcome": "passed", "duration": 0.00028986799998165225}, "lineno": 164, "nodeid": "core/tests/test_preview.py::TestUtil::test_merge_previews_2", "outcome": "passed", "keywords": ["test_merge_previews_2", "filterwarnings", "TestUtil", "test_preview.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016902800001616924}}, {"call": {"outcome": "passed", "duration": 0.0007660560000033456}, "setup": {"outcome": "passed", "duration": 0.00031251000001475404}, "lineno": 192, "nodeid": "core/tests/test_preview.py::TestUtil::test_create_preview_with_unrounded_sample_rate", "outcome": "passed", "keywords": ["test_create_preview_with_unrounded_sample_rate", "filterwarnings", "TestUtil", "test_preview.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001746380000042791}}, {"call": {"outcome": "passed", "duration": 0.0006572679999976572}, "setup": {"outcome": "passed", "duration": 0.0003315239999892583}, "lineno": 201, "nodeid": "core/tests/test_preview.py::TestUtil::test_create_preview_with_very_small_sample_rate", "outcome": "passed", "keywords": ["test_create_preview_with_very_small_sample_rate", "filterwarnings", "TestUtil", "test_preview.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001735160000180258}}, {"call": {"outcome": "passed", "duration": 0.00229888699999492}, "setup": {"outcome": "passed", "duration": 0.0005439109999940683}, "lineno": 39, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_same_resource_id_different_referred_object", "outcome": "passed", "keywords": ["test_same_resource_id_different_referred_object", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016586199998869233}}, {"call": {"outcome": "passed", "duration": 0.00031691699999214507}, "setup": {"outcome": "passed", "duration": 0.00035327300000176365}, "lineno": 71, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_objects_garbage_collection", "outcome": "passed", "keywords": ["test_objects_garbage_collection", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018175100001371902}}, {"call": {"outcome": "passed", "duration": 0.00041410400001495873}, "setup": {"outcome": "passed", "duration": 0.0002858710000168685}, "lineno": 82, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_adding_a_referred_object_after_creation", "outcome": "passed", "keywords": ["test_adding_a_referred_object_after_creation", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015887000000702756}}, {"call": {"outcome": "passed", "duration": 0.0003328859999953693}, "setup": {"outcome": "passed", "duration": 0.00029886499999065563}, "lineno": 103, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_getting_gc_no_shared_resource_id", "outcome": "passed", "keywords": ["test_getting_gc_no_shared_resource_id", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001809000000037031}}, {"call": {"outcome": "passed", "duration": 0.0014733339999963846}, "setup": {"outcome": "passed", "duration": 0.00028258500000788445}, "lineno": 118, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_getting_gc_with_shared_resource_id", "outcome": "passed", "keywords": ["test_getting_gc_with_shared_resource_id", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016534100001308616}}, {"call": {"outcome": "passed", "duration": 0.000419725000000426}, "setup": {"outcome": "passed", "duration": 0.000286261999974613}, "lineno": 142, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_resource_id_state_cleanup", "outcome": "passed", "keywords": ["test_resource_id_state_cleanup", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016633300000989948}}, {"call": {"outcome": "passed", "duration": 0.0004224289999967823}, "setup": {"outcome": "passed", "duration": 0.0002850690000002487}, "lineno": 162, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_quakeml_regex", "outcome": "passed", "keywords": ["test_quakeml_regex", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000161563999995451}}, {"call": {"outcome": "passed", "duration": 0.00025945200002297497}, "setup": {"outcome": "passed", "duration": 0.00028384699999151053}, "lineno": 200, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_resource_id_valid_quakemluri", "outcome": "passed", "keywords": ["test_resource_id_valid_quakemluri", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001600820000078329}}, {"call": {"outcome": "passed", "duration": 0.00041146899999944253}, "setup": {"outcome": "passed", "duration": 0.0002780060000020512}, "lineno": 208, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_de_referencing_when_object_goes_out_of_scope", "outcome": "passed", "keywords": ["test_de_referencing_when_object_goes_out_of_scope", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016002099999923303}}, {"call": {"outcome": "passed", "duration": 0.00027692399999068584}, "setup": {"outcome": "passed", "duration": 0.00027833599997961755}, "lineno": 239, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_initialize_with_resource_identifier", "outcome": "passed", "keywords": ["test_initialize_with_resource_identifier", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001587790000030509}}, {"call": {"outcome": "passed", "duration": 0.015145066999991741}, "setup": {"outcome": "passed", "duration": 0.00027716400001054353}, "lineno": 249, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_error_message_for_failing_quakeml_id_conversion", "outcome": "passed", "keywords": ["test_error_message_for_failing_quakeml_id_conversion", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019205899999974463}}, {"call": {"outcome": "passed", "duration": 0.0011034799999833922}, "setup": {"outcome": "passed", "duration": 0.0003281380000146328}, "lineno": 267, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_debug_class_state", "outcome": "passed", "keywords": ["test_debug_class_state", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018412500000408727}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008871578999986696, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 308, in test_preferred_origin\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002926630000104069}, "lineno": 303, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_preferred_origin", "outcome": "failed", "keywords": ["test_preferred_origin", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002049229999840918}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008181782999997722, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 317, in test_preferred_magnitude\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003529130000003988}, "lineno": 312, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_preferred_magnitude", "outcome": "failed", "keywords": ["test_preferred_magnitude", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001851880000174333}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.007865557000002354, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 326, in test_preferred_focal_mechanism\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030990499999461463}, "lineno": 321, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_preferred_focal_mechanism", "outcome": "failed", "keywords": ["test_preferred_focal_mechanism", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020293000000037864}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008173026999998001, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 336, in test_arrivals_refer_to_picks_in_same_event\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031437199999118093}, "lineno": 330, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_arrivals_refer_to_picks_in_same_event", "outcome": "failed", "keywords": ["test_arrivals_refer_to_picks_in_same_event", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019906299999661314}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.007816627000011067, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 348, in test_all_referred_objects_in_events\n    for num, cat in enumerate(catalogs or make_diverse_catalog_list()):\n                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003240709999943192}, "lineno": 343, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_all_referred_objects_in_events", "outcome": "failed", "keywords": ["test_all_referred_objects_in_events", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019256100000575316}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00775656900000854, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 363, in test_all_resource_id_attrs_are_attached\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003562789999875804}, "lineno": 357, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_all_resource_id_attrs_are_attached", "outcome": "failed", "keywords": ["test_all_resource_id_attrs_are_attached", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001868110000202705}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00802652000001558, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 379, in test_no_overlapping_objects\n    catalogs = catalogs or make_diverse_catalog_list()\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034501799999020477}, "lineno": 373, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_no_overlapping_objects", "outcome": "failed", "keywords": ["test_no_overlapping_objects", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018508800002337011}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012811539999972865, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 402, in test_event_copying_does_not_raise_duplicate_resource_id_warning\n    ev = read_events()[0]\n         ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003099350000184131}, "lineno": 396, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_event_copying_does_not_raise_duplicate_resource_id_warning", "outcome": "failed", "keywords": ["test_event_copying_does_not_raise_duplicate_resource_id_warning", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017869500001665983}}, {"call": {"outcome": "passed", "duration": 0.0005185949999884087}, "setup": {"outcome": "passed", "duration": 0.000320083000019622}, "lineno": 429, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_set_referred_object_warning", "outcome": "passed", "keywords": ["test_set_referred_object_warning", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016512100000909413}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001098880999990115, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 468, in test_catalog_resource_ids\n    cat1 = read_events()\n           ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028969799998890267}, "lineno": 463, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_catalog_resource_ids", "outcome": "failed", "keywords": ["test_catalog_resource_ids", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019891300001972922}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.05772481600001811, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 505, in test_event_scoped_resource_id_many_threads\n    nested_catalogs = pool.map(make_diverse_catalog_list, range(5))\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py\", line 367, in map\n    return self._map_async(func, iterable, mapstar, chunksize).get()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py\", line 774, in get\n    raise self._value\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py\", line 125, in worker\n    result = (True, func(*args, **kwds))\n                    ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py\", line 48, in mapstar\n    return list(map(*args))\n           ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003022200000089015}, "lineno": 496, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_event_scoped_resource_id_many_threads", "outcome": "failed", "keywords": ["test_event_scoped_resource_id_many_threads", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002365009999891754}}, {"call": {"outcome": "passed", "duration": 0.0003623000000061438}, "setup": {"outcome": "passed", "duration": 0.00034923600000524857}, "lineno": 517, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_resetting_id_warns_on_default_id", "outcome": "passed", "keywords": ["test_resetting_id_warns_on_default_id", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015727600001014252}}, {"call": {"outcome": "passed", "duration": 0.0002572880000002442}, "setup": {"outcome": "passed", "duration": 0.0003049050000072384}, "lineno": 531, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_resetting_id_warns_on_set_id", "outcome": "passed", "keywords": ["test_resetting_id_warns_on_set_id", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015025299998683295}}, {"call": {"outcome": "passed", "duration": 0.00037568399997667257}, "setup": {"outcome": "passed", "duration": 0.0002786270000001423}, "lineno": 545, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_resource_ids_refer_to_newest_object", "outcome": "passed", "keywords": ["test_resource_ids_refer_to_newest_object", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015769699999168552}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <function Pool.__del__ at 0x7f20df280860>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.011363231000018459, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/attribdict.py\", line 140, in __getattr__\n    return self.__getitem__(name, default)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/attribdict.py\", line 96, in __getitem__\n    return self.__dict__[name]\n           ~~~~~~~~~~~~~^^^^^^\nKeyError: '__deepcopy__'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py\", line 268, in __del__\n    _warn(f\"unclosed running multiprocessing pool {self!r}\",\nResourceWarning: unclosed running multiprocessing pool <multiprocessing.pool.ThreadPool state=RUN pool_size=4>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <function Pool.__del__ at 0x7f20df280860>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.00029089000000226406}, "lineno": 560, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_get_pick_from_arrival_on_copied_catalog_doesnt_warn", "outcome": "failed", "keywords": ["test_get_pick_from_arrival_on_copied_catalog_doesnt_warn", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002045620000217241}}, {"call": {"outcome": "passed", "duration": 0.01193218399998841}, "setup": {"outcome": "passed", "duration": 0.00036990400002423485}, "lineno": 571, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_issue_2278", "outcome": "passed", "keywords": ["test_issue_2278", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001778440000066439}}, {"call": {"outcome": "passed", "duration": 0.00040261300000565825}, "setup": {"outcome": "passed", "duration": 0.00033681399997931294}, "lineno": 618, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_get_object_hook", "outcome": "passed", "keywords": ["test_get_object_hook", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016144400001394388}}, {"call": {"outcome": "passed", "duration": 0.0004264060000025438}, "setup": {"outcome": "passed", "duration": 0.00029648000000292996}, "lineno": 652, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_mutative_methods_deprecation", "outcome": "passed", "keywords": ["test_mutative_methods_deprecation", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001598709999939274}}, {"call": {"outcome": "passed", "duration": 0.000515530000001263}, "setup": {"outcome": "passed", "duration": 0.0002908399999910216}, "lineno": 673, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_get_quakeml_id", "outcome": "passed", "keywords": ["test_get_quakeml_id", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020856000000435415}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.006725310000007312, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 66, in test_evalresp_with_output_from_seed\n    inv = read_inventory(xml_filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006195380000235673}, "lineno": 35, "nodeid": "core/tests/test_response.py::TestResponse::test_evalresp_with_output_from_seed", "outcome": "failed", "keywords": ["test_evalresp_with_output_from_seed", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000183184000007941}}, {"call": {"outcome": "passed", "duration": 0.0010093789999814362}, "setup": {"outcome": "passed", "duration": 0.0003260029999978542}, "lineno": 97, "nodeid": "core/tests/test_response.py::TestResponse::test_calculate_normalization_factor", "outcome": "passed", "keywords": ["test_calculate_normalization_factor", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016410899999641515}}, {"call": {"outcome": "passed", "duration": 0.000323919999999589}, "setup": {"outcome": "passed", "duration": 0.00032365900000286274}, "lineno": 153, "nodeid": "core/tests/test_response.py::TestResponse::test_pitick2latex", "outcome": "passed", "keywords": ["test_pitick2latex", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017374699999095355}}, {"call": {"outcome": "passed", "duration": 0.5581667229999994}, "setup": {"outcome": "passed", "duration": 0.000443748999998661}, "lineno": 166, "nodeid": "core/tests/test_response.py::TestResponse::test_response_plot", "outcome": "passed", "keywords": ["test_response_plot", "filterwarnings", "image", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00036389300001360425}}, {"call": {"outcome": "passed", "duration": 0.721988806000013}, "setup": {"outcome": "passed", "duration": 0.0005812189999971906}, "lineno": 175, "nodeid": "core/tests/test_response.py::TestResponse::test_response_plot_degrees", "outcome": "passed", "keywords": ["test_response_plot_degrees", "filterwarnings", "image", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00038454099998830316}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009763879999979963, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 198, in test_segfault_after_error_handling\n    inv = read_inventory(testdata[\"TM.SKLT.__.BHZ_faulty_response.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010052620000067236}, "lineno": 184, "nodeid": "core/tests/test_response.py::TestResponse::test_segfault_after_error_handling", "outcome": "failed", "keywords": ["test_segfault_after_error_handling", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002338959999974577}}, {"call": {"outcome": "passed", "duration": 0.0004918459999885272}, "setup": {"outcome": "passed", "duration": 0.00036691799999744035}, "lineno": 207, "nodeid": "core/tests/test_response.py::TestResponse::test_custom_types_init", "outcome": "passed", "keywords": ["test_custom_types_init", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000181881000003159}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008935269999881257, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 227, in test_response_list_stage\n    inv = read_inventory(testdata[\"IM_IL31__BHZ.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003824860000065655}, "lineno": 222, "nodeid": "core/tests/test_response.py::TestResponse::test_response_list_stage", "outcome": "failed", "keywords": ["test_response_list_stage", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019493500002454311}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008167780000007951, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 267, in test_response_with_no_units_in_stage_1\n    inv = read_inventory(testdata[\"stationxml_no_units_in_stage_1.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035351400001104594}, "lineno": 261, "nodeid": "core/tests/test_response.py::TestResponse::test_response_with_no_units_in_stage_1", "outcome": "failed", "keywords": ["test_response_with_no_units_in_stage_1", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002107939999973496}}, {"call": {"outcome": "passed", "duration": 0.002755699000005052}, "setup": {"outcome": "passed", "duration": 0.0003100650000078531}, "lineno": 300, "nodeid": "core/tests/test_response.py::TestResponse::test_resp_from_paz_setting_zeros_poles_and_sensitivity", "outcome": "passed", "keywords": ["test_resp_from_paz_setting_zeros_poles_and_sensitivity", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002001350000000457}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007951479999803723, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 324, in test_resp_from_paz_loading_vs_evalresp\n    resp_er = read_inventory(filename)[0][0][0].response\n              ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034905600000456616}, "lineno": 319, "nodeid": "core/tests/test_response.py::TestResponse::test_resp_from_paz_loading_vs_evalresp", "outcome": "failed", "keywords": ["test_resp_from_paz_loading_vs_evalresp", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018866400000661088}}, {"call": {"outcome": "passed", "duration": 0.0003971340000248347}, "setup": {"outcome": "passed", "duration": 0.0003305820000036874}, "lineno": 333, "nodeid": "core/tests/test_response.py::TestResponse::test_str_method_of_the_polynomial_response_stage", "outcome": "passed", "keywords": ["test_str_method_of_the_polynomial_response_stage", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019111800000359835}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.06198092899998642, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 417, in test_get_sampling_rates\n    inv = read_inventory(testdata['AU.MEEK.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003411509999864393}, "lineno": 401, "nodeid": "core/tests/test_response.py::TestResponse::test_get_sampling_rates", "outcome": "failed", "keywords": ["test_get_sampling_rates", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002440239999828009}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007908000000043103, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 477, in test_response_calculation_paz_without_decimation\n    inv = read_inventory(testdata['DK.BSD..BHZ.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039128200000959623}, "lineno": 469, "nodeid": "core/tests/test_response.py::TestResponse::test_response_calculation_paz_without_decimation", "outcome": "failed", "keywords": ["test_response_calculation_paz_without_decimation", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019177900000499903}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007872249999820724, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 491, in test_regression_evalresp\n    inv = read_inventory(testdata[\"IM_I53H1_BDF.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003517110000075263}, "lineno": 484, "nodeid": "core/tests/test_response.py::TestResponse::test_regression_evalresp", "outcome": "failed", "keywords": ["test_regression_evalresp", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020599499998752435}}, {"call": {"outcome": "passed", "duration": 0.18343801299999996}, "setup": {"outcome": "passed", "duration": 0.0003088429999991149}, "lineno": 501, "nodeid": "core/tests/test_response.py::TestResponse::test_recalculate_overall_sensitivity", "outcome": "passed", "keywords": ["test_recalculate_overall_sensitivity", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024203099999908773}}, {"call": {"outcome": "passed", "duration": 0.01662533300000746}, "setup": {"outcome": "passed", "duration": 0.0003757540000037807}, "lineno": 544, "nodeid": "core/tests/test_response.py::TestResponse::test_warning_response_list_extrapolation", "outcome": "passed", "keywords": ["test_warning_response_list_extrapolation", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002471599999864793}}, {"call": {"outcome": "passed", "duration": 0.016975602000002254}, "setup": {"outcome": "passed", "duration": 0.0004432069999893429}, "lineno": 568, "nodeid": "core/tests/test_response.py::TestResponse::test_unknown_units_no_integration", "outcome": "passed", "keywords": ["test_unknown_units_no_integration", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022479899999439112}}, {"call": {"stderr": " WARNING (norm_resp): computed and reported sensitivities differ by more than 5 percent. \n\t Execution continuing.\n WARNING (norm_resp): computed and reported sensitivities differ by more than 5 percent. \n\t Execution continuing.\n WARNING (norm_resp): computed and reported sensitivities differ by more than 5 percent. \n\t Execution continuing.\n WARNING (norm_resp): computed and reported sensitivities differ by more than 5 percent. \n\t Execution continuing.\n WARNING (norm_resp): computed and reported sensitivities differ by more than 5 percent. \n\t Execution continuing.\n WARNING (norm_resp): computed and reported sensitivities differ by more than 5 percent. \n\t Execution continuing.\n WARNING (norm_resp): computed and reported sensitivities differ by more than 5 percent. \n\t Execution continuing.\n WARNING (norm_resp): computed and reported sensitivities differ by more than 5 percent. \n\t Execution continuing.\n", "outcome": "passed", "duration": 0.05869054499999038}, "setup": {"outcome": "passed", "duration": 0.0004097960000137846}, "lineno": 596, "nodeid": "core/tests/test_response.py::TestResponse::test_non_SI_unit_input_first_stage", "outcome": "passed", "keywords": ["test_non_SI_unit_input_first_stage", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002479919999984759}}, {"call": {"outcome": "passed", "duration": 0.008775885000005701}, "setup": {"outcome": "passed", "duration": 0.00041533699999263263}, "lineno": 657, "nodeid": "core/tests/test_response.py::TestResponse::test_pazresponsestage_hertz_to_radians", "outcome": "passed", "keywords": ["test_pazresponsestage_hertz_to_radians", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002151920000130758}}, {"call": {"outcome": "passed", "duration": 0.06440141699999913}, "setup": {"outcome": "passed", "duration": 0.00042813999999680163}, "lineno": 681, "nodeid": "core/tests/test_response.py::TestResponse::test_unknown_units_PA_recalculate_sensitivity", "outcome": "passed", "keywords": ["test_unknown_units_PA_recalculate_sensitivity", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000362289999998211}}, {"call": {"outcome": "passed", "duration": 0.5588162960000034}, "setup": {"outcome": "passed", "duration": 0.000714422000015702}, "lineno": 24, "nodeid": "core/tests/test_station.py::TestStation::test_station_response_plot", "outcome": "passed", "keywords": ["test_station_response_plot", "filterwarnings", "image", "TestStation", "usefixtures", "test_station.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00035798199999703684}}, {"call": {"outcome": "passed", "duration": 0.5652098120000062}, "setup": {"outcome": "passed", "duration": 0.0006043410000131644}, "lineno": 32, "nodeid": "core/tests/test_station.py::TestStation::test_response_plot_degrees", "outcome": "passed", "keywords": ["test_response_plot_degrees", "filterwarnings", "image", "TestStation", "usefixtures", "test_station.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003683009999804199}}, {"call": {"outcome": "passed", "duration": 0.2414756050000051}, "setup": {"outcome": "passed", "duration": 0.0004507710000041243}, "lineno": 41, "nodeid": "core/tests/test_station.py::TestStation::test_len", "outcome": "passed", "keywords": ["test_len", "filterwarnings", "TestStation", "usefixtures", "test_station.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023420499999815547}}, {"call": {"outcome": "passed", "duration": 0.12835934599999632}, "setup": {"outcome": "passed", "duration": 0.00042044099998861384}, "lineno": 50, "nodeid": "core/tests/test_station.py::TestStation::test_station_select", "outcome": "passed", "keywords": ["test_station_select", "filterwarnings", "TestStation", "usefixtures", "test_station.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002315399999872625}}, {"call": {"outcome": "passed", "duration": 0.0034908540000060384}, "setup": {"outcome": "passed", "duration": 0.00039020500000219727}, "lineno": 157, "nodeid": "core/tests/test_station.py::TestStation::test_warn_identifier_invalid_uri_syntax", "outcome": "passed", "keywords": ["test_warn_identifier_invalid_uri_syntax", "filterwarnings", "TestStation", "usefixtures", "test_station.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002726159999895117}}, {"call": {"outcome": "passed", "duration": 0.00034480100001132996}, "setup": {"outcome": "passed", "duration": 0.00044717099999047605}, "lineno": 19, "nodeid": "core/tests/test_stats.py::TestStats::test_init", "outcome": "passed", "keywords": ["test_init", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016871399998308334}}, {"call": {"outcome": "passed", "duration": 0.0004908610000029512}, "setup": {"outcome": "passed", "duration": 0.0002814819999912288}, "lineno": 39, "nodeid": "core/tests/test_stats.py::TestStats::test_deepcopy", "outcome": "passed", "keywords": ["test_deepcopy", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016753099998823018}}, {"call": {"outcome": "passed", "duration": 0.00034320800000386953}, "setup": {"outcome": "passed", "duration": 0.0002777959999775703}, "lineno": 65, "nodeid": "core/tests/test_stats.py::TestStats::test_update", "outcome": "passed", "keywords": ["test_update", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016371399999570713}}, {"call": {"outcome": "passed", "duration": 0.00028276500000856686}, "setup": {"outcome": "passed", "duration": 0.00030727099999694474}, "lineno": 78, "nodeid": "core/tests/test_stats.py::TestStats::test_simple_stats", "outcome": "passed", "keywords": ["test_simple_stats", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016675000000532236}}, {"call": {"outcome": "passed", "duration": 0.0007810509999899296}, "setup": {"outcome": "passed", "duration": 0.00027502099999310303}, "lineno": 96, "nodeid": "core/tests/test_stats.py::TestStats::test_nested_stats", "outcome": "passed", "keywords": ["test_nested_stats", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016548799999327457}}, {"call": {"outcome": "passed", "duration": 0.00029570899999953326}, "setup": {"outcome": "passed", "duration": 0.00027763599999275357}, "lineno": 127, "nodeid": "core/tests/test_stats.py::TestStats::test_bugfix_set_stats", "outcome": "passed", "keywords": ["test_bugfix_set_stats", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001820580000071459}}, {"call": {"outcome": "passed", "duration": 0.0003270480000026055}, "setup": {"outcome": "passed", "duration": 0.0002694209999845043}, "lineno": 141, "nodeid": "core/tests/test_stats.py::TestStats::test_bugfix_set_stats_2", "outcome": "passed", "keywords": ["test_bugfix_set_stats_2", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016318400000159272}}, {"call": {"outcome": "passed", "duration": 0.0008314239999833717}, "setup": {"outcome": "passed", "duration": 0.000292743999978029}, "lineno": 158, "nodeid": "core/tests/test_stats.py::TestStats::test_bugfix_set_stats_3", "outcome": "passed", "keywords": ["test_bugfix_set_stats_3", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017020599997863428}}, {"call": {"outcome": "passed", "duration": 0.000872401000009404}, "setup": {"outcome": "passed", "duration": 0.00030446599998867896}, "lineno": 178, "nodeid": "core/tests/test_stats.py::TestStats::test_pickle_stats", "outcome": "passed", "keywords": ["test_pickle_stats", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017364299998234856}}, {"call": {"outcome": "passed", "duration": 0.0003075010000088696}, "setup": {"outcome": "passed", "duration": 0.0003019399999857342}, "lineno": 203, "nodeid": "core/tests/test_stats.py::TestStats::test_set_calib", "outcome": "passed", "keywords": ["test_set_calib", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001635639999904015}}, {"call": {"outcome": "passed", "duration": 0.00045156799998835595}, "setup": {"outcome": "passed", "duration": 0.000277925999995432}, "lineno": 223, "nodeid": "core/tests/test_stats.py::TestStats::test_compare_with_dict", "outcome": "passed", "keywords": ["test_compare_with_dict", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001619810000192956}}, {"call": {"outcome": "passed", "duration": 0.00023806199999398814}, "setup": {"outcome": "passed", "duration": 0.0003056770000000597}, "lineno": 236, "nodeid": "core/tests/test_stats.py::TestStats::test_delta_zero", "outcome": "passed", "keywords": ["test_delta_zero", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001633539999943423}}, {"call": {"outcome": "passed", "duration": 0.0004007649999948626}, "setup": {"outcome": "passed", "duration": 0.0002759220000143614}, "lineno": 243, "nodeid": "core/tests/test_stats.py::TestStats::test_non_str_in_nscl_raise_warning", "outcome": "passed", "keywords": ["test_non_str_in_nscl_raise_warning", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016515699999786193}}, {"call": {"outcome": "passed", "duration": 0.00036959700000238627}, "setup": {"outcome": "passed", "duration": 0.00027390899998636087}, "lineno": 262, "nodeid": "core/tests/test_stats.py::TestStats::test_nscl_cannot_be_none", "outcome": "passed", "keywords": ["test_nscl_cannot_be_none", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001620810000133588}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002423851999992621, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stats.py\", line 280, in test_casted_stats_nscl_writes_to_mseed\n    st = Stream(traces=read()[0])\n                       ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002951879999955054}, "lineno": 273, "nodeid": "core/tests/test_stats.py::TestStats::test_casted_stats_nscl_writes_to_mseed", "outcome": "failed", "keywords": ["test_casted_stats_nscl_writes_to_mseed", "filterwarnings", "pytestmark", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001931390000038391}}, {"call": {"outcome": "passed", "duration": 0.0003394409999941672}, "setup": {"outcome": "passed", "duration": 0.0004125160000114647}, "lineno": 301, "nodeid": "core/tests/test_stats.py::TestStats::test_different_string_types", "outcome": "passed", "keywords": ["test_different_string_types", "filterwarnings", "pytestmark", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001666189999980361}}, {"call": {"outcome": "passed", "duration": 0.0003483670000150596}, "setup": {"outcome": "passed", "duration": 0.0003001469999901474}, "lineno": 317, "nodeid": "core/tests/test_stats.py::TestStats::test_component", "outcome": "passed", "keywords": ["test_component", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016696100001922787}}, {"call": {"outcome": "passed", "duration": 0.00033266700000922356}, "setup": {"outcome": "passed", "duration": 0.00044348400001581467}, "lineno": 81, "nodeid": "core/tests/test_stream.py::TestStream::test_init", "outcome": "passed", "keywords": ["test_init", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015541900000926034}}, {"call": {"outcome": "passed", "duration": 0.0008118880000154149}, "setup": {"outcome": "passed", "duration": 0.0015658989999849382}, "lineno": 95, "nodeid": "core/tests/test_stream.py::TestStream::test_setitem", "outcome": "passed", "keywords": ["test_setitem", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002005620000034014}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002210136000002194, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 114, in test_getitem\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028656300000307056}, "lineno": 109, "nodeid": "core/tests/test_stream.py::TestStream::test_getitem", "outcome": "failed", "keywords": ["test_getitem", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017930399999954716}}, {"call": {"outcome": "passed", "duration": 0.0012118610000015906}, "setup": {"outcome": "passed", "duration": 0.001971131000004789}, "lineno": 123, "nodeid": "core/tests/test_stream.py::TestStream::test_add", "outcome": "passed", "keywords": ["test_add", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001913760000036291}}, {"call": {"outcome": "passed", "duration": 0.0005154780000111714}, "setup": {"outcome": "passed", "duration": 0.0019034560000079637}, "lineno": 156, "nodeid": "core/tests/test_stream.py::TestStream::test_iadd", "outcome": "passed", "keywords": ["test_iadd", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020127400000546913}}, {"call": {"outcome": "passed", "duration": 0.0007209400000078858}, "setup": {"outcome": "passed", "duration": 0.0002832760000046619}, "lineno": 178, "nodeid": "core/tests/test_stream.py::TestStream::test_mul", "outcome": "passed", "keywords": ["test_mul", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017811099999676117}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0027697349999868948, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 197, in test_add_trace_to_stream\n    st0 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00027724500000658736}, "lineno": 192, "nodeid": "core/tests/test_stream.py::TestStream::test_add_trace_to_stream", "outcome": "error", "keywords": ["test_add_trace_to_stream", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00022913600000151746, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 86, in _convert\n    def _convert(node):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "passed", "duration": 0.0006662780000112889}, "setup": {"outcome": "passed", "duration": 0.0015889510000022256}, "lineno": 206, "nodeid": "core/tests/test_stream.py::TestStream::test_append", "outcome": "passed", "keywords": ["test_append", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000187618000012435}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002291878000022507, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 245, in test_count_and_len\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002914609999891127}, "lineno": 235, "nodeid": "core/tests/test_stream.py::TestStream::test_count_and_len", "outcome": "failed", "keywords": ["test_count_and_len", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018791900001247086}}, {"call": {"outcome": "passed", "duration": 0.0005022429999996803}, "setup": {"outcome": "passed", "duration": 0.0016987150000034035}, "lineno": 248, "nodeid": "core/tests/test_stream.py::TestStream::test_extend", "outcome": "passed", "keywords": ["test_extend", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017739900002311515}}, {"call": {"outcome": "passed", "duration": 0.0015776099999982307}, "setup": {"outcome": "passed", "duration": 0.001461365000011483}, "lineno": 273, "nodeid": "core/tests/test_stream.py::TestStream::test_insert", "outcome": "passed", "keywords": ["test_insert", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017926299997839124}}, {"call": {"outcome": "passed", "duration": 0.0007064520000028551}, "setup": {"outcome": "passed", "duration": 0.0014528289999873323}, "lineno": 321, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps", "outcome": "passed", "keywords": ["test_get_gaps", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017898200002264275}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0014733770000248114, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/coverage/collector.py\", line 239, in lock_data\n    def lock_data(self) -> None:\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.00028624200001559075}, "lineno": 356, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps_multiplexed_streams", "outcome": "failed", "keywords": ["test_get_gaps_multiplexed_streams", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017994500001350389}}, {"call": {"outcome": "passed", "duration": 0.001412203000001}, "setup": {"outcome": "passed", "duration": 0.0002996160000066084}, "lineno": 382, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps_masked", "outcome": "passed", "keywords": ["test_get_gaps_masked", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016728099998886137}}, {"call": {"outcome": "passed", "duration": 0.0013595350000059625}, "setup": {"outcome": "passed", "duration": 0.0014859500000170556}, "lineno": 409, "nodeid": "core/tests/test_stream.py::TestStream::test_pop", "outcome": "passed", "keywords": ["test_pop", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020250599999371843}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002290815000009161, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 443, in test_slicing\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029064000000289525}, "lineno": 438, "nodeid": "core/tests/test_stream.py::TestStream::test_slicing", "outcome": "failed", "keywords": ["test_slicing", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000184842999999546}}, {"call": {"outcome": "passed", "duration": 0.0004176859999915905}, "setup": {"outcome": "passed", "duration": 0.00030322300000307223}, "lineno": 453, "nodeid": "core/tests/test_stream.py::TestStream::test_slicing_with_steps", "outcome": "passed", "keywords": ["test_slicing_with_steps", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016325300001085452}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002129034999995838, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 474, in test_slice\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029845399998862376}, "lineno": 469, "nodeid": "core/tests/test_stream.py::TestStream::test_slice", "outcome": "error", "keywords": ["test_slice", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00022529800000370415, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/traceback.py\", line 369, in _get_code_position\n    return next(itertools.islice(positions_gen, instruction_index // 2, None))\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002165743999995584, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 487, in test_slice_nearest_sample\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003394009999908576}, "lineno": 480, "nodeid": "core/tests/test_stream.py::TestStream::test_slice_nearest_sample", "outcome": "failed", "keywords": ["test_slice_nearest_sample", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000202746999974579}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002523927999988018, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 522, in test_cutout\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029907600000456114}, "lineno": 512, "nodeid": "core/tests/test_stream.py::TestStream::test_cutout", "outcome": "failed", "keywords": ["test_cutout", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021170299999084818}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.000965944000000718, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 967, in __init__\n    def __init__(\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 153, in pytest_runtest_setup\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "lineno": 557, "nodeid": "core/tests/test_stream.py::TestStream::test_pop2", "outcome": "error", "keywords": ["test_pop2", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019177599997988182}}, {"call": {"outcome": "passed", "duration": 0.001051603000007617}, "setup": {"outcome": "passed", "duration": 0.0015617410000174914}, "lineno": 572, "nodeid": "core/tests/test_stream.py::TestStream::test_remove", "outcome": "passed", "keywords": ["test_remove", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001949319999994259}}, {"call": {"outcome": "passed", "duration": 0.0014120429999877615}, "setup": {"outcome": "passed", "duration": 0.0014809409999827494}, "lineno": 587, "nodeid": "core/tests/test_stream.py::TestStream::test_reverse", "outcome": "passed", "keywords": ["test_reverse", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021161300000471783}}, {"call": {"outcome": "passed", "duration": 0.00970037899998033}, "setup": {"outcome": "passed", "duration": 0.00031036599997946723}, "lineno": 604, "nodeid": "core/tests/test_stream.py::TestStream::test_select", "outcome": "passed", "keywords": ["test_select", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022878499999023916}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002467583999987255, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 712, in test_select_on_single_letter_channels\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003846939999903043}, "lineno": 710, "nodeid": "core/tests/test_stream.py::TestStream::test_select_on_single_letter_channels", "outcome": "failed", "keywords": ["test_select_on_single_letter_channels", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020237600000427847}}, {"call": {"outcome": "passed", "duration": 0.0018965630000025158}, "setup": {"outcome": "passed", "duration": 0.00033914000002255307}, "lineno": 726, "nodeid": "core/tests/test_stream.py::TestStream::test_select_from_inventory", "outcome": "passed", "keywords": ["test_select_from_inventory", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017626700000050732}}, {"call": {"outcome": "passed", "duration": 0.0013584330000071532}, "setup": {"outcome": "passed", "duration": 0.0002947079999842117}, "lineno": 780, "nodeid": "core/tests/test_stream.py::TestStream::test_sort", "outcome": "passed", "keywords": ["test_sort", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017068700000777426}}, {"call": {"outcome": "passed", "duration": 0.0012022929999773169}, "setup": {"outcome": "passed", "duration": 0.0002805310000155714}, "lineno": 844, "nodeid": "core/tests/test_stream.py::TestStream::test_sorting_twice", "outcome": "passed", "keywords": ["test_sorting_twice", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001712979999979325}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.004029444999986254, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/inspect.py\", line 2796, in name\n    @property\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0003040850000104456}, "lineno": 881, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_with_different_calibration_factors", "outcome": "failed", "keywords": ["test_merge_with_different_calibration_factors", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002086480000116353}}, {"call": {"outcome": "passed", "duration": 0.0038524260000087907}, "setup": {"outcome": "passed", "duration": 0.0003081030000089413}, "lineno": 912, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_with_different_sampling_rates", "outcome": "passed", "keywords": ["test_merge_with_different_sampling_rates", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018409199998359327}}, {"call": {"outcome": "passed", "duration": 0.0035749609999982113}, "setup": {"outcome": "passed", "duration": 0.00029279299999984687}, "lineno": 943, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_with_different_data_types", "outcome": "passed", "keywords": ["test_merge_with_different_data_types", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020997000001443666}}, {"call": {"outcome": "passed", "duration": 0.0027246720000277946}, "setup": {"outcome": "passed", "duration": 0.001558013999982677}, "lineno": 968, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_gaps", "outcome": "passed", "keywords": ["test_merge_gaps", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002065439999796581}}, {"call": {"outcome": "passed", "duration": 0.004533551999998053}, "setup": {"outcome": "passed", "duration": 0.00032003500001565044}, "lineno": 996, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_gaps_2", "outcome": "passed", "keywords": ["test_merge_gaps_2", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002204289999951925}}, {"call": {"outcome": "passed", "duration": 0.006902000999986058}, "setup": {"outcome": "passed", "duration": 0.0015746249999892825}, "lineno": 1052, "nodeid": "core/tests/test_stream.py::TestStream::test_split", "outcome": "passed", "keywords": ["test_split", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022417700000687546}}, {"call": {"outcome": "passed", "duration": 0.006211148000005551}, "setup": {"outcome": "passed", "duration": 0.00032405200002472156}, "lineno": 1089, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_overlaps_default_method", "outcome": "passed", "keywords": ["test_merge_overlaps_default_method", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001790320000054635}}, {"call": {"outcome": "passed", "duration": 0.00041629400001852446}, "setup": {"outcome": "passed", "duration": 0.0003555109999808792}, "lineno": 1145, "nodeid": "core/tests/test_stream.py::TestStream::test_tab_completion_trace", "outcome": "passed", "keywords": ["test_tab_completion_trace", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016108900001654547}}, {"call": {"outcome": "passed", "duration": 0.0017510630000003857}, "setup": {"outcome": "passed", "duration": 0.000288906999998062}, "lineno": 1158, "nodeid": "core/tests/test_stream.py::TestStream::test_bugfix_merge_drop_trace_if_already_contained", "outcome": "passed", "keywords": ["test_bugfix_merge_drop_trace_if_already_contained", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001647569999931875}}, {"call": {"outcome": "passed", "duration": 0.013254950999993298}, "setup": {"outcome": "passed", "duration": 0.00029288400000382353}, "lineno": 1169, "nodeid": "core/tests/test_stream.py::TestStream::test_bugfix_merge_multiple_traces", "outcome": "passed", "keywords": ["test_bugfix_merge_multiple_traces", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020803600000363076}}, {"call": {"outcome": "passed", "duration": 0.019497738000012532}, "setup": {"outcome": "passed", "duration": 0.00035246500002017456}, "lineno": 1184, "nodeid": "core/tests/test_stream.py::TestStream::test_bugfix_merge_multiple_traces_2", "outcome": "passed", "keywords": ["test_bugfix_merge_multiple_traces_2", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022815399998421526}}, {"call": {"outcome": "passed", "duration": 0.0031460939999874427}, "setup": {"outcome": "passed", "duration": 0.00037747099997886835}, "lineno": 1200, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_with_small_sampling_rate", "outcome": "passed", "keywords": ["test_merge_with_small_sampling_rate", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019610399999692163}}, {"call": {"outcome": "passed", "duration": 0.010209373999998661}, "setup": {"outcome": "passed", "duration": 0.00032000499999185195}, "lineno": 1231, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_overlaps_method_1", "outcome": "passed", "keywords": ["test_merge_overlaps_method_1", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021355700002345657}}, {"call": {"outcome": "passed", "duration": 0.0013201219999814384}, "setup": {"outcome": "passed", "duration": 0.0003334299999835366}, "lineno": 1303, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_removing_empty_traces", "outcome": "passed", "keywords": ["test_trim_removing_empty_traces", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016383399997721426}}, {"call": {"outcome": "passed", "duration": 0.001649003000011362}, "setup": {"outcome": "passed", "duration": 0.00028381700002455545}, "lineno": 1325, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_with_small_sampling_rate", "outcome": "passed", "keywords": ["test_trim_with_small_sampling_rate", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001819180000097731}}, {"call": {"outcome": "passed", "duration": 0.0004521500000009837}, "setup": {"outcome": "passed", "duration": 0.00028297600002247236}, "lineno": 1352, "nodeid": "core/tests/test_stream.py::TestStream::test_writing_masked_array", "outcome": "passed", "keywords": ["test_writing_masked_array", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002161010000065744}}, {"call": {"outcome": "passed", "duration": 0.002174969999998666}, "setup": {"outcome": "passed", "duration": 0.00028516000000422537}, "lineno": 1367, "nodeid": "core/tests/test_stream.py::TestStream::test_pickle", "outcome": "passed", "keywords": ["test_pickle", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019051399999625573}}, {"call": {"outcome": "passed", "duration": 0.001397126000000526}, "setup": {"outcome": "passed", "duration": 0.0002910109999731958}, "lineno": 1390, "nodeid": "core/tests/test_stream.py::TestStream::test_cpickle", "outcome": "passed", "keywords": ["test_cpickle", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016239200002132748}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022420349999947575, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1419, in test_is_pickle\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003050469999834604}, "lineno": 1413, "nodeid": "core/tests/test_stream.py::TestStream::test_is_pickle", "outcome": "failed", "keywords": ["test_is_pickle", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017708900000457106}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025030599999809056, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1434, in test_read_write_pickle\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031796100000747174}, "lineno": 1429, "nodeid": "core/tests/test_stream.py::TestStream::test_read_write_pickle", "outcome": "error", "keywords": ["test_read_write_pickle", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00020987000002037348, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 101, in _convert\n    return dict(zip(map(_convert, node.keys),\n                    ^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020758959999795934, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1474, in test_read_pickle\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033540300000822754}, "lineno": 1458, "nodeid": "core/tests/test_stream.py::TestStream::test_read_pickle", "outcome": "failed", "keywords": ["test_read_pickle", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017806099998551872}}, {"call": {"outcome": "passed", "duration": 0.0017034239999986767}, "setup": {"outcome": "passed", "duration": 0.0002950279999822669}, "lineno": 1485, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps_2", "outcome": "passed", "keywords": ["test_get_gaps_2", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015988699999525124}}, {"call": {"outcome": "passed", "duration": 0.0007611039999915192}, "setup": {"outcome": "passed", "duration": 0.0002865120000024035}, "lineno": 1519, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps_whole_overlap", "outcome": "passed", "keywords": ["test_get_gaps_whole_overlap", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015691100000481129}}, {"call": {"outcome": "passed", "duration": 0.001831070999998019}, "setup": {"outcome": "passed", "duration": 0.00027871700001469435}, "lineno": 1538, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps_overlap", "outcome": "passed", "keywords": ["test_get_gaps_overlap", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016249099999754435}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.011669838000017307, "longrepr": "Traceback (most recent call last):\n  File \"<frozen abc>\", line 117, in __instancecheck__\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0002838670000073762}, "lineno": 1563, "nodeid": "core/tests/test_stream.py::TestStream::test_comparisons", "outcome": "failed", "keywords": ["test_comparisons", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020327800001496144}}, {"call": {"outcome": "passed", "duration": 0.0015594470000053207}, "setup": {"outcome": "passed", "duration": 0.0003182009999989077}, "lineno": 1651, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_nearest_sample", "outcome": "passed", "keywords": ["test_trim_nearest_sample", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017487400000959497}}, {"call": {"outcome": "passed", "duration": 0.001995867999994516}, "setup": {"outcome": "passed", "duration": 0.0002919320000103198}, "lineno": 1677, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_consistent_start_end_time_nearest_sample", "outcome": "passed", "keywords": ["test_trim_consistent_start_end_time_nearest_sample", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017042700000047262}}, {"call": {"outcome": "passed", "duration": 0.002736022999982879}, "setup": {"outcome": "passed", "duration": 0.00027910800000086056}, "lineno": 1698, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_consistent_start_end_time_nearest_sample_padded", "outcome": "passed", "keywords": ["test_trim_consistent_start_end_time_nearest_sample_padded", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001727110000047105}}, {"call": {"outcome": "passed", "duration": 0.0018277560000115045}, "setup": {"outcome": "passed", "duration": 0.00028475900001012633}, "lineno": 1719, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_consistent_start_end_time", "outcome": "passed", "keywords": ["test_trim_consistent_start_end_time", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001695750000010321}}, {"call": {"outcome": "passed", "duration": 0.0024640469999894776}, "setup": {"outcome": "passed", "duration": 0.0002991660000191132}, "lineno": 1740, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_consistent_start_and_time_pad", "outcome": "passed", "keywords": ["test_trim_consistent_start_and_time_pad", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017307199999549994}}, {"call": {"outcome": "passed", "duration": 0.004293705999998565}, "setup": {"outcome": "passed", "duration": 0.00028157299999520546}, "lineno": 1761, "nodeid": "core/tests/test_stream.py::TestStream::test_str", "outcome": "passed", "keywords": ["test_str", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017668799998205031}}, {"call": {"outcome": "passed", "duration": 0.01721943599997644}, "setup": {"outcome": "passed", "duration": 0.001521355999983598}, "lineno": 1783, "nodeid": "core/tests/test_stream.py::TestStream::test_cleanup", "outcome": "passed", "keywords": ["test_cleanup", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023194100000978324}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023362100000099417, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1875, in test_integrate_and_differentiate\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003498399999841695}, "lineno": 1870, "nodeid": "core/tests/test_stream.py::TestStream::test_integrate_and_differentiate", "outcome": "failed", "keywords": ["test_integrate_and_differentiate", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020786599998245947}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021756020000225362, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1895, in test_read\n    tr = read(dtype=np.int64)[0]\n         ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000586208999976634}, "lineno": 1888, "nodeid": "core/tests/test_stream.py::TestStream::test_read", "outcome": "error", "keywords": ["test_read", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0002495829999986654, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/_code/code.py\", line 196, in __init__\n    def __init__(\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008643259999985275, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1972, in test_read_path\n    st = read(data_path)\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005131039999923814}, "lineno": 1965, "nodeid": "core/tests/test_stream.py::TestStream::test_read_path", "outcome": "failed", "keywords": ["test_read_path", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019326900002170078}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00220211100000256, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1979, in test_copy\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003252239999937956}, "lineno": 1974, "nodeid": "core/tests/test_stream.py::TestStream::test_copy", "outcome": "failed", "keywords": ["test_copy", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019128499999965243}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024062389999812694, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1994, in test_merge_with_empty_trace\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003235009999968952}, "lineno": 1987, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_with_empty_trace", "outcome": "error", "keywords": ["test_merge_with_empty_trace", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0002186660000234042, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/enum.py\", line 1128, in __new__\n    def __new__(cls, value):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021283040000241726, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2007, in test_rotate\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030714100000750477}, "lineno": 2002, "nodeid": "core/tests/test_stream.py::TestStream::test_rotate", "outcome": "failed", "keywords": ["test_rotate", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018804999999133543}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.24634623499997588, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/copy.py\", line 252, in <genexpr>\n    |     args = (deepcopy(arg, memo) for arg in args)\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/copy.py\", line 252, in <genexpr>\n    |     args = (deepcopy(arg, memo) for arg in args)\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}, "setup": {"outcome": "passed", "duration": 0.001534720999984529}, "lineno": 2091, "nodeid": "core/tests/test_stream.py::TestStream::test_plot", "outcome": "failed", "keywords": ["test_plot", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002653330000157439}}, {"call": {"outcome": "passed", "duration": 0.3993649769999763}, "setup": {"outcome": "passed", "duration": 0.002085995000015828}, "lineno": 2097, "nodeid": "core/tests/test_stream.py::TestStream::test_spectrogram", "outcome": "passed", "keywords": ["test_spectrogram", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026299799998241724}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024895450000030905, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2111, in test_deepcopy\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040806799998449605}, "lineno": 2103, "nodeid": "core/tests/test_stream.py::TestStream::test_deepcopy", "outcome": "failed", "keywords": ["test_deepcopy", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002086480000116353}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002221606999995629, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2128, in test_write\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003315960000236373}, "lineno": 2125, "nodeid": "core/tests/test_stream.py::TestStream::test_write", "outcome": "failed", "keywords": ["test_write", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001922969999839097}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.031754215000006525, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/collections/__init__.py\", line 449, in _make\n    result = tuple_new(cls, iterable)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.00030464599998936137}, "lineno": 2131, "nodeid": "core/tests/test_stream.py::TestStream::test_detrend", "outcome": "failed", "keywords": ["test_detrend", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002708539999787263}}, {"call": {"outcome": "passed", "duration": 0.013821715000005952}, "setup": {"outcome": "passed", "duration": 0.00042163300000197523}, "lineno": 2169, "nodeid": "core/tests/test_stream.py::TestStream::test_taper", "outcome": "passed", "keywords": ["test_taper", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024284100001636943}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025288780000209954, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2190, in test_issue_540\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038699800001040785}, "lineno": 2183, "nodeid": "core/tests/test_stream.py::TestStream::test_issue_540", "outcome": "failed", "keywords": ["test_issue_540", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021477900000377304}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022572930000137603, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2222, in test_method_chaining\n    st1 = read()[0:1]\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003554999999835218}, "lineno": 2216, "nodeid": "core/tests/test_stream.py::TestStream::test_method_chaining", "outcome": "failed", "keywords": ["test_method_chaining", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002211310000177491}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0027257730000087577, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2303, in test_simulate_seedresp_parser\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032035499998528394}, "lineno": 2295, "nodeid": "core/tests/test_stream.py::TestStream::test_simulate_seedresp_parser", "outcome": "error", "keywords": ["test_simulate_seedresp_parser", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00024967400000264206, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 86, in _convert\n    |     def _convert(node):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 86, in _convert\n    |     def _convert(node):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"outcome": "passed", "duration": 0.0010070700000142097}, "setup": {"outcome": "passed", "duration": 0.0017232510000155798}, "lineno": 2337, "nodeid": "core/tests/test_stream.py::TestStream::test_select_empty_strings", "outcome": "passed", "keywords": ["test_select_empty_strings", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020218599999566322}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022326769999949647, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2361, in test_remove_response\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003241420000108519}, "lineno": 2355, "nodeid": "core/tests/test_stream.py::TestStream::test_remove_response", "outcome": "failed", "keywords": ["test_remove_response", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001988389999780793}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004785730000008925, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2376, in test_attach_response_deprecated\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033744599997476143}, "lineno": 2374, "nodeid": "core/tests/test_stream.py::TestStream::test_attach_response_deprecated", "outcome": "error", "keywords": ["test_attach_response_deprecated", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.000307641999995667, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1930, in gzopen\n    t = cls.taropen(name, mode, fileobj, **kwargs)\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1907, in taropen\n    return cls(name, mode, fileobj, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1765, in __init__\n    self.firstmember = self.next()\n                       ^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 2768, in next\n    raise e\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 2741, in next\n    tarinfo = self.tarinfo.fromtarfile(self)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1314, in fromtarfile\n    buf = tarfile.fileobj.read(BLOCKSIZE)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 338, in read\n    return self._buffer.read(size)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/_compression.py\", line 68, in readinto\n    data = self.read(len(byte_view))\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 544, in read\n    if not self._read_gzip_header():\n           ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 513, in _read_gzip_header\n    last_mtime = _read_gzip_header(self._fp)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 473, in _read_gzip_header\n    raise BadGzipFile('Not a gzipped file (%r)' % magic)\ngzip.BadGzipFile: Not a gzipped file (b'<?')\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1855, in open\n    return func(name, \"r\", fileobj, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1934, in gzopen\n    raise ReadError(\"not a gzip file\") from e\ntarfile.ReadError: not a gzip file\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1857, in open\n    error_msgs.append(f'- method {comptype}: {e!r}')\n                                             ^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002572098000001688, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2387, in test_remove_sensitivity\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004360389999931158}, "lineno": 2381, "nodeid": "core/tests/test_stream.py::TestStream::test_remove_sensitivity", "outcome": "failed", "keywords": ["test_remove_sensitivity", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023809199998936492}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002386954000002106, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2408, in test_interpolate\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037957600000027014}, "lineno": 2402, "nodeid": "core/tests/test_stream.py::TestStream::test_interpolate", "outcome": "error", "keywords": ["test_interpolate", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00027934900001014284, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/traceback.py\", line 369, in _get_code_position\n    return next(itertools.islice(positions_gen, instruction_index // 2, None))\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023178960000223015, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2421, in test_integrate\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036490799999455703}, "lineno": 2415, "nodeid": "core/tests/test_stream.py::TestStream::test_integrate", "outcome": "failed", "keywords": ["test_integrate", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020806599999900754}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022578030000204308, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2434, in test_integrate_args\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033245800000258896}, "lineno": 2428, "nodeid": "core/tests/test_stream.py::TestStream::test_integrate_args", "outcome": "failed", "keywords": ["test_integrate_args", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020318700001098478}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0007664840000245476, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 967, in __init__\n    def __init__(\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 153, in pytest_runtest_setup\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "lineno": 2441, "nodeid": "core/tests/test_stream.py::TestStream::test_misaligned_traces", "outcome": "error", "keywords": ["test_misaligned_traces", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019726600001490624}}, {"call": {"outcome": "passed", "duration": 0.03676053599997431}, "setup": {"outcome": "passed", "duration": 0.0003613410000014028}, "lineno": 2523, "nodeid": "core/tests/test_stream.py::TestStream::test_slide", "outcome": "passed", "keywords": ["test_slide", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002551339999854463}}, {"call": {"outcome": "passed", "duration": 0.003136705999992273}, "setup": {"outcome": "passed", "duration": 0.0003915879999851768}, "lineno": 2605, "nodeid": "core/tests/test_stream.py::TestStream::test_slide_nearest_sample", "outcome": "passed", "keywords": ["test_slide_nearest_sample", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019688499997982944}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023588809999921523, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2651, in test_passing_kwargs_to_trace_detrend\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035299600000371356}, "lineno": 2645, "nodeid": "core/tests/test_stream.py::TestStream::test_passing_kwargs_to_trace_detrend", "outcome": "failed", "keywords": ["test_passing_kwargs_to_trace_detrend", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020472100001711624}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.019780514000018456, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/collections/__init__.py\", line 449, in _make\n    result = tuple_new(cls, iterable)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0003516339999976026}, "lineno": 2662, "nodeid": "core/tests/test_stream.py::TestStream::test_read_check_compression", "outcome": "failed", "keywords": ["test_read_check_compression", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026531299999987823}}, {"call": {"outcome": "passed", "duration": 0.16862516300000152}, "setup": {"outcome": "passed", "duration": 0.00036340399998380235}, "lineno": 2684, "nodeid": "core/tests/test_stream.py::TestStream::test_rotate_to_zne", "outcome": "passed", "keywords": ["test_rotate_to_zne", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026700600000140184}}, {"call": {"outcome": "passed", "duration": 0.3435614990000033}, "setup": {"outcome": "passed", "duration": 0.00040504300000065996}, "lineno": 2726, "nodeid": "core/tests/test_stream.py::TestStream::test_write_empty_stream", "outcome": "passed", "keywords": ["test_write_empty_stream", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002668550000066716}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0027804450000132874, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2745, in test_stack\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041878800001882155}, "lineno": 2738, "nodeid": "core/tests/test_stream.py::TestStream::test_stack", "outcome": "failed", "keywords": ["test_stack", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022294499999020445}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023632200000065495, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2847, in test_stream_trim_slice_same_length\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037563800000839365}, "lineno": 2839, "nodeid": "core/tests/test_stream.py::TestStream::test_stream_trim_slice_same_length", "outcome": "failed", "keywords": ["test_stream_trim_slice_same_length", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022951600001874795}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0028311190000067654, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2854, in test_filter_ftype\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003358140000102594}, "lineno": 2852, "nodeid": "core/tests/test_stream.py::TestStream::test_filter_ftype", "outcome": "error", "keywords": ["test_filter_ftype", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00027801600000998405, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 90, in _convert\n    |     return tuple(map(_convert, node.elts))\n    |                  ^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 90, in _convert\n    |     return tuple(map(_convert, node.elts))\n    |                  ^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022515320000024985, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2863, in test_filter_freq_args\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035084099999949103}, "lineno": 2861, "nodeid": "core/tests/test_stream.py::TestStream::test_filter_freq_args", "outcome": "failed", "keywords": ["test_filter_freq_args", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021043099999928927}}, {"call": {"outcome": "passed", "duration": 0.015366655000008222}, "setup": {"outcome": "passed", "duration": 0.0016073349999885522}, "lineno": 2874, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_checks_messages", "outcome": "passed", "keywords": ["test_merge_checks_messages", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002543230000071617}}, {"call": {"outcome": "passed", "duration": 0.005555379000014682}, "setup": {"outcome": "passed", "duration": 0.0016599939999935032}, "lineno": 2905, "nodeid": "core/tests/test_stream.py::TestStream::test_newbyteorder", "outcome": "passed", "keywords": ["test_newbyteorder", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002901699999995344}}, {"call": {"outcome": "passed", "duration": 0.0004673080000259233}, "setup": {"outcome": "passed", "duration": 0.0004885969999861572}, "lineno": 35, "nodeid": "core/tests/test_trace.py::TestTrace::test_init", "outcome": "passed", "keywords": ["test_init", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018015500000956308}}, {"call": {"outcome": "passed", "duration": 0.00048698499998067746}, "setup": {"outcome": "passed", "duration": 0.0003191729999798554}, "lineno": 54, "nodeid": "core/tests/test_trace.py::TestTrace::test_setattr", "outcome": "passed", "keywords": ["test_setattr", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017403299997909016}}, {"call": {"outcome": "passed", "duration": 0.0002750809999838566}, "setup": {"outcome": "passed", "duration": 0.0002854199999831053}, "lineno": 75, "nodeid": "core/tests/test_trace.py::TestTrace::test_len", "outcome": "passed", "keywords": ["test_len", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016649899998810724}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.001428253000000268, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/copy.py\", line 252, in <genexpr>\n    args = (deepcopy(arg, memo) for arg in args)\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0002874639999959072}, "lineno": 83, "nodeid": "core/tests/test_trace.py::TestTrace::test_mul", "outcome": "failed", "keywords": ["test_mul", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018998199999487042}}, {"call": {"outcome": "passed", "duration": 0.0028591709999830073}, "setup": {"outcome": "passed", "duration": 0.0003014289999896391}, "lineno": 96, "nodeid": "core/tests/test_trace.py::TestTrace::test_truediv", "outcome": "passed", "keywords": ["test_truediv", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000187339000007114}}, {"call": {"outcome": "passed", "duration": 0.004810896999998704}, "setup": {"outcome": "passed", "duration": 0.0003040849999820239}, "lineno": 110, "nodeid": "core/tests/test_trace.py::TestTrace::test_ltrim", "outcome": "passed", "keywords": ["test_ltrim", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019475199999874349}}, {"call": {"outcome": "passed", "duration": 0.0034214450000149554}, "setup": {"outcome": "passed", "duration": 0.0003182709999975941}, "lineno": 198, "nodeid": "core/tests/test_trace.py::TestTrace::test_rtrim", "outcome": "passed", "keywords": ["test_rtrim", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001859660000036456}}, {"call": {"outcome": "passed", "duration": 0.0017233920000023772}, "setup": {"outcome": "passed", "duration": 0.00032808899999281493}, "lineno": 291, "nodeid": "core/tests/test_trace.py::TestTrace::test_rtrim_with_padding", "outcome": "passed", "keywords": ["test_rtrim_with_padding", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017927300001474578}}, {"call": {"outcome": "passed", "duration": 0.0011728180000147859}, "setup": {"outcome": "passed", "duration": 0.0003166879999980665}, "lineno": 325, "nodeid": "core/tests/test_trace.py::TestTrace::test_trim", "outcome": "passed", "keywords": ["test_trim", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001783010000053764}}, {"call": {"outcome": "passed", "duration": 0.000612477000004219}, "setup": {"outcome": "passed", "duration": 0.0002915009999924223}, "lineno": 352, "nodeid": "core/tests/test_trace.py::TestTrace::test_trim_all_does_not_change_dtype", "outcome": "passed", "keywords": ["test_trim_all_does_not_change_dtype", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017519599998649937}}, {"call": {"outcome": "passed", "duration": 0.001128816999994342}, "setup": {"outcome": "passed", "duration": 0.00028550100000757084}, "lineno": 367, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_trace_with_gap", "outcome": "passed", "keywords": ["test_add_trace_with_gap", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002021749999983058}}, {"call": {"outcome": "passed", "duration": 0.001038800000003448}, "setup": {"outcome": "passed", "duration": 0.0002879150000012487}, "lineno": 400, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_trace_with_overlap", "outcome": "passed", "keywords": ["test_add_trace_with_overlap", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001759060000097179}}, {"call": {"outcome": "passed", "duration": 0.0008746150000149555}, "setup": {"outcome": "passed", "duration": 0.0002870739999991656}, "lineno": 430, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_same_trace", "outcome": "passed", "keywords": ["test_add_same_trace", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017434399998705885}}, {"call": {"outcome": "passed", "duration": 0.0019597699999849283}, "setup": {"outcome": "passed", "duration": 0.0002840770000034354}, "lineno": 444, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_trace_within_trace", "outcome": "passed", "keywords": ["test_add_trace_within_trace", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017691900001182148}}, {"call": {"outcome": "passed", "duration": 0.002297798000000739}, "setup": {"outcome": "passed", "duration": 0.0003248330000076294}, "lineno": 475, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_gap_and_overlap", "outcome": "passed", "keywords": ["test_add_gap_and_overlap", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017973399999959838}}, {"call": {"outcome": "passed", "duration": 0.008408608999985745}, "setup": {"outcome": "passed", "duration": 0.0002971920000049977}, "lineno": 519, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_into_gap", "outcome": "passed", "keywords": ["test_add_into_gap", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020682400000282541}}, {"call": {"outcome": "passed", "duration": 0.0011158730000033756}, "setup": {"outcome": "passed", "duration": 0.00035200299998905393}, "lineno": 583, "nodeid": "core/tests/test_trace.py::TestTrace::test_slice", "outcome": "passed", "keywords": ["test_slice", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020258600000033766}}, {"call": {"outcome": "passed", "duration": 0.00804109599999947}, "setup": {"outcome": "passed", "duration": 0.00030235199997719064}, "lineno": 606, "nodeid": "core/tests/test_trace.py::TestTrace::test_slice_no_starttime_or_endtime", "outcome": "passed", "keywords": ["test_slice_no_starttime_or_endtime", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019173700002284022}}, {"call": {"outcome": "passed", "duration": 0.0019322089999889158}, "setup": {"outcome": "passed", "duration": 0.0003397609999922224}, "lineno": 699, "nodeid": "core/tests/test_trace.py::TestTrace::test_slice_nearest_sample", "outcome": "passed", "keywords": ["test_slice_nearest_sample", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017885200000478108}}, {"call": {"outcome": "passed", "duration": 0.003950277999990703}, "setup": {"outcome": "passed", "duration": 0.00029302400000119633}, "lineno": 726, "nodeid": "core/tests/test_trace.py::TestTrace::test_trim_floating_point", "outcome": "passed", "keywords": ["test_trim_floating_point", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017605700000444813}}, {"call": {"outcome": "passed", "duration": 0.0017612620000022616}, "setup": {"outcome": "passed", "duration": 0.0003066290000219851}, "lineno": 810, "nodeid": "core/tests/test_trace.py::TestTrace::test_trim_floating_point_with_padding_1", "outcome": "passed", "keywords": ["test_trim_floating_point_with_padding_1", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001804849999871294}}, {"call": {"outcome": "passed", "duration": 0.22317140600000585}, "setup": {"outcome": "passed", "duration": 0.00028922699999611723}, "lineno": 847, "nodeid": "core/tests/test_trace.py::TestTrace::test_trim_floating_point_with_padding_2", "outcome": "passed", "keywords": ["test_trim_floating_point_with_padding_2", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002616059999809295}}, {"call": {"outcome": "passed", "duration": 0.0007543610000197987}, "setup": {"outcome": "passed", "duration": 0.00043967600001337814}, "lineno": 884, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_sanity", "outcome": "passed", "keywords": ["test_add_sanity", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019051399999625573}}, {"call": {"outcome": "passed", "duration": 0.00537068599999202}, "setup": {"outcome": "passed", "duration": 0.0003291710000041803}, "lineno": 917, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_overlaps_default_method", "outcome": "passed", "keywords": ["test_add_overlaps_default_method", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018558499999699052}}, {"call": {"outcome": "passed", "duration": 0.0020926780000252165}, "setup": {"outcome": "passed", "duration": 0.00034603299999957926}, "lineno": 1002, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_with_different_sampling_rates", "outcome": "passed", "keywords": ["test_add_with_different_sampling_rates", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019378000001779583}}, {"call": {"outcome": "passed", "duration": 0.0020664479999936702}, "setup": {"outcome": "passed", "duration": 0.000305678000017906}, "lineno": 1034, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_with_different_datatypes_or_id", "outcome": "passed", "keywords": ["test_add_with_different_datatypes_or_id", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019966100001056475}}, {"call": {"outcome": "passed", "duration": 0.0033475379999856614}, "setup": {"outcome": "passed", "duration": 0.0002932540000131212}, "lineno": 1069, "nodeid": "core/tests/test_trace.py::TestTrace::test_comparisons", "outcome": "passed", "keywords": ["test_comparisons", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017505599998912658}}, {"call": {"outcome": "passed", "duration": 0.0034817379999765308}, "setup": {"outcome": "passed", "duration": 0.00031044700000393277}, "lineno": 1141, "nodeid": "core/tests/test_trace.py::TestTrace::test_nearest_sample", "outcome": "passed", "keywords": ["test_nearest_sample", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017315099998427286}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002298018999994156, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1208, in test_masked_array_to_string\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028934699997762436}, "lineno": 1203, "nodeid": "core/tests/test_trace.py::TestTrace::test_masked_array_to_string", "outcome": "failed", "keywords": ["test_masked_array_to_string", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020004200001721983}}, {"call": {"outcome": "passed", "duration": 0.0038733150000211936}, "setup": {"outcome": "passed", "duration": 0.00028954800001201875}, "lineno": 1215, "nodeid": "core/tests/test_trace.py::TestTrace::test_detrend", "outcome": "passed", "keywords": ["test_detrend", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001799839999989672}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.013107829000006177, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/collections/__init__.py\", line 449, in _make\n    result = tuple_new(cls, iterable)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0002880950000019311}, "lineno": 1243, "nodeid": "core/tests/test_trace.py::TestTrace::test_differentiate", "outcome": "failed", "keywords": ["test_differentiate", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021373699999571727}}, {"call": {"outcome": "passed", "duration": 0.012548829999985855}, "setup": {"outcome": "passed", "duration": 0.000330323999975235}, "lineno": 1254, "nodeid": "core/tests/test_trace.py::TestTrace::test_integrate", "outcome": "passed", "keywords": ["test_integrate", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020628300001135358}}, {"call": {"outcome": "passed", "duration": 0.01198402100001772}, "setup": {"outcome": "passed", "duration": 0.00033621500000435844}, "lineno": 1268, "nodeid": "core/tests/test_trace.py::TestTrace::test_issue_317", "outcome": "passed", "keywords": ["test_issue_317", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021260400001210655}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024934619999896768, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1328, in test_verify\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003432980000184216}, "lineno": 1316, "nodeid": "core/tests/test_trace.py::TestTrace::test_verify", "outcome": "failed", "keywords": ["test_verify", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019359000000918059}}, {"call": {"outcome": "passed", "duration": 0.00040451099999927465}, "setup": {"outcome": "passed", "duration": 0.00033611399999244895}, "lineno": 1330, "nodeid": "core/tests/test_trace.py::TestTrace::test_percent_in_str", "outcome": "passed", "keywords": ["test_percent_in_str", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018581500000891538}}, {"call": {"outcome": "passed", "duration": 0.0012008100000002742}, "setup": {"outcome": "passed", "duration": 0.0002869340000017928}, "lineno": 1338, "nodeid": "core/tests/test_trace.py::TestTrace::test_taper", "outcome": "passed", "keywords": ["test_taper", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017592699998658645}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.013815593999993325, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/collections/__init__.py\", line 449, in _make\n    result = tuple_new(cls, iterable)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0003019410000035805}, "lineno": 1349, "nodeid": "core/tests/test_trace.py::TestTrace::test_taper_onesided", "outcome": "failed", "keywords": ["test_taper_onesided", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021794399998498193}}, {"call": {"outcome": "passed", "duration": 0.0042035189999865}, "setup": {"outcome": "passed", "duration": 0.00031934300000102667}, "lineno": 1379, "nodeid": "core/tests/test_trace.py::TestTrace::test_taper_length", "outcome": "passed", "keywords": ["test_taper_length", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018317999999339918}}, {"call": {"outcome": "passed", "duration": 0.0022949830000129623}, "setup": {"outcome": "passed", "duration": 0.00029695199998514}, "lineno": 1413, "nodeid": "core/tests/test_trace.py::TestTrace::test_times", "outcome": "passed", "keywords": ["test_times", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001805459999957293}}, {"call": {"outcome": "passed", "duration": 0.0006201219999866225}, "setup": {"outcome": "passed", "duration": 0.0002947369999901639}, "lineno": 1465, "nodeid": "core/tests/test_trace.py::TestTrace::test_modulo_operation", "outcome": "passed", "keywords": ["test_modulo_operation", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017273099999215447}}, {"call": {"outcome": "passed", "duration": 0.059113136999997096}, "setup": {"outcome": "passed", "duration": 0.00030892300000573414}, "lineno": 1487, "nodeid": "core/tests/test_trace.py::TestTrace::test_plot", "outcome": "passed", "keywords": ["test_plot", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002731879999942066}}, {"call": {"outcome": "passed", "duration": 0.06298011000001225}, "setup": {"outcome": "passed", "duration": 0.00041478099998926155}, "lineno": 1494, "nodeid": "core/tests/test_trace.py::TestTrace::test_spectrogram", "outcome": "passed", "keywords": ["test_spectrogram", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002485720000038327}}, {"call": {"outcome": "passed", "duration": 0.0005699790000051053}, "setup": {"outcome": "passed", "duration": 0.00041074300000332187}, "lineno": 1502, "nodeid": "core/tests/test_trace.py::TestTrace::test_raise_masked", "outcome": "passed", "keywords": ["test_raise_masked", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018449300000611402}}, {"call": {"outcome": "passed", "duration": 0.001903154999979506}, "setup": {"outcome": "passed", "duration": 0.0003153859999827091}, "lineno": 1512, "nodeid": "core/tests/test_trace.py::TestTrace::test_split", "outcome": "passed", "keywords": ["test_split", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020719500000154767}}, {"call": {"outcome": "passed", "duration": 0.0004976950000070701}, "setup": {"outcome": "passed", "duration": 0.0003050169999880836}, "lineno": 1537, "nodeid": "core/tests/test_trace.py::TestTrace::test_split_empty_masked_array", "outcome": "passed", "keywords": ["test_split_empty_masked_array", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017747900000131267}}, {"call": {"outcome": "passed", "duration": 0.0012267189999874972}, "setup": {"outcome": "passed", "duration": 0.0002996359999940523}, "lineno": 1551, "nodeid": "core/tests/test_trace.py::TestTrace::test_split_masked_array_without_actually_masked_values", "outcome": "passed", "keywords": ["test_split_masked_array_without_actually_masked_values", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017952299998569288}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002405538000004981, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1577, in test_simulate_evalresp\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029531900000279165}, "lineno": 1571, "nodeid": "core/tests/test_trace.py::TestTrace::test_simulate_evalresp", "outcome": "failed", "keywords": ["test_simulate_evalresp", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000290269000004173}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0028011040000137655, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1605, in test_issue_540\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033442100001934705}, "lineno": 1598, "nodeid": "core/tests/test_trace.py::TestTrace::test_issue_540", "outcome": "error", "keywords": ["test_issue_540", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0002672669999981281, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 86, in _convert\n    def _convert(node):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002207451000003857, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1636, in test_resample\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032423199999698227}, "lineno": 1631, "nodeid": "core/tests/test_trace.py::TestTrace::test_resample", "outcome": "failed", "keywords": ["test_resample", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019815799998923467}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002195849000003136, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1667, in test_method_chaining\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031286099999761063}, "lineno": 1658, "nodeid": "core/tests/test_trace.py::TestTrace::test_method_chaining", "outcome": "error", "keywords": ["test_method_chaining", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0002530699999852004, "longrepr": "Traceback (most recent call last):\n  File \"<frozen abc>\", line 117, in __instancecheck__\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002187132999978303, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1705, in test_skip_empty_trace\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003481160000262662}, "lineno": 1703, "nodeid": "core/tests/test_trace.py::TestTrace::test_skip_empty_trace", "outcome": "failed", "keywords": ["test_skip_empty_trace", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002009140000041043}}, {"call": {"outcome": "passed", "duration": 0.0003867689999879076}, "setup": {"outcome": "passed", "duration": 0.0003162180000231274}, "lineno": 1713, "nodeid": "core/tests/test_trace.py::TestTrace::test_issue_695", "outcome": "passed", "keywords": ["test_issue_695", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017120800001180214}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021844679999958316, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1734, in test_remove_response\n    tr1 = read()[0]\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031106699998417753}, "lineno": 1727, "nodeid": "core/tests/test_trace.py::TestTrace::test_remove_response", "outcome": "error", "keywords": ["test_remove_response", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00024163900002349692, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/traceback.py\", line 369, in _get_code_position\n    return next(itertools.islice(positions_gen, instruction_index // 2, None))\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002297446999989461, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1750, in test_remove_polynomial_response\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009961009999983617}, "lineno": 1745, "nodeid": "core/tests/test_trace.py::TestTrace::test_remove_polynomial_response", "outcome": "failed", "keywords": ["test_remove_polynomial_response", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021882699999764554}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023505660000182615, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1785, in test_processing_info_remove_response_and_sensitivity\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003678939999929298}, "lineno": 1776, "nodeid": "core/tests/test_trace.py::TestTrace::test_processing_info_remove_response_and_sensitivity", "outcome": "error", "keywords": ["test_processing_info_remove_response_and_sensitivity", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0002501440000060029, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/_code/code.py\", line 196, in __init__\n    def __init__(\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023295980000170857, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1825, in test_processing_information\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033988100000215127}, "lineno": 1820, "nodeid": "core/tests/test_trace.py::TestTrace::test_processing_information", "outcome": "failed", "keywords": ["test_processing_information", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002160010000125112}}, {"call": {"outcome": "passed", "duration": 0.0015139420000025439}, "setup": {"outcome": "passed", "duration": 0.00036258400001543123}, "lineno": 1861, "nodeid": "core/tests/test_trace.py::TestTrace::test_no_processing_info_for_failed_operations", "outcome": "passed", "keywords": ["test_no_processing_info_for_failed_operations", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020648299999947994}}, {"call": {"outcome": "passed", "duration": 0.000324281999979803}, "setup": {"outcome": "passed", "duration": 0.00030889399999978195}, "lineno": 1887, "nodeid": "core/tests/test_trace.py::TestTrace::test_meta", "outcome": "passed", "keywords": ["test_meta", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017220000000861546}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0063793500000031145, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1907, in test_interpolate\n    org_tr = read(\"/path/to/%s\" % file_, round_sampling_interval=False)[0]\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002978230000110216}, "lineno": 1897, "nodeid": "core/tests/test_trace.py::TestTrace::test_interpolate", "outcome": "failed", "keywords": ["test_interpolate", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022258399999941503}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.002512085999995861, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/compat.py\", line 67, in signature\n    def signature(obj: Callable[..., Any]) -> Signature:\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 153, in pytest_runtest_setup\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "lineno": 1978, "nodeid": "core/tests/test_trace.py::TestTrace::test_interpolation_time_shift", "outcome": "error", "keywords": ["test_interpolation_time_shift", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020039199998223012}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002510553000007576, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2047, in test_interpolation_arguments\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031427400000438865}, "lineno": 2042, "nodeid": "core/tests/test_trace.py::TestTrace::test_interpolation_arguments", "outcome": "failed", "keywords": ["test_interpolation_arguments", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023028799998314753}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.024716713000003665, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/collections/__init__.py\", line 449, in _make\n    result = tuple_new(cls, iterable)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0003584860000103163}, "lineno": 2101, "nodeid": "core/tests/test_trace.py::TestTrace::test_resample_new", "outcome": "failed", "keywords": ["test_resample_new", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027523099998916223}}, {"call": {"outcome": "passed", "duration": 0.013039872000007335}, "setup": {"outcome": "passed", "duration": 0.00038049700000897246}, "lineno": 2182, "nodeid": "core/tests/test_trace.py::TestTrace::test_slide", "outcome": "passed", "keywords": ["test_slide", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027059199999257544}}, {"call": {"outcome": "passed", "duration": 0.0018621389999964322}, "setup": {"outcome": "passed", "duration": 0.000381750000002512}, "lineno": 2251, "nodeid": "core/tests/test_trace.py::TestTrace::test_slide_nearest_sample", "outcome": "passed", "keywords": ["test_slide_nearest_sample", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001925779999965016}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001379161000016893, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2292, in test_remove_response_plot\n    tr = read(\"/path/to/IU_ULN_00_LH1_2015-07-18T02.mseed\")[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004961710000088715}, "lineno": 2287, "nodeid": "core/tests/test_trace.py::TestTrace::test_remove_response_plot", "outcome": "failed", "keywords": ["test_remove_response_plot", "filterwarnings", "image", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00042210399999476067}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004842414999984612, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2302, in test_remove_response_default_units\n    tr = read(\"/path/to/1T_MONN_00_EDH.mseed\")[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032018499999253436}, "lineno": 2297, "nodeid": "core/tests/test_trace.py::TestTrace::test_remove_response_default_units", "outcome": "failed", "keywords": ["test_remove_response_default_units", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023405499999284984}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024398420000011356, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2308, in test_attach_response_deprecated\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003608600000006845}, "lineno": 2306, "nodeid": "core/tests/test_trace.py::TestTrace::test_attach_response_deprecated", "outcome": "failed", "keywords": ["test_attach_response_deprecated", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020681399999489258}}, {"call": {"outcome": "passed", "duration": 0.004199671000009175}, "setup": {"outcome": "passed", "duration": 0.0003191129999891018}, "lineno": 2313, "nodeid": "core/tests/test_trace.py::TestTrace::test_normalize", "outcome": "passed", "keywords": ["test_normalize", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018387200000802295}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025923649999981535, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2420, in test_dtype_is_not_unnecessarily_changed\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000329262000008157}, "lineno": 2407, "nodeid": "core/tests/test_trace.py::TestTrace::test_dtype_is_not_unnecessarily_changed", "outcome": "failed", "keywords": ["test_dtype_is_not_unnecessarily_changed", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002278830000079779}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.0012892949999923076, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"<frozen abc>\", line 117, in __instancecheck__\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"<frozen abc>\", line 117, in __instancecheck__\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}, "setup": {"outcome": "passed", "duration": 0.00034429900000532143}, "lineno": 2598, "nodeid": "core/tests/test_trace.py::TestTrace::test_set_trace_id", "outcome": "failed", "keywords": ["test_set_trace_id", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020096400001534676}}, {"call": {"outcome": "passed", "duration": 0.0004063550000239502}, "setup": {"outcome": "passed", "duration": 0.00031951299999377625}, "lineno": 2622, "nodeid": "core/tests/test_trace.py::TestTrace::test_trace_contiguous", "outcome": "passed", "keywords": ["test_trace_contiguous", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017331300000478223}}, {"call": {"outcome": "passed", "duration": 0.00041728599998691607}, "setup": {"outcome": "passed", "duration": 0.00032542400001034366}, "lineno": 2642, "nodeid": "core/tests/test_trace.py::TestTrace::test_header_dict_copied", "outcome": "passed", "keywords": ["test_header_dict_copied", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019315900001970476}}, {"call": {"outcome": "passed", "duration": 0.0009316510000019207}, "setup": {"outcome": "passed", "duration": 0.00028884600001788385}, "lineno": 2661, "nodeid": "core/tests/test_trace.py::TestTrace::test_pickle", "outcome": "passed", "keywords": ["test_pickle", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018108700001562283}}, {"call": {"outcome": "passed", "duration": 0.0008191119999878538}, "setup": {"outcome": "passed", "duration": 0.0002886860000046454}, "lineno": 2673, "nodeid": "core/tests/test_trace.py::TestTrace::test_pickle_soh", "outcome": "passed", "keywords": ["test_pickle_soh", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016925400001355229}}, {"call": {"outcome": "passed", "duration": 0.00041011199999729797}, "setup": {"outcome": "passed", "duration": 0.000288376000014523}, "lineno": 2686, "nodeid": "core/tests/test_trace.py::TestTrace::test_deepcopy_issue2600", "outcome": "passed", "keywords": ["test_deepcopy_issue2600", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000168553000008842}}, {"call": {"outcome": "passed", "duration": 0.0004088199999898734}, "setup": {"outcome": "passed", "duration": 0.00028494899999031986}, "lineno": 2696, "nodeid": "core/tests/test_trace.py::TestTrace::test_pickle_issue2600", "outcome": "passed", "keywords": ["test_pickle_issue2600", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016904299999964678}}, {"call": {"outcome": "passed", "duration": 0.0009764039999993201}, "setup": {"outcome": "passed", "duration": 0.00031343199998445925}, "lineno": 2707, "nodeid": "core/tests/test_trace.py::TestTrace::test_resample_short_traces", "outcome": "passed", "keywords": ["test_resample_short_traces", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017458399997849483}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023888279999937367, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2728, in test_long_processing_list\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003092249999951946}, "lineno": 2723, "nodeid": "core/tests/test_trace.py::TestTrace::test_long_processing_list", "outcome": "failed", "keywords": ["test_long_processing_list", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019480200000998593}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.22870472400001063, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/collections/__init__.py\", line 449, in _make\n    result = tuple_new(cls, iterable)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.000347735999980614}, "lineno": 2738, "nodeid": "core/tests/test_trace.py::TestTrace::test_taper_scipy_plugins", "outcome": "failed", "keywords": ["test_taper_scipy_plugins", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00042164300000990806}}, {"call": {"outcome": "passed", "duration": 0.0044908220000081656}, "setup": {"outcome": "passed", "duration": 0.000553188000026239}, "lineno": 22, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_string", "outcome": "passed", "keywords": ["test_from_string", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024151900001356807}}, {"call": {"outcome": "passed", "duration": 0.0008643259999985275}, "setup": {"outcome": "passed", "duration": 0.00039663699999437085}, "lineno": 43, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_numpy_string", "outcome": "passed", "keywords": ["test_from_numpy_string", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018688699998392622}}, {"call": {"outcome": "passed", "duration": 0.0003838929999915308}, "setup": {"outcome": "passed", "duration": 0.0003778819999809002}, "lineno": 62, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_python_date_time", "outcome": "passed", "keywords": ["test_from_python_date_time", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018746800000712938}}, {"call": {"outcome": "passed", "duration": 0.00038069699999709883}, "setup": {"outcome": "passed", "duration": 0.00029922600000986677}, "lineno": 75, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_numeric", "outcome": "passed", "keywords": ["test_from_numeric", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017377300000021023}}, {"call": {"outcome": "passed", "duration": 0.007192941999988989}, "setup": {"outcome": "passed", "duration": 0.00029517900000541886}, "lineno": 86, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_iso8601_calendar_date_string", "outcome": "passed", "keywords": ["test_from_iso8601_calendar_date_string", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021022100000323007}}, {"call": {"outcome": "passed", "duration": 0.00932998099997917}, "setup": {"outcome": "passed", "duration": 0.00031312099997649057}, "lineno": 162, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_iso8601_ordinal_date_string", "outcome": "passed", "keywords": ["test_from_iso8601_ordinal_date_string", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019389999999930296}}, {"call": {"outcome": "passed", "duration": 0.010090222999991738}, "setup": {"outcome": "passed", "duration": 0.0003346510000028502}, "lineno": 216, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_iso8601_week_date_string", "outcome": "passed", "keywords": ["test_from_iso8601_week_date_string", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002064729999915471}}, {"call": {"outcome": "passed", "duration": 0.00042041099999323706}, "setup": {"outcome": "passed", "duration": 0.00035176299999761795}, "lineno": 263, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_to_string", "outcome": "passed", "keywords": ["test_to_string", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017596699998989607}}, {"call": {"outcome": "passed", "duration": 0.00032629599999722814}, "setup": {"outcome": "passed", "duration": 0.00031082800001058786}, "lineno": 278, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_deepcopy", "outcome": "passed", "keywords": ["test_deepcopy", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016933500000959611}}, {"call": {"outcome": "passed", "duration": 0.0006879579999861107}, "setup": {"outcome": "passed", "duration": 0.00031603699997617696}, "lineno": 285, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_add", "outcome": "passed", "keywords": ["test_add", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016918399998644418}}, {"call": {"outcome": "passed", "duration": 0.000372241000007989}, "setup": {"outcome": "passed", "duration": 0.0003056680000099732}, "lineno": 299, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_sub", "outcome": "passed", "keywords": ["test_sub", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016737999999349995}}, {"call": {"outcome": "passed", "duration": 0.000294396999976243}, "setup": {"outcome": "passed", "duration": 0.00028160299999058225}, "lineno": 317, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_negative_timestamp", "outcome": "passed", "keywords": ["test_negative_timestamp", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016925500000297689}}, {"call": {"outcome": "passed", "duration": 0.0002556750000053398}, "setup": {"outcome": "passed", "duration": 0.00029690100001289466}, "lineno": 322, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_sub_with_negative_time_stamp", "outcome": "passed", "keywords": ["test_sub_with_negative_time_stamp", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017044700001633828}}, {"call": {"outcome": "passed", "duration": 0.0012320489999808615}, "setup": {"outcome": "passed", "duration": 0.00029099100001417355}, "lineno": 327, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_small_negative_utc_date_time", "outcome": "passed", "keywords": ["test_small_negative_utc_date_time", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018352100002516636}}, {"call": {"outcome": "passed", "duration": 0.00047136499998146064}, "setup": {"outcome": "passed", "duration": 0.00028771500001312234}, "lineno": 372, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_big_negative_UTC", "outcome": "passed", "keywords": ["test_big_negative_UTC", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001683830000160924}}, {"call": {"outcome": "passed", "duration": 0.0004198599999938324}, "setup": {"outcome": "passed", "duration": 0.00029443700000797435}, "lineno": 382, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_init_UTC", "outcome": "passed", "keywords": ["test_init_UTC", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001685930000121516}}, {"call": {"outcome": "passed", "duration": 0.0006918750000011187}, "setup": {"outcome": "passed", "duration": 0.00030501700001650534}, "lineno": 390, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_init_UTC_mixing_keyworks_with_arguments", "outcome": "passed", "keywords": ["test_init_UTC_mixing_keyworks_with_arguments", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017005600000175036}}, {"call": {"outcome": "passed", "duration": 0.00046313000001418914}, "setup": {"outcome": "passed", "duration": 0.00028299499999207}, "lineno": 415, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_to_python_date_time_objects", "outcome": "passed", "keywords": ["test_to_python_date_time_objects", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016625899999667126}}, {"call": {"outcome": "passed", "duration": 0.00042410699998640666}, "setup": {"outcome": "passed", "duration": 0.00027957000000355947}, "lineno": 433, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_sub_add_float", "outcome": "passed", "keywords": ["test_sub_add_float", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016842299999098032}}, {"call": {"outcome": "passed", "duration": 0.0006353400000023157}, "setup": {"outcome": "passed", "duration": 0.00030146899999294874}, "lineno": 446, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_159", "outcome": "passed", "keywords": ["test_issue_159", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016890300000227398}}, {"call": {"outcome": "passed", "duration": 0.0005040660000190655}, "setup": {"outcome": "passed", "duration": 0.0002766540000038731}, "lineno": 459, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_invalid_dates", "outcome": "passed", "keywords": ["test_invalid_dates", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001693639999871266}}, {"call": {"outcome": "passed", "duration": 0.00041942900000435657}, "setup": {"outcome": "passed", "duration": 0.00029527799998163573}, "lineno": 480, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_invalid_times", "outcome": "passed", "keywords": ["test_invalid_times", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016777199999751247}}, {"call": {"outcome": "passed", "duration": 0.0004998779999993985}, "setup": {"outcome": "passed", "duration": 0.00030306299998983377}, "lineno": 494, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_168", "outcome": "passed", "keywords": ["test_issue_168", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017786099999739235}}, {"call": {"outcome": "passed", "duration": 0.000992212999989306}, "setup": {"outcome": "passed", "duration": 0.00028254500000457483}, "lineno": 508, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_format_seed", "outcome": "passed", "keywords": ["test_format_seed", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017788100001325802}}, {"call": {"outcome": "passed", "duration": 0.0007581279999726576}, "setup": {"outcome": "passed", "duration": 0.00028584099999307}, "lineno": 535, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_eq", "outcome": "passed", "keywords": ["test_eq", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016484599998989324}}, {"call": {"outcome": "passed", "duration": 0.0007780549999836239}, "setup": {"outcome": "passed", "duration": 0.0002799399999844354}, "lineno": 558, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_ne", "outcome": "passed", "keywords": ["test_ne", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017426299999101502}}, {"call": {"outcome": "passed", "duration": 0.0015729520000036246}, "setup": {"outcome": "passed", "duration": 0.0002792589999955908}, "lineno": 581, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_lt", "outcome": "passed", "keywords": ["test_lt", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015715199998567186}}, {"call": {"outcome": "passed", "duration": 0.0015738540000143075}, "setup": {"outcome": "passed", "duration": 0.00047646499999132175}, "lineno": 617, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_le", "outcome": "passed", "keywords": ["test_le", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015724299998964852}}, {"call": {"outcome": "passed", "duration": 0.001491831999999249}, "setup": {"outcome": "passed", "duration": 0.0002818330000025071}, "lineno": 653, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_gt", "outcome": "passed", "keywords": ["test_gt", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001697860000149376}}, {"call": {"outcome": "passed", "duration": 0.0015475739999999405}, "setup": {"outcome": "passed", "duration": 0.0003032429999905162}, "lineno": 688, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_ge", "outcome": "passed", "keywords": ["test_ge", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001852640000095107}}, {"call": {"outcome": "passed", "duration": 0.00039491399999747046}, "setup": {"outcome": "passed", "duration": 0.00028993800000876035}, "lineno": 724, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_toordinal", "outcome": "passed", "keywords": ["test_toordinal", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016939500000034968}}, {"call": {"outcome": "passed", "duration": 0.0002536009999971611}, "setup": {"outcome": "passed", "duration": 0.00029229300000110925}, "lineno": 733, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_weekday", "outcome": "passed", "keywords": ["test_weekday", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018006400000558642}}, {"call": {"outcome": "passed", "duration": 0.00031004600000983373}, "setup": {"outcome": "passed", "duration": 0.0002832460000092851}, "lineno": 741, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_default_precision", "outcome": "passed", "keywords": ["test_default_precision", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015454700002237587}}, {"call": {"outcome": "passed", "duration": 0.0006451590000153828}, "setup": {"outcome": "passed", "duration": 0.00030122900000151276}, "lineno": 769, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_to_string_precision", "outcome": "passed", "keywords": ["test_to_string_precision", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000157623000006879}}, {"call": {"outcome": "passed", "duration": 0.0002742690000161474}, "setup": {"outcome": "passed", "duration": 0.00027671399999462665}, "lineno": 800, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_precision_above_9_issues_warning", "outcome": "passed", "keywords": ["test_precision_above_9_issues_warning", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015722300000220457}}, {"call": {"outcome": "passed", "duration": 0.0008244919999924605}, "setup": {"outcome": "passed", "duration": 0.0002775460000066232}, "lineno": 811, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_rich_comparision_numeric_objects", "outcome": "passed", "keywords": ["test_rich_comparision_numeric_objects", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001649759999793332}}, {"call": {"outcome": "passed", "duration": 0.0006439960000079736}, "setup": {"outcome": "passed", "duration": 0.00030431600001179504}, "lineno": 848, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_rich_comparision_numeric_types", "outcome": "passed", "keywords": ["test_rich_comparision_numeric_types", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001556500000106098}}, {"call": {"outcome": "passed", "duration": 0.0030166440000130024}, "setup": {"outcome": "passed", "duration": 0.0002940770000066095}, "lineno": 865, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_rich_comparision_fuzzy", "outcome": "passed", "keywords": ["test_rich_comparision_fuzzy", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001681330000167236}}, {"call": {"outcome": "passed", "duration": 0.0004330550000020139}, "setup": {"outcome": "passed", "duration": 0.0003110279999987142}, "lineno": 938, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_datetime_with_timezone", "outcome": "passed", "keywords": ["test_datetime_with_timezone", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018263900000192734}}, {"call": {"outcome": "passed", "duration": 0.000249823999979526}, "setup": {"outcome": "passed", "duration": 0.0002842279999981656}, "lineno": 953, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_hash", "outcome": "passed", "keywords": ["test_hash", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000157442000016772}}, {"call": {"outcome": "passed", "duration": 0.00024379300000987314}, "setup": {"outcome": "passed", "duration": 0.000310708000000659}, "lineno": 959, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_now", "outcome": "passed", "keywords": ["test_now", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002452850000054241}}, {"call": {"outcome": "passed", "duration": 0.0002848580000147649}, "setup": {"outcome": "passed", "duration": 0.0002950180000027558}, "lineno": 966, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_utcnow", "outcome": "passed", "keywords": ["test_utcnow", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015638099998227517}}, {"call": {"outcome": "passed", "duration": 0.0003041249999853335}, "setup": {"outcome": "passed", "duration": 0.00029816400001436705}, "lineno": 973, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_abs", "outcome": "passed", "keywords": ["test_abs", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015700099999094164}}, {"call": {"outcome": "passed", "duration": 0.0014591910000092412}, "setup": {"outcome": "passed", "duration": 0.0002858109999976932}, "lineno": 988, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_string_with_timezone", "outcome": "passed", "keywords": ["test_string_with_timezone", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016315299998836963}}, {"call": {"outcome": "passed", "duration": 0.0003236710000180665}, "setup": {"outcome": "passed", "duration": 0.00029729199999906086}, "lineno": 1013, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_year_2038_problem", "outcome": "passed", "keywords": ["test_year_2038_problem", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001563509999868984}}, {"call": {"outcome": "passed", "duration": 0.000448312999992595}, "setup": {"outcome": "passed", "duration": 0.0002806610000050114}, "lineno": 1024, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_format_iris_webservice", "outcome": "passed", "keywords": ["test_format_iris_webservice", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015817400000628368}}, {"call": {"outcome": "passed", "duration": 0.07587250800000334}, "setup": {"outcome": "passed", "duration": 0.0003065600000127233}, "lineno": 1038, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_floating_point_second_initialization", "outcome": "passed", "keywords": ["test_floating_point_second_initialization", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002497540000092613}}, {"call": {"outcome": "passed", "duration": 0.0007192759999838927}, "setup": {"outcome": "passed", "duration": 0.0003921189999971375}, "lineno": 1049, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_1215", "outcome": "passed", "keywords": ["test_issue_1215", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001825190000204202}}, {"call": {"outcome": "passed", "duration": 0.001017759999996315}, "setup": {"outcome": "passed", "duration": 0.00032766900000069654}, "lineno": 1061, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_matplotlib_date", "outcome": "passed", "keywords": ["test_matplotlib_date", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020011199998748452}}, {"call": {"outcome": "passed", "duration": 0.001369272999994564}, "setup": {"outcome": "passed", "duration": 0.0003045059999919886}, "lineno": 1080, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_add_error_message", "outcome": "passed", "keywords": ["test_add_error_message", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017636800001241681}}, {"call": {"outcome": "passed", "duration": 0.001641559999995934}, "setup": {"outcome": "passed", "duration": 0.00029668100000890263}, "lineno": 1087, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_nanoseconds", "outcome": "passed", "keywords": ["test_nanoseconds", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017252000000667067}}, {"call": {"outcome": "passed", "duration": 0.0003019810000068901}, "setup": {"outcome": "passed", "duration": 0.0003160470000125315}, "lineno": 1161, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_utcdatetime_from_utcdatetime", "outcome": "passed", "keywords": ["test_utcdatetime_from_utcdatetime", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018314100000793587}}, {"call": {"outcome": "passed", "duration": 0.0004807129999733206}, "setup": {"outcome": "passed", "duration": 0.0004115339999941625}, "lineno": 1166, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_1008", "outcome": "passed", "keywords": ["test_issue_1008", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001763980000077936}}, {"call": {"outcome": "passed", "duration": 0.00046517499998799394}, "setup": {"outcome": "passed", "duration": 0.0002855310000029476}, "lineno": 1175, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_1652", "outcome": "passed", "keywords": ["test_issue_1652", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016609900001185451}}, {"call": {"outcome": "passed", "duration": 0.00028001999999105465}, "setup": {"outcome": "passed", "duration": 0.000299416000018482}, "lineno": 1192, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_2165", "outcome": "passed", "keywords": ["test_issue_2165", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016378400002281523}}, {"call": {"outcome": "passed", "duration": 0.00037613899999655587}, "setup": {"outcome": "passed", "duration": 0.0002974730000175896}, "lineno": 1207, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_ns_public_attribute", "outcome": "passed", "keywords": ["test_ns_public_attribute", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001673310000001038}}, {"call": {"outcome": "passed", "duration": 0.0004757730000051197}, "setup": {"outcome": "passed", "duration": 0.00029693100000827144}, "lineno": 1221, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_timestamp_can_serialize_with_time_attrs", "outcome": "passed", "keywords": ["test_timestamp_can_serialize_with_time_attrs", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017057700000577825}}, {"call": {"outcome": "passed", "duration": 0.0003654589999939617}, "setup": {"outcome": "passed", "duration": 0.0002880250000032447}, "lineno": 1236, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_str_ms_equal_ms", "outcome": "passed", "keywords": ["test_str_ms_equal_ms", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016508699999917553}}, {"call": {"outcome": "passed", "duration": 0.005613527000008389}, "setup": {"outcome": "passed", "duration": 0.0003024320000122316}, "lineno": 1250, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_close_utc_are_equal", "outcome": "passed", "keywords": ["test_close_utc_are_equal", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019433099998877879}}, {"call": {"outcome": "passed", "duration": 0.00037665900001115915}, "setup": {"outcome": "passed", "duration": 0.0003010600000266095}, "lineno": 1283, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_comparing_different_precision_utcs_warns", "outcome": "passed", "keywords": ["test_comparing_different_precision_utcs_warns", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017099699999789664}}, {"call": {"outcome": "passed", "duration": 0.0020236690000103863}, "setup": {"outcome": "passed", "duration": 0.0002864020000004075}, "lineno": 1297, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_string_representation_various_precisions", "outcome": "passed", "keywords": ["test_string_representation_various_precisions", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019579400000679925}}, {"call": {"outcome": "passed", "duration": 0.00027633300001639327}, "setup": {"outcome": "passed", "duration": 0.00028895700000930447}, "lineno": 1308, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_zero_precision_doesnt_print_dot", "outcome": "passed", "keywords": ["test_zero_precision_doesnt_print_dot", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017500499998845953}}, {"call": {"outcome": "passed", "duration": 0.0003453119999790033}, "setup": {"outcome": "passed", "duration": 0.0003000370000165731}, "lineno": 1316, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_change_time_attr_raises_warning", "outcome": "passed", "keywords": ["test_change_time_attr_raises_warning", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016797200001406054}}, {"call": {"outcome": "passed", "duration": 0.0002803110000115794}, "setup": {"outcome": "passed", "duration": 0.0002778460000172345}, "lineno": 1331, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_change_precision_raises_warning", "outcome": "passed", "keywords": ["test_change_precision_raises_warning", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001660979999940082}}, {"call": {"outcome": "passed", "duration": 0.0002755019999938213}, "setup": {"outcome": "passed", "duration": 0.00027189499999735744}, "lineno": 1345, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_compare_utc_different_precision_raises_warning", "outcome": "passed", "keywords": ["test_compare_utc_different_precision_raises_warning", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016195000000607251}}, {"call": {"outcome": "passed", "duration": 0.0011212119999868264}, "setup": {"outcome": "passed", "duration": 0.000278145999999424}, "lineno": 1361, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_replace", "outcome": "passed", "keywords": ["test_replace", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018577599999503036}}, {"call": {"outcome": "passed", "duration": 0.0003127410000161035}, "setup": {"outcome": "passed", "duration": 0.0006967639999970743}, "lineno": 1395, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_replace_with_julday_and_month_raises", "outcome": "passed", "keywords": ["test_replace_with_julday_and_month_raises", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016860299999166273}}, {"call": {"outcome": "passed", "duration": 0.0006428039999946122}, "setup": {"outcome": "passed", "duration": 0.0002801500000089163}, "lineno": 1407, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_unsupported_replace_argument_raises", "outcome": "passed", "keywords": ["test_unsupported_replace_argument_raises", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001663390000032905}}, {"call": {"outcome": "passed", "duration": 0.0013676299999758612}, "setup": {"outcome": "passed", "duration": 0.0002982540000004974}, "lineno": 1416, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_hour_minute_second_overflow", "outcome": "passed", "keywords": ["test_hour_minute_second_overflow", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001972460000274623}}, {"call": {"outcome": "passed", "duration": 0.0006819070000005922}, "setup": {"outcome": "passed", "duration": 0.0002848590000041895}, "lineno": 1448, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_hour_minute_second_overflow_with_replace", "outcome": "passed", "keywords": ["test_hour_minute_second_overflow_with_replace", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017473500000164677}}, {"call": {"outcome": "passed", "duration": 0.0003054370000086237}, "setup": {"outcome": "passed", "duration": 0.0002884060000098998}, "lineno": 1457, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_strftime_with_years_less_than_1900", "outcome": "passed", "keywords": ["test_strftime_with_years_less_than_1900", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016627899998411522}}, {"call": {"outcome": "passed", "duration": 0.005907603999986577}, "setup": {"outcome": "passed", "duration": 0.0003406330000075286}, "lineno": 1468, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_string_parsing_at_instantiating_before_1000", "outcome": "passed", "keywords": ["test_string_parsing_at_instantiating_before_1000", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020250599999371843}}, {"call": {"outcome": "passed", "duration": 0.0006635729999970863}, "setup": {"outcome": "passed", "duration": 0.0003277290000198718}, "lineno": 1478, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_leap_years", "outcome": "passed", "keywords": ["test_leap_years", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001739429999929598}}, {"call": {"outcome": "passed", "duration": 0.0006907529999864437}, "setup": {"outcome": "passed", "duration": 0.00031797100001540457}, "lineno": 1508, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_2447", "outcome": "passed", "keywords": ["test_issue_2447", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017160799998805487}}, {"call": {"outcome": "passed", "duration": 0.00044319300002371165}, "setup": {"outcome": "passed", "duration": 0.0004317920000005415}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path0]", "outcome": "passed", "keywords": ["test_read_old_pickles[path0]", "parametrize", "pytestmark", "path0", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002172930000199358}}, {"call": {"outcome": "passed", "duration": 0.0003883919999907448}, "setup": {"outcome": "passed", "duration": 0.0003909969999824625}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path1]", "outcome": "passed", "keywords": ["test_read_old_pickles[path1]", "parametrize", "pytestmark", "path1", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019273800000974006}}, {"call": {"outcome": "passed", "duration": 0.00039849000000913293}, "setup": {"outcome": "passed", "duration": 0.00039354099999400205}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path2]", "outcome": "passed", "keywords": ["test_read_old_pickles[path2]", "parametrize", "pytestmark", "path2", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018440200000213736}}, {"call": {"outcome": "passed", "duration": 0.0003753080000024056}, "setup": {"outcome": "passed", "duration": 0.00039670699999305725}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path3]", "outcome": "passed", "keywords": ["test_read_old_pickles[path3]", "parametrize", "pytestmark", "path3", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001870969999799854}}, {"call": {"outcome": "passed", "duration": 0.0003716909999980089}, "setup": {"outcome": "passed", "duration": 0.00036961700001825193}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path4]", "outcome": "passed", "keywords": ["test_read_old_pickles[path4]", "parametrize", "pytestmark", "path4", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018407199999614932}}, {"call": {"outcome": "passed", "duration": 0.00038220999999794003}, "setup": {"outcome": "passed", "duration": 0.0003663809999920886}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path5]", "outcome": "passed", "keywords": ["test_read_old_pickles[path5]", "parametrize", "pytestmark", "path5", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018429200000014134}}, {"call": {"outcome": "passed", "duration": 0.000365979000008565}, "setup": {"outcome": "passed", "duration": 0.0003877499999873635}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path6]", "outcome": "passed", "keywords": ["test_read_old_pickles[path6]", "parametrize", "pytestmark", "path6", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020081299999219482}}, {"call": {"outcome": "passed", "duration": 0.0003890230000251904}, "setup": {"outcome": "passed", "duration": 0.0003579650000062884}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path7]", "outcome": "passed", "keywords": ["test_read_old_pickles[path7]", "parametrize", "pytestmark", "path7", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018313999999008956}}, {"call": {"outcome": "passed", "duration": 0.00036136099998884674}, "setup": {"outcome": "passed", "duration": 0.00036557900000389054}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path8]", "outcome": "passed", "keywords": ["test_read_old_pickles[path8]", "parametrize", "pytestmark", "path8", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001733020000074248}}, {"call": {"outcome": "passed", "duration": 0.00036175200000343466}, "setup": {"outcome": "passed", "duration": 0.00038161999998465035}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path9]", "outcome": "passed", "keywords": ["test_read_old_pickles[path9]", "parametrize", "pytestmark", "path9", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001821689999985665}}, {"call": {"outcome": "passed", "duration": 0.00038453499999491214}, "setup": {"outcome": "passed", "duration": 0.000363074000006236}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path10]", "outcome": "passed", "keywords": ["test_read_old_pickles[path10]", "parametrize", "pytestmark", "path10", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000178121000004694}}, {"call": {"outcome": "passed", "duration": 0.00035921799999982795}, "setup": {"outcome": "passed", "duration": 0.0003899040000021614}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path11]", "outcome": "passed", "keywords": ["test_read_old_pickles[path11]", "parametrize", "pytestmark", "path11", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020209499999168656}}, {"call": {"outcome": "passed", "duration": 0.00039037499999494685}, "setup": {"outcome": "passed", "duration": 0.0003597580000018752}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path12]", "outcome": "passed", "keywords": ["test_read_old_pickles[path12]", "parametrize", "pytestmark", "path12", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018081599998254205}}, {"call": {"outcome": "passed", "duration": 0.00047495199999048054}, "setup": {"outcome": "passed", "duration": 0.0003656789999979537}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path13]", "outcome": "passed", "keywords": ["test_read_old_pickles[path13]", "parametrize", "pytestmark", "path13", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017599699998527285}}, {"call": {"outcome": "passed", "duration": 0.0003743949999943652}, "setup": {"outcome": "passed", "duration": 0.00038837100001387626}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path14]", "outcome": "passed", "keywords": ["test_read_old_pickles[path14]", "parametrize", "pytestmark", "path14", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017193900001188922}}, {"call": {"outcome": "passed", "duration": 0.00038217999997414154}, "setup": {"outcome": "passed", "duration": 0.00036221299998828727}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path15]", "outcome": "passed", "keywords": ["test_read_old_pickles[path15]", "parametrize", "pytestmark", "path15", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000170206000007056}}, {"call": {"outcome": "passed", "duration": 0.0003593479999892679}, "setup": {"outcome": "passed", "duration": 0.00038285100001189676}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path16]", "outcome": "passed", "keywords": ["test_read_old_pickles[path16]", "parametrize", "pytestmark", "path16", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019850800001108837}}, {"call": {"outcome": "passed", "duration": 0.0003683340000009139}, "setup": {"outcome": "passed", "duration": 0.00036095099997623947}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path17]", "outcome": "passed", "keywords": ["test_read_old_pickles[path17]", "parametrize", "pytestmark", "path17", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017373299999690062}}, {"call": {"outcome": "passed", "duration": 0.0003835420000086742}, "setup": {"outcome": "passed", "duration": 0.00048191600001246115}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path18]", "outcome": "passed", "keywords": ["test_read_old_pickles[path18]", "parametrize", "pytestmark", "path18", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018001399999434398}}, {"call": {"outcome": "passed", "duration": 0.00035917699997867203}, "setup": {"outcome": "passed", "duration": 0.000386638000009043}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path19]", "outcome": "passed", "keywords": ["test_read_old_pickles[path19]", "parametrize", "pytestmark", "path19", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019228700000439858}}, {"call": {"outcome": "passed", "duration": 0.0003875499999992371}, "setup": {"outcome": "passed", "duration": 0.00035981900001047507}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path20]", "outcome": "passed", "keywords": ["test_read_old_pickles[path20]", "parametrize", "pytestmark", "path20", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017689899999595582}}, {"call": {"outcome": "passed", "duration": 0.0003597590000197215}, "setup": {"outcome": "passed", "duration": 0.00036414600000966857}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path21]", "outcome": "passed", "keywords": ["test_read_old_pickles[path21]", "parametrize", "pytestmark", "path21", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017359200001010322}}, {"call": {"outcome": "passed", "duration": 0.0003664010000079543}, "setup": {"outcome": "passed", "duration": 0.0003705279999905997}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path22]", "outcome": "passed", "keywords": ["test_read_old_pickles[path22]", "parametrize", "pytestmark", "path22", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016962499998385283}}, {"call": {"outcome": "passed", "duration": 0.00038414400000874593}, "setup": {"outcome": "passed", "duration": 0.00035966800001574484}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path23]", "outcome": "passed", "keywords": ["test_read_old_pickles[path23]", "parametrize", "pytestmark", "path23", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017392300000551586}}, {"call": {"outcome": "passed", "duration": 0.000358885999986569}, "setup": {"outcome": "passed", "duration": 0.00038615700000832476}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path24]", "outcome": "passed", "keywords": ["test_read_old_pickles[path24]", "parametrize", "pytestmark", "path24", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001961640000160969}}, {"call": {"outcome": "passed", "duration": 0.00038917200001264973}, "setup": {"outcome": "passed", "duration": 0.00036371599998119564}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path25]", "outcome": "passed", "keywords": ["test_read_old_pickles[path25]", "parametrize", "pytestmark", "path25", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017497500002150446}}, {"call": {"outcome": "passed", "duration": 0.0003672819999849253}, "setup": {"outcome": "passed", "duration": 0.0003677030000233117}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path26]", "outcome": "passed", "keywords": ["test_read_old_pickles[path26]", "parametrize", "pytestmark", "path26", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017637800002034965}}, {"call": {"outcome": "passed", "duration": 0.00037668999999596053}, "setup": {"outcome": "passed", "duration": 0.000384765000006837}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path27]", "outcome": "passed", "keywords": ["test_read_old_pickles[path27]", "parametrize", "pytestmark", "path27", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017317100000013852}}, {"call": {"outcome": "passed", "duration": 0.00038841200000661047}, "setup": {"outcome": "passed", "duration": 0.00036490800002297874}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path28]", "outcome": "passed", "keywords": ["test_read_old_pickles[path28]", "parametrize", "pytestmark", "path28", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017170899999996436}}, {"call": {"outcome": "passed", "duration": 0.00035549099999343525}, "setup": {"outcome": "passed", "duration": 0.0003872689999866452}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path29]", "outcome": "passed", "keywords": ["test_read_old_pickles[path29]", "parametrize", "pytestmark", "path29", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018991299998560862}}, {"call": {"outcome": "passed", "duration": 0.00037510600000700833}, "setup": {"outcome": "passed", "duration": 0.00035851699999511766}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path30]", "outcome": "passed", "keywords": ["test_read_old_pickles[path30]", "parametrize", "pytestmark", "path30", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001691539999910674}}, {"call": {"outcome": "passed", "duration": 0.00036388600000236693}, "setup": {"outcome": "passed", "duration": 0.00038358300000140844}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path31]", "outcome": "passed", "keywords": ["test_read_old_pickles[path31]", "parametrize", "pytestmark", "path31", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017952299998569288}}, {"call": {"outcome": "passed", "duration": 0.00036193299999354167}, "setup": {"outcome": "passed", "duration": 0.00039667699999768047}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path32]", "outcome": "passed", "keywords": ["test_read_old_pickles[path32]", "parametrize", "pytestmark", "path32", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001708479999820156}}, {"call": {"outcome": "passed", "duration": 0.0003777409999941028}, "setup": {"outcome": "passed", "duration": 0.00036613999998280633}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path33]", "outcome": "passed", "keywords": ["test_read_old_pickles[path33]", "parametrize", "pytestmark", "path33", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016890300000227398}}, {"call": {"outcome": "passed", "duration": 0.0003614819999882002}, "setup": {"outcome": "passed", "duration": 0.0003840539999941939}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path34]", "outcome": "passed", "keywords": ["test_read_old_pickles[path34]", "parametrize", "pytestmark", "path34", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018797900000322443}}, {"call": {"outcome": "passed", "duration": 0.0003904250000061893}, "setup": {"outcome": "passed", "duration": 0.0003602289999946606}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path35]", "outcome": "passed", "keywords": ["test_read_old_pickles[path35]", "parametrize", "pytestmark", "path35", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017014599998788071}}, {"call": {"outcome": "passed", "duration": 0.0003579339999930653}, "setup": {"outcome": "passed", "duration": 0.00037919400000419046}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path36]", "outcome": "passed", "keywords": ["test_read_old_pickles[path36]", "parametrize", "pytestmark", "path36", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017162899999334513}}, {"call": {"outcome": "passed", "duration": 0.00035759499999699074}, "setup": {"outcome": "passed", "duration": 0.0003559319999908439}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path37]", "outcome": "passed", "keywords": ["test_read_old_pickles[path37]", "parametrize", "pytestmark", "path37", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017044699998791657}}, {"call": {"outcome": "passed", "duration": 0.00035879600000043865}, "setup": {"outcome": "passed", "duration": 0.0003537870000229759}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path38]", "outcome": "passed", "keywords": ["test_read_old_pickles[path38]", "parametrize", "pytestmark", "path38", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002513670000041657}}, {"call": {"outcome": "passed", "duration": 0.000366800999984207}, "setup": {"outcome": "passed", "duration": 0.0003903949999823908}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path39]", "outcome": "passed", "keywords": ["test_read_old_pickles[path39]", "parametrize", "pytestmark", "path39", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019153599998844584}}, {"call": {"outcome": "passed", "duration": 0.0003837730000100237}, "setup": {"outcome": "passed", "duration": 0.0003841429999908996}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path40]", "outcome": "passed", "keywords": ["test_read_old_pickles[path40]", "parametrize", "pytestmark", "path40", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017208899998877314}}, {"call": {"outcome": "passed", "duration": 0.00035869699999580007}, "setup": {"outcome": "passed", "duration": 0.000366049999996676}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path41]", "outcome": "passed", "keywords": ["test_read_old_pickles[path41]", "parametrize", "pytestmark", "path41", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017113800001311574}}, {"call": {"outcome": "passed", "duration": 0.0003597580000018752}, "setup": {"outcome": "passed", "duration": 0.0003618119999941882}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path42]", "outcome": "passed", "keywords": ["test_read_old_pickles[path42]", "parametrize", "pytestmark", "path42", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001701760000116792}}, {"call": {"outcome": "passed", "duration": 0.00038601699998253025}, "setup": {"outcome": "passed", "duration": 0.0003770300000098814}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path43]", "outcome": "passed", "keywords": ["test_read_old_pickles[path43]", "parametrize", "pytestmark", "path43", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001728510000020833}}, {"call": {"outcome": "passed", "duration": 0.0003634549999844694}, "setup": {"outcome": "passed", "duration": 0.00048236500001053173}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path44]", "outcome": "passed", "keywords": ["test_read_old_pickles[path44]", "parametrize", "pytestmark", "path44", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019518300001664102}}, {"call": {"outcome": "passed", "duration": 0.00036259300000551775}, "setup": {"outcome": "passed", "duration": 0.00036015899999597423}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path45]", "outcome": "passed", "keywords": ["test_read_old_pickles[path45]", "parametrize", "pytestmark", "path45", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001702460000103656}}, {"call": {"outcome": "passed", "duration": 0.0003809670000123333}, "setup": {"outcome": "passed", "duration": 0.0003624729999955889}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path46]", "outcome": "passed", "keywords": ["test_read_old_pickles[path46]", "parametrize", "pytestmark", "path46", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016982600001824721}}, {"call": {"outcome": "passed", "duration": 0.00036365500000101747}, "setup": {"outcome": "passed", "duration": 0.0003803660000016862}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path47]", "outcome": "passed", "keywords": ["test_read_old_pickles[path47]", "parametrize", "pytestmark", "path47", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001937400000144862}}, {"call": {"outcome": "passed", "duration": 0.0003847039999982371}, "setup": {"outcome": "passed", "duration": 0.0003659900000059224}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path48]", "outcome": "passed", "keywords": ["test_read_old_pickles[path48]", "parametrize", "pytestmark", "path48", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017036699998129734}}, {"call": {"outcome": "passed", "duration": 0.00036636000001522007}, "setup": {"outcome": "passed", "duration": 0.00038854199999605044}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path49]", "outcome": "passed", "keywords": ["test_read_old_pickles[path49]", "parametrize", "pytestmark", "path49", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017296199999350392}}, {"call": {"outcome": "passed", "duration": 0.00037455599999702827}, "setup": {"outcome": "passed", "duration": 0.000375657000006413}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path50]", "outcome": "passed", "keywords": ["test_read_old_pickles[path50]", "parametrize", "pytestmark", "path50", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001707769999939046}}, {"call": {"outcome": "passed", "duration": 0.0003775509999854876}, "setup": {"outcome": "passed", "duration": 0.0003618020000146771}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path51]", "outcome": "passed", "keywords": ["test_read_old_pickles[path51]", "parametrize", "pytestmark", "path51", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017149800001448057}}, {"call": {"outcome": "passed", "duration": 0.0003595080000025064}, "setup": {"outcome": "passed", "duration": 0.00039522399998759283}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path52]", "outcome": "passed", "keywords": ["test_read_old_pickles[path52]", "parametrize", "pytestmark", "path52", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019269800000643045}}, {"call": {"outcome": "passed", "duration": 0.0003832219999821973}, "setup": {"outcome": "passed", "duration": 0.00036209200001735553}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path53]", "outcome": "passed", "keywords": ["test_read_old_pickles[path53]", "parametrize", "pytestmark", "path53", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001715079999939917}}, {"call": {"outcome": "passed", "duration": 0.00035696300000154224}, "setup": {"outcome": "passed", "duration": 0.00038059700000303565}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path54]", "outcome": "passed", "keywords": ["test_read_old_pickles[path54]", "parametrize", "pytestmark", "path54", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019304799999986244}}, {"call": {"outcome": "passed", "duration": 0.0003593769999952201}, "setup": {"outcome": "passed", "duration": 0.0003606390000072679}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path55]", "outcome": "passed", "keywords": ["test_read_old_pickles[path55]", "parametrize", "pytestmark", "path55", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016995600000768718}}, {"call": {"outcome": "passed", "duration": 0.0003622530000200186}, "setup": {"outcome": "passed", "duration": 0.0003648979999866242}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path56]", "outcome": "passed", "keywords": ["test_read_old_pickles[path56]", "parametrize", "pytestmark", "path56", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001723910000066553}}, {"call": {"outcome": "passed", "duration": 0.0003614910000067084}, "setup": {"outcome": "passed", "duration": 0.00037723099998743237}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path57]", "outcome": "passed", "keywords": ["test_read_old_pickles[path57]", "parametrize", "pytestmark", "path57", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017203000001586588}}, {"call": {"outcome": "passed", "duration": 0.00038041700000235323}, "setup": {"outcome": "passed", "duration": 0.0003677830000015092}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path58]", "outcome": "passed", "keywords": ["test_read_old_pickles[path58]", "parametrize", "pytestmark", "path58", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016940400001885791}}, {"call": {"outcome": "passed", "duration": 0.0003593779999846447}, "setup": {"outcome": "passed", "duration": 0.0003878910000025826}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path59]", "outcome": "passed", "keywords": ["test_read_old_pickles[path59]", "parametrize", "pytestmark", "path59", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019024299999159666}}, {"call": {"outcome": "passed", "duration": 0.0003831209999987095}, "setup": {"outcome": "passed", "duration": 0.0003601189999926646}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path60]", "outcome": "passed", "keywords": ["test_read_old_pickles[path60]", "parametrize", "pytestmark", "path60", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000171509000011838}}, {"call": {"outcome": "passed", "duration": 0.0003569829999889862}, "setup": {"outcome": "passed", "duration": 0.00037912499999492866}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path61]", "outcome": "passed", "keywords": ["test_read_old_pickles[path61]", "parametrize", "pytestmark", "path61", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017164899998078909}}, {"call": {"outcome": "passed", "duration": 0.00036241399999425994}, "setup": {"outcome": "passed", "duration": 0.00036378600000830374}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path62]", "outcome": "passed", "keywords": ["test_read_old_pickles[path62]", "parametrize", "pytestmark", "path62", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016804200001274694}}, {"call": {"outcome": "passed", "duration": 0.0003721710000093026}, "setup": {"outcome": "passed", "duration": 0.00036217300001339936}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path63]", "outcome": "passed", "keywords": ["test_read_old_pickles[path63]", "parametrize", "pytestmark", "path63", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016879300000027797}}, {"call": {"outcome": "passed", "duration": 0.00038772999999991953}, "setup": {"outcome": "passed", "duration": 0.00038973499999883643}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path64]", "outcome": "passed", "keywords": ["test_read_old_pickles[path64]", "parametrize", "pytestmark", "path64", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017241099999409926}}, {"call": {"outcome": "passed", "duration": 0.00037873399998034074}, "setup": {"outcome": "passed", "duration": 0.0003608199999973749}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path65]", "outcome": "passed", "keywords": ["test_read_old_pickles[path65]", "parametrize", "pytestmark", "path65", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017156900000259157}}, {"call": {"outcome": "passed", "duration": 0.0003651179999906162}, "setup": {"outcome": "passed", "duration": 0.00042416799999500654}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path66]", "outcome": "passed", "keywords": ["test_read_old_pickles[path66]", "parametrize", "pytestmark", "path66", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017658799998798713}}, {"call": {"outcome": "passed", "duration": 0.0003586059999918234}, "setup": {"outcome": "passed", "duration": 0.0003634150000095815}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path67]", "outcome": "passed", "keywords": ["test_read_old_pickles[path67]", "parametrize", "pytestmark", "path67", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022564899998656074}}, {"call": {"outcome": "passed", "duration": 0.00037946500000884953}, "setup": {"outcome": "passed", "duration": 0.0003650980000031723}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path68]", "outcome": "passed", "keywords": ["test_read_old_pickles[path68]", "parametrize", "pytestmark", "path68", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001720390000059524}}, {"call": {"outcome": "passed", "duration": 0.00036727200000541416}, "setup": {"outcome": "passed", "duration": 0.0003852659999949992}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path69]", "outcome": "passed", "keywords": ["test_read_old_pickles[path69]", "parametrize", "pytestmark", "path69", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018468299998630755}}, {"call": {"outcome": "passed", "duration": 0.00038225000000124965}, "setup": {"outcome": "passed", "duration": 0.0004515489999903366}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path70]", "outcome": "passed", "keywords": ["test_read_old_pickles[path70]", "parametrize", "pytestmark", "path70", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017894300000875774}}, {"call": {"outcome": "passed", "duration": 0.00036575900000457295}, "setup": {"outcome": "passed", "duration": 0.00036724200001003737}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path71]", "outcome": "passed", "keywords": ["test_read_old_pickles[path71]", "parametrize", "pytestmark", "path71", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017282099997828482}}, {"call": {"outcome": "passed", "duration": 0.00037276300000144147}, "setup": {"outcome": "passed", "duration": 0.0003908859999910419}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path72]", "outcome": "passed", "keywords": ["test_read_old_pickles[path72]", "parametrize", "pytestmark", "path72", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001721099999940634}}, {"call": {"outcome": "passed", "duration": 0.00038380300000540046}, "setup": {"outcome": "passed", "duration": 0.00038066700000172204}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path73]", "outcome": "passed", "keywords": ["test_read_old_pickles[path73]", "parametrize", "pytestmark", "path73", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017410299997777656}}, {"call": {"outcome": "passed", "duration": 0.000364507000000458}, "setup": {"outcome": "passed", "duration": 0.0004050219999953697}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path74]", "outcome": "passed", "keywords": ["test_read_old_pickles[path74]", "parametrize", "pytestmark", "path74", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001901839999902677}}, {"call": {"outcome": "passed", "duration": 0.00038600700000301913}, "setup": {"outcome": "passed", "duration": 0.00036150099998621954}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path75]", "outcome": "passed", "keywords": ["test_read_old_pickles[path75]", "parametrize", "pytestmark", "path75", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017319200000542878}}, {"call": {"outcome": "passed", "duration": 0.0003595479999773943}, "setup": {"outcome": "passed", "duration": 0.000366910999986203}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path76]", "outcome": "passed", "keywords": ["test_read_old_pickles[path76]", "parametrize", "pytestmark", "path76", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017587700000376572}}, {"call": {"outcome": "passed", "duration": 0.0004412389999970401}, "setup": {"outcome": "passed", "duration": 0.0003822000000184289}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path77]", "outcome": "passed", "keywords": ["test_read_old_pickles[path77]", "parametrize", "pytestmark", "path77", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020512100002179068}}, {"call": {"outcome": "passed", "duration": 0.0003892329999928279}, "setup": {"outcome": "passed", "duration": 0.00036952599998585356}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path78]", "outcome": "passed", "keywords": ["test_read_old_pickles[path78]", "parametrize", "pytestmark", "path78", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019213699999909295}}, {"call": {"outcome": "passed", "duration": 0.00036209300000678013}, "setup": {"outcome": "passed", "duration": 0.000368695000020125}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path79]", "outcome": "passed", "keywords": ["test_read_old_pickles[path79]", "parametrize", "pytestmark", "path79", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017429400000423811}}, {"call": {"outcome": "passed", "duration": 0.0003625740000074984}, "setup": {"outcome": "passed", "duration": 0.00036030900000127986}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path80]", "outcome": "passed", "keywords": ["test_read_old_pickles[path80]", "parametrize", "pytestmark", "path80", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017212999998150735}}, {"call": {"outcome": "passed", "duration": 0.0003993619999960174}, "setup": {"outcome": "passed", "duration": 0.00036438700001895086}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path81]", "outcome": "passed", "keywords": ["test_read_old_pickles[path81]", "parametrize", "pytestmark", "path81", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017208999997819774}}, {"call": {"outcome": "passed", "duration": 0.00036557900000389054}, "setup": {"outcome": "passed", "duration": 0.00038365200001067024}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path82]", "outcome": "passed", "keywords": ["test_read_old_pickles[path82]", "parametrize", "pytestmark", "path82", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021214400001667855}}, {"call": {"outcome": "passed", "duration": 0.00038837100001387626}, "setup": {"outcome": "passed", "duration": 0.0003778119999822138}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path83]", "outcome": "passed", "keywords": ["test_read_old_pickles[path83]", "parametrize", "pytestmark", "path83", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017654800001309923}}, {"call": {"outcome": "passed", "duration": 0.000346544000024096}, "setup": {"outcome": "passed", "duration": 0.00042226499999742373}, "lineno": 17, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_pop", "outcome": "passed", "keywords": ["test_pop", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015899500002092282}}, {"call": {"outcome": "passed", "duration": 0.00029003899999224814}, "setup": {"outcome": "passed", "duration": 0.0002876949999972567}, "lineno": 37, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_popitem", "outcome": "passed", "keywords": ["test_popitem", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017387200000484881}}, {"call": {"outcome": "passed", "duration": 0.00029187300000899086}, "setup": {"outcome": "passed", "duration": 0.00028034100000695616}, "lineno": 53, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_delete", "outcome": "passed", "keywords": ["test_delete", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015622999998754494}}, {"call": {"outcome": "passed", "duration": 0.0002467979999778436}, "setup": {"outcome": "passed", "duration": 0.0003008989999955247}, "lineno": 74, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_init", "outcome": "passed", "keywords": ["test_init", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015372600000773673}}, {"call": {"outcome": "passed", "duration": 0.0003386989999967227}, "setup": {"outcome": "passed", "duration": 0.0002787079999961861}, "lineno": 89, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_setitem", "outcome": "passed", "keywords": ["test_setitem", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015542899998877147}}, {"call": {"outcome": "passed", "duration": 0.0003413040000168621}, "setup": {"outcome": "passed", "duration": 0.0002721649999841702}, "lineno": 118, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_setattr", "outcome": "passed", "keywords": ["test_setattr", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015516900000989153}}, {"call": {"outcome": "passed", "duration": 0.0005961170000148286}, "setup": {"outcome": "passed", "duration": 0.0002746600000023136}, "lineno": 147, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_setdefault", "outcome": "passed", "keywords": ["test_setdefault", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001609589999986838}}, {"call": {"outcome": "passed", "duration": 0.00027523100001758394}, "setup": {"outcome": "passed", "duration": 0.0002911809999943671}, "lineno": 190, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_clear", "outcome": "passed", "keywords": ["test_clear", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015384599998924386}}, {"call": {"outcome": "passed", "duration": 0.0003133720000221274}, "setup": {"outcome": "passed", "duration": 0.00027688399998737623}, "lineno": 209, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_init_argument", "outcome": "passed", "keywords": ["test_init_argument", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017447400000492053}}, {"call": {"outcome": "passed", "duration": 0.000636041000007026}, "setup": {"outcome": "passed", "duration": 0.00027987999999368185}, "lineno": 227, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_defaults", "outcome": "passed", "keywords": ["test_defaults", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018007400001351925}}, {"call": {"outcome": "passed", "duration": 0.00030857300001230215}, "setup": {"outcome": "passed", "duration": 0.0002786679999928765}, "lineno": 251, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_set_readonly", "outcome": "passed", "keywords": ["test_set_readonly", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015437700000120458}}, {"call": {"outcome": "passed", "duration": 0.00037000700001499354}, "setup": {"outcome": "passed", "duration": 0.000298003000011704}, "lineno": 264, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_deepcopy_and_pickle", "outcome": "passed", "keywords": ["test_deepcopy_and_pickle", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015833400001952214}}, {"call": {"outcome": "passed", "duration": 0.00023577799998975024}, "setup": {"outcome": "passed", "duration": 0.00028562099998907797}, "lineno": 279, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_compare_with_dict", "outcome": "passed", "keywords": ["test_compare_with_dict", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015414599999985512}}, {"call": {"outcome": "passed", "duration": 0.00030481600001053266}, "setup": {"outcome": "passed", "duration": 0.0002711139999860279}, "lineno": 288, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_pretty_str", "outcome": "passed", "keywords": ["test_pretty_str", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015240300001551077}}, {"call": {"outcome": "passed", "duration": 0.0003552999999953954}, "setup": {"outcome": "passed", "duration": 0.0002737080000088099}, "lineno": 305, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_types", "outcome": "passed", "keywords": ["test_types", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001651470000183508}}, {"call": {"outcome": "passed", "duration": 0.0017668920000062371}, "setup": {"outcome": "passed", "duration": 0.0004827169999828129}, "lineno": 18, "nodeid": "core/tests/test_util_base.py::TestUtilBase::test_get_matplotlib_version", "outcome": "passed", "keywords": ["test_get_matplotlib_version", "filterwarnings", "TestUtilBase", "test_util_base.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017649699998401047}}, {"call": {"outcome": "passed", "duration": 0.0007981429999972534}, "setup": {"outcome": "passed", "duration": 0.00030200099999433405}, "lineno": 33, "nodeid": "core/tests/test_util_base.py::TestUtilBase::test_named_temporay_file__context_manager", "outcome": "passed", "keywords": ["test_named_temporay_file__context_manager", "filterwarnings", "TestUtilBase", "test_util_base.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001676109999948494}}, {"call": {"outcome": "passed", "duration": 0.008141785999981721}, "setup": {"outcome": "passed", "duration": 0.0002936460000171337}, "lineno": 58, "nodeid": "core/tests/test_util_base.py::TestUtilBase::test_mock_read_inventory_http_errors", "outcome": "passed", "keywords": ["test_mock_read_inventory_http_errors", "filterwarnings", "TestUtilBase", "test_util_base.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002130059999956302}}, {"call": {"outcome": "passed", "duration": 0.0008095670000045629}, "setup": {"outcome": "passed", "duration": 0.00032025000001567605}, "lineno": 74, "nodeid": "core/tests/test_util_base.py::TestUtilBase::test_sanitize_filename", "outcome": "passed", "keywords": ["test_sanitize_filename", "filterwarnings", "TestUtilBase", "test_util_base.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001898339999968357}}, {"call": {"outcome": "passed", "duration": 0.0008250550000070689}, "setup": {"outcome": "passed", "duration": 0.000292900999994572}, "lineno": 84, "nodeid": "core/tests/test_util_base.py::TestUtilBase::test_create_empty_data_chunk", "outcome": "passed", "keywords": ["test_create_empty_data_chunk", "filterwarnings", "TestUtilBase", "test_util_base.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016951699998912773}}, {"call": {"outcome": "passed", "duration": 0.000287149999991243}, "setup": {"outcome": "passed", "duration": 0.00028838299999733863}, "lineno": 103, "nodeid": "core/tests/test_util_base.py::TestUtilBase::test_comparing_object_eq", "outcome": "passed", "keywords": ["test_comparing_object_eq", "filterwarnings", "TestUtilBase", "test_util_base.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016112300002646407}}, {"call": {"outcome": "passed", "duration": 0.0051166609999881985}, "setup": {"outcome": "passed", "duration": 0.00041935000001558365}, "lineno": 6, "nodeid": "core/tests/test_util_decorator.py::TestUtilDecorator::test_map_example_filename", "outcome": "passed", "keywords": ["test_map_example_filename", "filterwarnings", "TestUtilDecorator", "test_util_decorator.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019146700000760575}}, {"call": {"outcome": "passed", "duration": 0.0003646410000044398}, "setup": {"outcome": "passed", "duration": 0.00043838400000595357}, "lineno": 20, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_supress_output", "outcome": "passed", "keywords": ["test_supress_output", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001764689999959046}}, {"call": {"outcome": "passed", "duration": 0.00037149300001715346}, "setup": {"outcome": "passed", "duration": 0.0003259210000123858}, "lineno": 32, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_catch_output", "outcome": "passed", "keywords": ["test_catch_output", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016583999999397747}}, {"call": {"outcome": "passed", "duration": 0.00028794199999993}, "setup": {"outcome": "passed", "duration": 0.0002896049999776551}, "lineno": 53, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_catch_output_bytes", "outcome": "passed", "keywords": ["test_catch_output_bytes", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015557099999341517}}, {"call": {"outcome": "passed", "duration": 0.0004252899999812598}, "setup": {"outcome": "passed", "duration": 0.000302618000006305}, "lineno": 61, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_catch_output_io", "outcome": "passed", "keywords": ["test_catch_output_io", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001927890000104071}}, {"call": {"outcome": "passed", "duration": 0.0005051359999868055}, "setup": {"outcome": "passed", "duration": 0.00029356199999597266}, "lineno": 76, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_no_obspy_imports", "outcome": "passed", "keywords": ["test_no_obspy_imports", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015752599998108963}}, {"call": {"outcome": "passed", "duration": 0.0005209640000032323}, "setup": {"outcome": "passed", "duration": 0.00028667000000837106}, "lineno": 97, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_1", "outcome": "passed", "keywords": ["test_get_window_times_1", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001578260000201226}}, {"call": {"outcome": "passed", "duration": 0.00036994000001300265}, "setup": {"outcome": "passed", "duration": 0.00030407099998797094}, "lineno": 116, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_2", "outcome": "passed", "keywords": ["test_get_window_times_2", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015422000001308334}}, {"call": {"outcome": "passed", "duration": 0.00045173799998110553}, "setup": {"outcome": "passed", "duration": 0.0002777939999987211}, "lineno": 134, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_3", "outcome": "passed", "keywords": ["test_get_window_times_3", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016120199998681528}}, {"call": {"outcome": "passed", "duration": 0.0003236069999843494}, "setup": {"outcome": "passed", "duration": 0.00030449199999793564}, "lineno": 151, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_4", "outcome": "passed", "keywords": ["test_get_window_times_4", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015683399999488756}}, {"call": {"outcome": "passed", "duration": 0.00037571099997535384}, "setup": {"outcome": "passed", "duration": 0.0002737869999975828}, "lineno": 166, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_5", "outcome": "passed", "keywords": ["test_get_window_times_5", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001545599999985825}}, {"call": {"outcome": "passed", "duration": 0.0004485229999886542}, "setup": {"outcome": "passed", "duration": 0.0002959370000041872}, "lineno": 183, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_6", "outcome": "passed", "keywords": ["test_get_window_times_6", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001702490000070611}}, {"call": {"outcome": "passed", "duration": 0.0003302890000043135}, "setup": {"outcome": "passed", "duration": 0.0002764110000157416}, "lineno": 202, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_7", "outcome": "passed", "keywords": ["test_get_window_times_7", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001556520000178807}}, {"call": {"outcome": "passed", "duration": 0.0003555140000059964}, "setup": {"outcome": "passed", "duration": 0.0002924190000044291}, "lineno": 216, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_8", "outcome": "passed", "keywords": ["test_get_window_times_8", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001546000000018921}}, {"call": {"outcome": "passed", "duration": 0.0005172369999968396}, "setup": {"outcome": "passed", "duration": 0.000278885000000173}, "lineno": 233, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_9", "outcome": "passed", "keywords": ["test_get_window_times_9", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015580299998418923}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003170976000006931, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_misc.py\", line 270, in test_entry_point_buffer\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002945239999974092}, "lineno": 253, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_entry_point_buffer", "outcome": "failed", "keywords": ["test_entry_point_buffer", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018920300001923351}}, {"call": {"outcome": "passed", "duration": 0.0005602649999900677}, "setup": {"outcome": "passed", "duration": 0.0003071470000008958}, "lineno": 277, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_yield_obj_parent_attr", "outcome": "passed", "keywords": ["test_yield_obj_parent_attr", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001834329999894635}}, {"call": {"outcome": "passed", "duration": 0.0002845660000048156}, "setup": {"outcome": "passed", "duration": 0.0002913980000016636}, "lineno": 308, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_warning_capture", "outcome": "passed", "keywords": ["test_warning_capture", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001612819999934345}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022975929999802247, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 21, in test_identical_traces\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042118300001448006}, "lineno": 15, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_identical_traces", "outcome": "failed", "keywords": ["test_identical_traces", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018025700001089717}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00266168299998526, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 31, in test_slightly_modified_data\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003031389999819112}, "lineno": 26, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_slightly_modified_data", "outcome": "error", "keywords": ["test_slightly_modified_data", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.0002561539999987872, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    |     return compile(source, filename, mode, flags,\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    |     return compile(source, filename, mode, flags,\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"outcome": "passed", "duration": 0.00048261399999205423}, "setup": {"outcome": "passed", "duration": 0.000334156000008079}, "lineno": 35, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_empty_traces", "outcome": "passed", "keywords": ["test_empty_traces", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018454499999620566}}, {"call": {"outcome": "passed", "duration": 0.0005780470000047444}, "setup": {"outcome": "passed", "duration": 0.0002853169999923466}, "lineno": 42, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_different_stats_no_processing", "outcome": "passed", "keywords": ["test_different_stats_no_processing", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016039099998010897}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002160394000014776, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 58, in test_processing\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028508700000884346}, "lineno": 52, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_processing", "outcome": "failed", "keywords": ["test_processing", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018590800002016294}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025728619999938473, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 71, in test_nan\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033315299998548653}, "lineno": 66, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_nan", "outcome": "error", "keywords": ["test_nan", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0002227840000159631, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1694, in __init__\n    def __init__(self, name=None, mode=\"r\", fileobj=None, format=None,\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00212391800002365, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 80, in test_unequal_trace_lengths\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003277240000159054}, "lineno": 75, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_unequal_trace_lengths", "outcome": "failed", "keywords": ["test_unequal_trace_lengths", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019317999999657332}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022192509999854337, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 88, in test_not_a_trace\n    tr1 = read()[0]\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032640100002367944}, "lineno": 83, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_not_a_trace", "outcome": "error", "keywords": ["test_not_a_trace", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0002723329999980706, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/traceback.py\", line 369, in _get_code_position\n    return next(itertools.islice(positions_gen, instruction_index // 2, None))\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025590170000100443, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 99, in test_stream_almost_equal\n    st1, st2 = read(), read()\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003801590000023225}, "lineno": 92, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_stream_almost_equal", "outcome": "failed", "keywords": ["test_stream_almost_equal", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002198980000116535}}, {"call": {"outcome": "passed", "duration": 0.0006234200000108103}, "setup": {"outcome": "passed", "duration": 0.00045673799999690345}, "lineno": 14, "nodeid": "core/tests/test_util_types.py::TestUtilTypes::test_enum", "outcome": "passed", "keywords": ["test_enum", "filterwarnings", "TestUtilTypes", "test_util_types.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001715509999939968}}, {"call": {"outcome": "passed", "duration": 0.0007431759999860788}, "setup": {"outcome": "passed", "duration": 0.00030667600000811035}, "lineno": 65, "nodeid": "core/tests/test_util_types.py::TestUtilTypes::test_complex", "outcome": "passed", "keywords": ["test_complex", "filterwarnings", "TestUtilTypes", "test_util_types.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016650200001322446}}, {"call": {"outcome": "passed", "duration": 0.0003016960000081781}, "setup": {"outcome": "passed", "duration": 0.0003202299999998104}, "lineno": 95, "nodeid": "core/tests/test_util_types.py::TestUtilTypes::test_floating_point_types_are_indempotent", "outcome": "passed", "keywords": ["test_floating_point_types_are_indempotent", "filterwarnings", "TestUtilTypes", "test_util_types.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018209000000979358}}, {"call": {"outcome": "passed", "duration": 0.0003838250000001153}, "setup": {"outcome": "passed", "duration": 0.00028930400000604095}, "lineno": 121, "nodeid": "core/tests/test_util_types.py::TestUtilTypes::test_comment_str", "outcome": "passed", "keywords": ["test_comment_str", "filterwarnings", "TestUtilTypes", "test_util_types.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001684850000174265}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.6932004290000009, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/collections/__init__.py\", line 449, in _make\n    result = tuple_new(cls, iterable)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.00040919100001701736}, "lineno": 43, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_raise_on_empty_file", "outcome": "failed", "keywords": ["test_raise_on_empty_file", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002938519999986511}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.3536271279999994, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 109, in test_read_and_write\n    st = read(outfile)\n         ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040511400001719267}, "lineno": 60, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_and_write", "outcome": "failed", "keywords": ["test_read_and_write", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026701400000206377}}, {"call": {"outcome": "passed", "duration": 1.0548795549999852}, "setup": {"outcome": "passed", "duration": 0.00039256200000181707}, "lineno": 196, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_is_format", "outcome": "passed", "keywords": ["test_is_format", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023928400000272632}}, {"call": {"outcome": "passed", "duration": 5.441086205999994}, "setup": {"outcome": "passed", "duration": 0.0003914099999917653}, "lineno": 281, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_thread_safe", "outcome": "passed", "keywords": ["test_read_thread_safe", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021943699999837918}}, {"call": {"outcome": "passed", "duration": 0.7013839199999836}, "setup": {"outcome": "passed", "duration": 0.0003688059999831239}, "lineno": 360, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_issue_193", "outcome": "passed", "keywords": ["test_issue_193", "filterwarnings", "pytestmark", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002172330000007605}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012064240000029258, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 397, in test_read_gzip2_file\n    st1 = read(ascii_path / 'tspair.ascii.gz')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004914750000182266}, "lineno": 392, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_gzip2_file", "outcome": "failed", "keywords": ["test_read_gzip2_file", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001859269999897606}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012430080000171984, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 405, in test_read_bzip2_file\n    st1 = read(ascii_path / 'slist.ascii.bz2')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003243109999857552}, "lineno": 400, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_bzip2_file", "outcome": "failed", "keywords": ["test_read_bzip2_file", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018954300000473268}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012296749999904932, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 414, in test_read_tar_archive\n    st1 = read(datapath / \"test.tar\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005449790000113808}, "lineno": 408, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_tar_archive", "outcome": "failed", "keywords": ["test_read_tar_archive", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001814599999931943}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011283970000022236, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 434, in test_read_zip_archive\n    st1 = read(datapath / 'test.zip')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036269899999297195}, "lineno": 429, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_zip_archive", "outcome": "failed", "keywords": ["test_read_zip_archive", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001843150000127025}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009077280000155952, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 448, in test_raise_on_unknown_format\n    read(tmpfile)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029327699999726065}, "lineno": 437, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_raise_on_unknown_format", "outcome": "failed", "keywords": ["test_raise_on_unknown_format", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001925089999872398}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.673174070999977, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 464, in test_deepcopy\n    stream_orig = read()\n                  ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002908319999903597}, "lineno": 449, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_deepcopy", "outcome": "failed", "keywords": ["test_deepcopy", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00029317599998535115}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.34538415800000166, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 509, in test_auto_file_format_during_writing\n    stream_trace = [read(), read()[0]]\n                    ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038672100001235776}, "lineno": 488, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_auto_file_format_during_writing", "outcome": "error", "keywords": ["test_auto_file_format_during_writing", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0003274869999927432, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/collections/__init__.py\", line 449, in _make\n    result = tuple_new(cls, iterable)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015159689999961756, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 556, in test_reading_tarfile_impostor\n    st = read(\"/path/to/tarfile_impostor.mseed\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004066459999876315}, "lineno": 548, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_reading_tarfile_impostor", "outcome": "failed", "keywords": ["test_reading_tarfile_impostor", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002132560000234207}}, {"call": {"outcome": "passed", "duration": 0.013185313000008136}, "setup": {"outcome": "passed", "duration": 0.000328157999973655}, "lineno": 558, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_invalid_filename", "outcome": "passed", "keywords": ["test_read_invalid_filename", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002706170000124075}}, {"call": {"outcome": "passed", "duration": 0.0050137369999845305}, "setup": {"outcome": "passed", "duration": 0.0005064519999962158}, "lineno": 30, "nodeid": "core/trace.py::obspy.core.trace.Stats", "outcome": "passed", "keywords": ["obspy.core.trace.Stats", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019096599999102182}}, {"call": {"outcome": "passed", "duration": 0.0030372469999804252}, "setup": {"outcome": "passed", "duration": 0.00035812999999507156}, "lineno": 458, "nodeid": "core/trace.py::obspy.core.trace.Trace.__len__", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.__len__", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017837400000075831}}, {"call": {"outcome": "failed", "duration": 0.005970531000002666, "longrepr": "569 \n570         :type num: int\n571         :param num: Number of samples in each trace in returned Stream. Last\n572             trace may contain lesser samples.\n573         :returns: New ObsPy Stream object.\n574 \n575         .. rubric:: Example\n576 \n577         >>> from obspy import read\n578         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.__mod__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:578: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003190810000148758}, "lineno": 566, "nodeid": "core/trace.py::obspy.core.trace.Trace.__mod__", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.__mod__", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019436299999142648}}, {"call": {"outcome": "failed", "duration": 0.005627476999990222, "longrepr": "500         Create a new Stream containing num copies of this trace.\n501 \n502         :type num: int\n503         :param num: Number of copies.\n504         :returns: New ObsPy Stream object.\n505 \n506         .. rubric:: Example\n507 \n508         >>> from obspy import read\n509         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.__mul__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:509: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031515399999193505}, "lineno": 498, "nodeid": "core/trace.py::obspy.core.trace.Trace.__mul__", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.__mul__", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017906499999753578}}, {"call": {"outcome": "passed", "duration": 0.0029067469999972673}, "setup": {"outcome": "passed", "duration": 0.00032211699999606935}, "lineno": 409, "nodeid": "core/trace.py::obspy.core.trace.Trace.__str__", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.__str__", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019163700000035533}}, {"call": {"outcome": "failed", "duration": 0.0062128780000136885, "longrepr": "525 \n526         :type num: int\n527         :param num: Number of traces in returned Stream. Last trace may contain\n528             lesser samples.\n529         :returns: New ObsPy Stream object.\n530 \n531         .. rubric:: Example\n532 \n533         >>> from obspy import read\n534         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.__truediv__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:534: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003137319999950705}, "lineno": 522, "nodeid": "core/trace.py::obspy.core.trace.Trace.__truediv__", "outcome": "error", "keywords": ["obspy.core.trace.Trace.__truediv__", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00023304000001189706, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 101, in _convert\n    |     return dict(zip(map(_convert, node.keys),\n    |                     ^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 101, in _convert\n    |     return dict(zip(map(_convert, node.keys),\n    |                     ^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"outcome": "passed", "duration": 0.0034012280000013106}, "setup": {"outcome": "passed", "duration": 0.00035643800001139425}, "lineno": 1001, "nodeid": "core/trace.py::obspy.core.trace.Trace._ltrim", "outcome": "passed", "keywords": ["obspy.core.trace.Trace._ltrim", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018506600000023354}}, {"call": {"outcome": "passed", "duration": 0.003125492999998869}, "setup": {"outcome": "passed", "duration": 0.0003251919999911479}, "lineno": 1068, "nodeid": "core/trace.py::obspy.core.trace.Trace._rtrim", "outcome": "passed", "keywords": ["obspy.core.trace.Trace._rtrim", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019818900000245776}}, {"call": {"outcome": "passed", "duration": 0.0031216459999825474}, "setup": {"outcome": "passed", "duration": 0.0003088839999918491}, "lineno": 2271, "nodeid": "core/trace.py::obspy.core.trace.Trace.copy", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.copy", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017490800001951357}}, {"call": {"outcome": "passed", "duration": 0.0032617720000018835}, "setup": {"outcome": "passed", "duration": 0.0003343280000080995}, "lineno": 1789, "nodeid": "core/trace.py::obspy.core.trace.Trace.decimate", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.decimate", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017695200000389377}}, {"call": {"outcome": "failed", "duration": 0.0059152839999967455, "longrepr": "2025             Subtracts a spline of a given order with a given number of\n2026             samples between spline nodes.\n2027             (uses :func:`obspy.signal.detrend.spline`).\n2028 \n2029         .. rubric:: Example\n2030 \n2031         Apply a third order spline detrend with 500 samples between nodes.\n2032 \n2033         >>> from obspy import read\n2034         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.detrend[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:2034: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031451399999582463}, "lineno": 1987, "nodeid": "core/trace.py::obspy.core.trace.Trace.detrend", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.detrend", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002106910000065909}}, {"call": {"outcome": "failed", "duration": 0.007106101000005083, "longrepr": "1527             FIR-Lowpass (uses :func:`obspy.signal.filter.lowpass_fir`).\n1528 \n1529         ``'remez_fir'`` (experimental)\n1530             Minimax optimal bandpass using Remez algorithm (uses\n1531             :func:`obspy.signal.filter.remez_fir`).\n1532 \n1533         .. rubric:: Example\n1534 \n1535         >>> from obspy import read\n1536         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.filter[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:1536: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003270850000092196}, "lineno": 1485, "nodeid": "core/trace.py::obspy.core.trace.Trace.filter", "outcome": "error", "keywords": ["obspy.core.trace.Trace.filter", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00022857199999748445, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1930, in gzopen\n    t = cls.taropen(name, mode, fileobj, **kwargs)\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1907, in taropen\n    return cls(name, mode, fileobj, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1765, in __init__\n    self.firstmember = self.next()\n                       ^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 2768, in next\n    raise e\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 2741, in next\n    tarinfo = self.tarinfo.fromtarfile(self)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1314, in fromtarfile\n    buf = tarfile.fileobj.read(BLOCKSIZE)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 338, in read\n    return self._buffer.read(size)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/_compression.py\", line 68, in readinto\n    data = self.read(len(byte_view))\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 544, in read\n    if not self._read_gzip_header():\n           ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 513, in _read_gzip_header\n    last_mtime = _read_gzip_header(self._fp)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 473, in _read_gzip_header\n    raise BadGzipFile('Not a gzipped file (%r)' % magic)\ngzip.BadGzipFile: Not a gzipped file (b'<?')\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 364, in close\n    def close(self):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "passed", "duration": 0.0028976509999836253}, "setup": {"outcome": "passed", "duration": 0.00036326899999039597}, "lineno": 857, "nodeid": "core/trace.py::obspy.core.trace.Trace.get_id", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.get_id", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016640299998016417}}, {"call": {"outcome": "passed", "duration": 0.002758106000015914}, "setup": {"outcome": "passed", "duration": 0.00033403799997699934}, "lineno": 857, "nodeid": "core/trace.py::obspy.core.trace.Trace.id", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.id", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016213600000014594}}, {"call": {"outcome": "failed", "duration": 0.0057976970000197525, "longrepr": "2443         .. rubric:: _`New in version 0.11:`\n2444 \n2445         * New parameter ``time_shift``.\n2446         * New interpolation method ``lanczos``.\n2447 \n2448 \n2449         .. rubric:: _`Usage Examples`\n2450 \n2451         >>> from obspy import read\n2452         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.interpolate[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:2452: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033091200000967547}, "lineno": 2364, "nodeid": "core/trace.py::obspy.core.trace.Trace.interpolate", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.interpolate", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018689899999912996}}, {"call": {"outcome": "passed", "duration": 0.003103162999991582}, "setup": {"outcome": "passed", "duration": 0.0003453080000213049}, "lineno": 1872, "nodeid": "core/trace.py::obspy.core.trace.Trace.max", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.max", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001664830000152051}}, {"call": {"outcome": "passed", "duration": 0.003754329000003054}, "setup": {"outcome": "passed", "duration": 0.0003165480000006937}, "lineno": 2206, "nodeid": "core/trace.py::obspy.core.trace.Trace.normalize", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.normalize", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017954599999825405}}, {"call": {"outcome": "failed", "duration": 0.005897713000024396, "longrepr": "918         Create a simple graph of the current trace.\n919 \n920         Various options are available to change the appearance of the waveform\n921         plot. Please see :meth:`~obspy.core.stream.Stream.plot` method for all\n922         possible options.\n923 \n924         .. rubric:: Example\n925 \n926         >>> from obspy import read\n927         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.plot[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:927: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003179900000134239}, "lineno": 916, "nodeid": "core/trace.py::obspy.core.trace.Trace.plot", "outcome": "error", "keywords": ["obspy.core.trace.Trace.plot", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00023631600001294828, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/textwrap.py\", line 470, in indent\n    def indent(text, prefix, predicate=None):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "failed", "duration": 0.006098887999996805, "longrepr": "2731             response provided as\n2732             a (dataless) SEED or RESP file and when using the same\n2733             ``water_level`` and ``pre_filt`` (and options ``sacsim=True`` and\n2734             ``pitsasim=False`` which influence very minor details in detrending\n2735             and tapering).\n2736 \n2737         .. rubric:: Example\n2738 \n2739         >>> from obspy import read, read_inventory\n2740         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.remove_response[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:2740: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003709130000117966}, "lineno": 2689, "nodeid": "core/trace.py::obspy.core.trace.Trace.remove_response", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.remove_response", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019024499999886757}}, {"call": {"outcome": "failed", "duration": 0.005932775000019319, "longrepr": "3004         :type inventory: :class:`~obspy.core.inventory.inventory.Inventory`\n3005             or None.\n3006         :param inventory: Station metadata to use in search for adequate\n3007             response. If inventory parameter is not supplied, the response\n3008             has to be attached to the trace beforehand.\n3009 \n3010         .. rubric:: Example\n3011 \n3012         >>> from obspy import read, read_inventory\n3013         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.remove_sensitivity[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:3013: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00037747499999341017}, "lineno": 3000, "nodeid": "core/trace.py::obspy.core.trace.Trace.remove_sensitivity", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.remove_sensitivity", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018633799999179246}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00519060799999238, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/numpy/_core/arrayprint.py\", line 1065, in fillFormat\n    |     int_part, frac_part = zip(*(s.split('.') for s in strs))\n    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/numpy/_core/arrayprint.py\", line 1065, in fillFormat\n    |     int_part, frac_part = zip(*(s.split('.') for s in strs))\n    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}, "setup": {"outcome": "passed", "duration": 0.00033487999999692875}, "lineno": 1662, "nodeid": "core/trace.py::obspy.core.trace.Trace.resample", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.resample", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001989409999794134}}, {"call": {"outcome": "failed", "duration": 0.006099879000004194, "longrepr": "1403             original data, use :meth:`~obspy.core.trace.Trace.copy` to create\n1404             a copy of your trace object.\n1405             This also makes an entry with information on the applied processing\n1406             in ``stats.processing`` of this trace.\n1407 \n1408         .. rubric:: Example\n1409 \n1410         >>> from obspy import read\n1411         >>> from obspy.signal.invsim import corn_freq_2_paz\n1412         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.simulate[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:1412: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003372839999826738}, "lineno": 1350, "nodeid": "core/trace.py::obspy.core.trace.Trace.simulate", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.simulate", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001880009999979393}}, {"call": {"outcome": "passed", "duration": 0.003723834999988185}, "setup": {"outcome": "passed", "duration": 0.00035978300002170727}, "lineno": 1199, "nodeid": "core/trace.py::obspy.core.trace.Trace.slice", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.slice", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018004699998641627}}, {"call": {"outcome": "failed", "duration": 0.0059216049999974985, "longrepr": "1245         Please keep in mind that it only returns a new view of the original\n1246         data. Any modifications are applied to the original data as well. If\n1247         you don't want this you have to create a copy of the yielded\n1248         windows. Also be aware that if you modify the original data and you\n1249         have overlapping windows, all following windows are affected as well.\n1250 \n1251         .. rubric:: Example\n1252 \n1253         >>> import obspy\n1254         >>> tr = obspy.read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.slide[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:1254: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003675069999928837}, "lineno": 1241, "nodeid": "core/trace.py::obspy.core.trace.Trace.slide", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.slide", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018376299999545154}}, {"call": {"outcome": "failed", "duration": 0.006526080000014645, "longrepr": "943 \n944         Create a spectrogram plot of the trace.\n945 \n946         For details on kwargs that can be used to customize the spectrogram\n947         plot see :func:`~obspy.imaging.spectrogram.spectrogram`.\n948 \n949         .. rubric:: Example\n950 \n951         >>> from obspy import read\n952         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.spectrogram[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:952: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003404490000207261}, "lineno": 942, "nodeid": "core/trace.py::obspy.core.trace.Trace.spectrogram", "outcome": "error", "keywords": ["obspy.core.trace.Trace.spectrogram", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00024113399999237117, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 102, in _convert\n    |     map(_convert, node.values)))\n    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 102, in _convert\n    |     map(_convert, node.values)))\n    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"outcome": "passed", "duration": 0.0031699410000101125}, "setup": {"outcome": "passed", "duration": 0.0003460789999962799}, "lineno": 1896, "nodeid": "core/trace.py::obspy.core.trace.Trace.std", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.std", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018344299999739633}}, {"call": {"outcome": "failed", "duration": 0.006025407999999288, "longrepr": "2542             and :func:`matplotlib.dates.date2num`, ``type=\"matplotlib\"``)\n2543 \n2544         .. note::\n2545             The option ``type=\"utcdatetime\"`` shouldn't be used for Traces with\n2546             a large sample size as it will generate an array of thousands of\n2547             :class:`UTCDateTime.timestamp <obspy.core.utcdatetime.UTCDateTime>`\n2548             objects.\n2549 \n2550         >>> from obspy import read, UTCDateTime\n2551         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.times[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:2551: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032829799999944953}, "lineno": 2525, "nodeid": "core/trace.py::obspy.core.trace.Trace.times", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.times", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022653899998203997}}, {"call": {"outcome": "failed", "duration": 0.005967597000022806, "longrepr": "1615             Computes the modified energy ratio characteristic function (uses\n1616             :func:`obspy.signal.trigger.modified_energy_ratio`).\n1617 \n1618         ``'zdetect'``\n1619             Z-detector (uses :func:`obspy.signal.trigger.z_detect`).\n1620 \n1621         .. rubric:: Example\n1622 \n1623         >>> from obspy import read\n1624         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.trigger[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:1624: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003524809999930767}, "lineno": 1564, "nodeid": "core/trace.py::obspy.core.trace.Trace.trigger", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.trigger", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001988399999959256}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.004288229999986015, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/coverage/collector.py\", line 239, in lock_data\n    |     def lock_data(self) -> None:\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/coverage/collector.py\", line 239, in lock_data\n    |     def lock_data(self) -> None:\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}, "setup": {"outcome": "passed", "duration": 0.00038588000001027467}, "lineno": 1130, "nodeid": "core/trace.py::obspy.core.trace.Trace.trim", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.trim", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020796600000494436}}, {"call": {"outcome": "passed", "duration": 0.0033532530000002225}, "setup": {"outcome": "passed", "duration": 0.0003535620000150175}, "lineno": 1305, "nodeid": "core/trace.py::obspy.core.trace.Trace.verify", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.verify", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001852659999883599}}, {"call": {"outcome": "passed", "duration": 0.0029344260000243594}, "setup": {"outcome": "passed", "duration": 0.0003673869999829549}, "lineno": 971, "nodeid": "core/trace.py::obspy.core.trace.Trace.write", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.write", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001786450000054174}}, {"call": {"outcome": "passed", "duration": 0.00716643600000566}, "setup": {"outcome": "passed", "duration": 0.0004246469999884539}, "lineno": 54, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020665399998165412}}, {"call": {"outcome": "passed", "duration": 0.0031091829999922993}, "setup": {"outcome": "passed", "duration": 0.0003680369999869981}, "lineno": 976, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__add__", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.__add__", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020558099998879698}}, {"call": {"outcome": "passed", "duration": 0.003126745000002984}, "setup": {"outcome": "passed", "duration": 0.0003458989999955975}, "lineno": 1095, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__eq__", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.__eq__", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017993700001284196}}, {"call": {"outcome": "passed", "duration": 0.0028977409999981774}, "setup": {"outcome": "passed", "duration": 0.00035038699999745404}, "lineno": 656, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__float__", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.__float__", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001798060000055557}}, {"call": {"outcome": "passed", "duration": 0.0031438739999885}, "setup": {"outcome": "passed", "duration": 0.0003294200000141245}, "lineno": 1215, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__ge__", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.__ge__", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001999920000059774}}, {"call": {"outcome": "passed", "duration": 0.0031223059999945235}, "setup": {"outcome": "passed", "duration": 0.00032862899999486217}, "lineno": 1191, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__gt__", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.__gt__", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018801100000587212}}, {"call": {"outcome": "passed", "duration": 0.003064826000013454}, "setup": {"outcome": "passed", "duration": 0.0003629180000075394}, "lineno": 1167, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__le__", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.__le__", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001801269999930355}}, {"call": {"outcome": "passed", "duration": 0.0030664889999911793}, "setup": {"outcome": "passed", "duration": 0.00034074999999234024}, "lineno": 1143, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__lt__", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.__lt__", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021443800000042756}}, {"call": {"outcome": "passed", "duration": 0.003061169000005748}, "setup": {"outcome": "passed", "duration": 0.00034122099998512567}, "lineno": 1119, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__ne__", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.__ne__", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001947220000033667}}, {"call": {"outcome": "passed", "duration": 0.0028607859999851826}, "setup": {"outcome": "passed", "duration": 0.00035408300001904536}, "lineno": 1040, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__str__", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.__str__", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017665100000385792}}, {"call": {"outcome": "passed", "duration": 0.002939606000012418}, "setup": {"outcome": "passed", "duration": 0.0003330360000006749}, "lineno": 1010, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__sub__", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.__sub__", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017860500000210777}}, {"call": {"outcome": "passed", "duration": 0.002769516000000749}, "setup": {"outcome": "passed", "duration": 0.0003176390000021456}, "lineno": 1064, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__unicode__", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.__unicode__", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001805880000063098}}, {"call": {"outcome": "passed", "duration": 0.0027407050000078925}, "setup": {"outcome": "passed", "duration": 0.0003125599999975748}, "lineno": 698, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_date", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_date", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017449699998906}}, {"call": {"outcome": "passed", "duration": 0.00275792599998681}, "setup": {"outcome": "passed", "duration": 0.0003211759999999231}, "lineno": 671, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_datetime", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_datetime", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018644800002221018}}, {"call": {"outcome": "passed", "duration": 0.002727883000005704}, "setup": {"outcome": "passed", "duration": 0.0003268049999860523}, "lineno": 768, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_day", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_day", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001748180000049615}}, {"call": {"outcome": "passed", "duration": 0.002702577999997402}, "setup": {"outcome": "passed", "duration": 0.00030987599998866244}, "lineno": 829, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_hour", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_hour", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017599000000245724}}, {"call": {"outcome": "passed", "duration": 0.0028701930000067932}, "setup": {"outcome": "passed", "duration": 0.0003318039999840039}, "lineno": 1660, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_hours_after_midnight", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_hours_after_midnight", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018359300000270196}}, {"call": {"outcome": "passed", "duration": 0.0028360529999815753}, "setup": {"outcome": "passed", "duration": 0.00032155599998873186}, "lineno": 934, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_julday", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_julday", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000188072000014472}}, {"call": {"outcome": "passed", "duration": 0.0031412700000146287}, "setup": {"outcome": "passed", "duration": 0.00035598599998820646}, "lineno": 907, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_microsecond", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_microsecond", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019069500001478445}}, {"call": {"outcome": "passed", "duration": 0.0028601960000003146}, "setup": {"outcome": "passed", "duration": 0.0003799190000108865}, "lineno": 855, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_minute", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_minute", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001798460000088653}}, {"call": {"outcome": "passed", "duration": 0.0028352820000066004}, "setup": {"outcome": "passed", "duration": 0.00035569599998552803}, "lineno": 741, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_month", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_month", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017895499999553977}}, {"call": {"outcome": "passed", "duration": 0.0028181620000111707}, "setup": {"outcome": "passed", "duration": 0.000351399000010133}, "lineno": 1531, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_precision", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_precision", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001898339999968357}}, {"call": {"outcome": "passed", "duration": 0.0029058659999918746}, "setup": {"outcome": "passed", "duration": 0.0006036019999839937}, "lineno": 881, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_second", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_second", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020504099998674974}}, {"call": {"outcome": "passed", "duration": 0.0028813019999915923}, "setup": {"outcome": "passed", "duration": 0.0003376850000051945}, "lineno": 812, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_time", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_time", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017997700001615158}}, {"call": {"outcome": "passed", "duration": 0.0027612320000116597}, "setup": {"outcome": "passed", "duration": 0.00033633199998917007}, "lineno": 639, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_timestamp", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_timestamp", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001846950000015113}}, {"call": {"outcome": "passed", "duration": 0.0028315749999876516}, "setup": {"outcome": "passed", "duration": 0.00032214699999144614}, "lineno": 794, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_weekday", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_weekday", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018094899999709924}}, {"call": {"outcome": "passed", "duration": 0.0027510529999972277}, "setup": {"outcome": "passed", "duration": 0.0003436239999814461}, "lineno": 715, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_year", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._get_year", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017758299998149596}}, {"call": {"outcome": "passed", "duration": 0.0027792930000032356}, "setup": {"outcome": "passed", "duration": 0.0003339879999941786}, "lineno": 1547, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._set_precision", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime._set_precision", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018277199998806282}}, {"call": {"outcome": "passed", "duration": 0.002678795999997874}, "setup": {"outcome": "passed", "duration": 0.0003544540000177676}, "lineno": 1359, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.ctime", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.ctime", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001737959999843497}}, {"call": {"outcome": "passed", "duration": 0.002700825000005125}, "setup": {"outcome": "passed", "duration": 0.0003340979999961746}, "lineno": 698, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.date", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.date", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017336499999487387}}, {"call": {"outcome": "passed", "duration": 0.002734693999997262}, "setup": {"outcome": "passed", "duration": 0.00031197900000279333}, "lineno": 671, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.datetime", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.datetime", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001875099999892882}}, {"call": {"outcome": "passed", "duration": 0.0027340030000004845}, "setup": {"outcome": "passed", "duration": 0.0003165480000006937}, "lineno": 768, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.day", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.day", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017941599998039237}}, {"call": {"outcome": "passed", "duration": 0.0027282229999912033}, "setup": {"outcome": "passed", "duration": 0.0003249720000155776}, "lineno": 1337, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.dst", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.dst", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001778040000033343}}, {"call": {"outcome": "passed", "duration": 0.0027049120000128823}, "setup": {"outcome": "passed", "duration": 0.0003223080000225309}, "lineno": 1441, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.format_arclink", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.format_arclink", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019397099998741396}}, {"call": {"outcome": "passed", "duration": 0.002727480999993759}, "setup": {"outcome": "passed", "duration": 0.00031835100000421335}, "lineno": 1424, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.format_fissures", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.format_fissures", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019538399999419198}}, {"call": {"outcome": "passed", "duration": 0.002692560000014055}, "setup": {"outcome": "passed", "duration": 0.00030773200001021905}, "lineno": 1514, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.format_iris_web_service", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.format_iris_web_service", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001802669999904083}}, {"call": {"outcome": "passed", "duration": 0.0027822080000134974}, "setup": {"outcome": "passed", "duration": 0.0003191119999996772}, "lineno": 1474, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.format_seed", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.format_seed", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017674100001840998}}, {"call": {"outcome": "passed", "duration": 0.0026589809999961744}, "setup": {"outcome": "passed", "duration": 0.00030738099999894075}, "lineno": 1457, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.format_seedlink", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.format_seedlink", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001755190000096718}}, {"call": {"outcome": "passed", "duration": 0.0025903899999946134}, "setup": {"outcome": "passed", "duration": 0.00030935399999520996}, "lineno": 829, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.hour", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.hour", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017639099999655627}}, {"call": {"outcome": "passed", "duration": 0.00262218600002484}, "setup": {"outcome": "passed", "duration": 0.00032546299999580697}, "lineno": 1386, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.isocalendar", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.isocalendar", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017454700000030243}}, {"call": {"outcome": "passed", "duration": 0.0026609850000056667}, "setup": {"outcome": "passed", "duration": 0.0003221380000013596}, "lineno": 1403, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.isoformat", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.isoformat", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017548900001429502}}, {"call": {"outcome": "passed", "duration": 0.0025806330000079925}, "setup": {"outcome": "passed", "duration": 0.00030172200001743477}, "lineno": 1370, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.isoweekday", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.isoweekday", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019756699998652039}}, {"call": {"outcome": "passed", "duration": 0.002596130000000585}, "setup": {"outcome": "passed", "duration": 0.00030784200001221507}, "lineno": 934, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.julday", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.julday", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017156200001977595}}, {"call": {"outcome": "passed", "duration": 0.0026538919999836708}, "setup": {"outcome": "passed", "duration": 0.0003046460000177831}, "lineno": 1674, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.matplotlib_date", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.matplotlib_date", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001716520000059063}}, {"call": {"outcome": "passed", "duration": 0.0025957299999959105}, "setup": {"outcome": "passed", "duration": 0.0003253730000096766}, "lineno": 907, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.microsecond", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.microsecond", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001715820000072199}}, {"call": {"outcome": "passed", "duration": 0.002570305000006101}, "setup": {"outcome": "passed", "duration": 0.00032014399999980014}, "lineno": 855, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.minute", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.minute", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019492300000933938}}, {"call": {"outcome": "passed", "duration": 0.0025696339999967677}, "setup": {"outcome": "passed", "duration": 0.00030572800000072675}, "lineno": 741, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.month", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.month", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017273399998884997}}, {"call": {"outcome": "passed", "duration": 0.002579341000000568}, "setup": {"outcome": "passed", "duration": 0.0003051470000059453}, "lineno": 1531, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.precision", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.precision", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017543899997463086}}, {"call": {"outcome": "passed", "duration": 0.0029918769999994765}, "setup": {"outcome": "passed", "duration": 0.0003442950000192013}, "lineno": 1577, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.replace", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.replace", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017698199999927056}}, {"call": {"outcome": "passed", "duration": 0.002561940999981971}, "setup": {"outcome": "passed", "duration": 0.00043289199999207995}, "lineno": 881, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.second", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.second", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001760499999932108}}, {"call": {"outcome": "passed", "duration": 0.0028077430000053027}, "setup": {"outcome": "passed", "duration": 0.0003081430000122509}, "lineno": 812, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.time", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.time", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017575999999053238}}, {"call": {"outcome": "passed", "duration": 0.0025925839999842992}, "setup": {"outcome": "passed", "duration": 0.0003163970000059635}, "lineno": 639, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.timestamp", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.timestamp", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024433000001522487}}, {"call": {"outcome": "passed", "duration": 0.0025796820000039133}, "setup": {"outcome": "passed", "duration": 0.00032974000001217973}, "lineno": 1313, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.timetz", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.timetz", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017476700000429446}}, {"call": {"outcome": "passed", "duration": 0.0025625110000078166}, "setup": {"outcome": "passed", "duration": 0.00030235199997719064}, "lineno": 1630, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.toordinal", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.toordinal", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001927490000070975}}, {"call": {"outcome": "passed", "duration": 0.0025906510000197613}, "setup": {"outcome": "passed", "duration": 0.00030973600001971135}, "lineno": 1348, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.tzname", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.tzname", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018544599998904232}}, {"call": {"outcome": "passed", "duration": 0.002570535000018026}, "setup": {"outcome": "passed", "duration": 0.00031009599999265447}, "lineno": 1326, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.utcoffset", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.utcoffset", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001755890000083582}}, {"call": {"outcome": "passed", "duration": 0.0025896390000070824}, "setup": {"outcome": "passed", "duration": 0.0003331360000231598}, "lineno": 794, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.weekday", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.weekday", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017549899999380614}}, {"call": {"outcome": "passed", "duration": 0.0025878760000068723}, "setup": {"outcome": "passed", "duration": 0.00032798699999148084}, "lineno": 715, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.year", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.year", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002403039999876455}}, {"call": {"outcome": "passed", "duration": 0.0026449159999799576}, "setup": {"outcome": "passed", "duration": 0.0008759709999992538}, "lineno": 1, "nodeid": "core/util/__init__.py::obspy.core.util", "outcome": "passed", "keywords": ["obspy.core.util", "filterwarnings", "__init__.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017953599999032122}}, {"call": {"outcome": "passed", "duration": 0.002833838999976024}, "setup": {"outcome": "passed", "duration": 0.0004538080000031641}, "lineno": 41, "nodeid": "core/util/attribdict.py::obspy.core.util.attribdict.AttribDict", "outcome": "passed", "keywords": ["obspy.core.util.attribdict.AttribDict", "filterwarnings", "attribdict.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017655100000979473}}, {"call": {"outcome": "passed", "duration": 0.0026628279999840743}, "setup": {"outcome": "passed", "duration": 0.00033709400000248024}, "lineno": 72, "nodeid": "core/util/attribdict.py::obspy.core.util.attribdict.AttribDict.__init__", "outcome": "passed", "keywords": ["obspy.core.util.attribdict.AttribDict.__init__", "filterwarnings", "attribdict.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017595900001765585}}, {"call": {"outcome": "passed", "duration": 0.0034706900000003316}, "setup": {"outcome": "passed", "duration": 0.00044584499997313287}, "lineno": 78, "nodeid": "core/util/base.py::obspy.core.util.base.NamedTemporaryFile", "outcome": "passed", "keywords": ["obspy.core.util.base.NamedTemporaryFile", "filterwarnings", "base.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001689080000062404}}, {"call": {"outcome": "passed", "duration": 0.013630948000013632}, "setup": {"outcome": "passed", "duration": 0.00036058499998148363}, "lineno": 266, "nodeid": "core/util/base.py::obspy.core.util.base._get_entry_points", "outcome": "passed", "keywords": ["obspy.core.util.base._get_entry_points", "filterwarnings", "base.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002226119999875209}}, {"call": {"outcome": "passed", "duration": 0.00397921499998688}, "setup": {"outcome": "passed", "duration": 0.00042329499999027576}, "lineno": 379, "nodeid": "core/util/base.py::obspy.core.util.base._get_function_from_entry_point", "outcome": "passed", "keywords": ["obspy.core.util.base._get_function_from_entry_point", "filterwarnings", "base.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019449300000928815}}, {"call": {"outcome": "passed", "duration": 0.003340691000005336}, "setup": {"outcome": "passed", "duration": 0.00034283400000845177}, "lineno": 143, "nodeid": "core/util/base.py::obspy.core.util.base.create_empty_data_chunk", "outcome": "passed", "keywords": ["obspy.core.util.base.create_empty_data_chunk", "filterwarnings", "base.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017617999998265077}}, {"call": {"outcome": "passed", "duration": 0.012102728000002116}, "setup": {"outcome": "passed", "duration": 0.0003925000000037926}, "lineno": 188, "nodeid": "core/util/base.py::obspy.core.util.base.get_example_file", "outcome": "passed", "keywords": ["obspy.core.util.base.get_example_file", "filterwarnings", "base.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019261899998923582}}, {"call": {"outcome": "passed", "duration": 0.44059707799999615}, "setup": {"outcome": "passed", "duration": 0.00034265400000776935}, "lineno": 531, "nodeid": "core/util/base.py::obspy.core.util.base.make_format_plugin_table", "outcome": "passed", "keywords": ["obspy.core.util.base.make_format_plugin_table", "filterwarnings", "base.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003337299999941479}}, {"call": {"outcome": "passed", "duration": 0.003635801000001493}, "setup": {"outcome": "passed", "duration": 0.0005906169999718713}, "lineno": 17, "nodeid": "core/util/libnames.py::obspy.core.util.libnames.cleanse_pymodule_filename", "outcome": "passed", "keywords": ["obspy.core.util.libnames.cleanse_pymodule_filename", "filterwarnings", "libnames.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000200802999984262}}, {"call": {"outcome": "skipped", "duration": 0.00024952300000791183, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0004935270000032688}, "lineno": 247, "nodeid": "core/util/misc.py::obspy.core.util.misc.CatchOutput", "outcome": "skipped", "keywords": ["obspy.core.util.misc.CatchOutput", "filterwarnings", "misc.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020540200000596087}}, {"call": {"outcome": "skipped", "duration": 0.00023975499999551175, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003313549999859333}, "lineno": 344, "nodeid": "core/util/misc.py::obspy.core.util.misc.SuppressOutput", "outcome": "skipped", "keywords": ["obspy.core.util.misc.SuppressOutput", "filterwarnings", "misc.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017556599999579703}}, {"call": {"outcome": "skipped", "duration": 0.00020397899999125002, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00031797100001540457}, "lineno": 377, "nodeid": "core/util/misc.py::obspy.core.util.misc.TemporaryWorkingDirectory", "outcome": "skipped", "keywords": ["obspy.core.util.misc.TemporaryWorkingDirectory", "filterwarnings", "misc.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019687599998974292}}, {"call": {"outcome": "failed", "duration": 0.005516915000015388, "longrepr": "654         Only return objects that have attribute has_attr, if None return all.\n655 \n656     .. rubric:: General Usage\n657 \n658     Get a list of all resource_ids contained in an event, the objects they\n659     are attached to, and the attribute name on the parent object.\n660 \n661     >>> import obspy\n662     >>> from obspy.core.event import ResourceIdentifier\n663     >>> cat = obspy.read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.util.misc._yield_obj_parent_attr[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/misc.py:663: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003162270000132139}, "lineno": 637, "nodeid": "core/util/misc.py::obspy.core.util.misc._yield_obj_parent_attr", "outcome": "failed", "keywords": ["obspy.core.util.misc._yield_obj_parent_attr", "filterwarnings", "misc.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021925699999769677}}, {"call": {"outcome": "passed", "duration": 0.0030004119999773593}, "setup": {"outcome": "passed", "duration": 0.00037096900001643007}, "lineno": 164, "nodeid": "core/util/misc.py::obspy.core.util.misc.complexify_string", "outcome": "passed", "keywords": ["obspy.core.util.misc.complexify_string", "filterwarnings", "misc.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018281999999203435}}, {"call": {"outcome": "passed", "duration": 0.0033967669999981354}, "setup": {"outcome": "passed", "duration": 0.0005674139999882755}, "lineno": 402, "nodeid": "core/util/misc.py::obspy.core.util.misc.factorize_int", "outcome": "passed", "keywords": ["obspy.core.util.misc.factorize_int", "filterwarnings", "misc.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018092600001295978}}, {"call": {"outcome": "passed", "duration": 0.002860892999990483}, "setup": {"outcome": "passed", "duration": 0.0003283290000126726}, "lineno": 60, "nodeid": "core/util/misc.py::obspy.core.util.misc.guess_delta", "outcome": "passed", "keywords": ["obspy.core.util.misc.guess_delta", "filterwarnings", "misc.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019361900001513277}}, {"call": {"outcome": "passed", "duration": 0.0029840310000111003}, "setup": {"outcome": "passed", "duration": 0.000337637000001223}, "lineno": 90, "nodeid": "core/util/misc.py::obspy.core.util.misc.score_at_percentile", "outcome": "passed", "keywords": ["obspy.core.util.misc.score_at_percentile", "filterwarnings", "misc.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001835710000079871}}, {"call": {"outcome": "passed", "duration": 0.0026467559999900914}, "setup": {"outcome": "passed", "duration": 0.0003930700000012166}, "lineno": 185, "nodeid": "core/util/misc.py::obspy.core.util.misc.to_int_or_zero", "outcome": "passed", "keywords": ["obspy.core.util.misc.to_int_or_zero", "filterwarnings", "misc.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017842100001530525}}, {"call": {"outcome": "passed", "duration": 0.004394009999998616}, "setup": {"outcome": "passed", "duration": 0.0004611860000238721}, "lineno": 20, "nodeid": "core/util/obspy_types.py::obspy.core.util.obspy_types.Enum", "outcome": "passed", "keywords": ["obspy.core.util.obspy_types.Enum", "filterwarnings", "obspy_types.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018598599999108956}}, {"call": {"outcome": "passed", "duration": 0.003000962999976764}, "setup": {"outcome": "passed", "duration": 0.00032218800001260206}, "lineno": 146, "nodeid": "core/util/obspy_types.py::obspy.core.util.obspy_types.Enum.__repr__", "outcome": "passed", "keywords": ["obspy.core.util.obspy_types.Enum.__repr__", "filterwarnings", "obspy_types.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019655500000226311}}, {"call": {"outcome": "passed", "duration": 0.0029365829999790094}, "setup": {"outcome": "passed", "duration": 0.00032629599999722814}, "lineno": 129, "nodeid": "core/util/obspy_types.py::obspy.core.util.obspy_types.Enum.__str__", "outcome": "passed", "keywords": ["obspy.core.util.obspy_types.Enum.__str__", "filterwarnings", "obspy_types.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001706970000157071}}, {"call": {"outcome": "failed", "duration": 0.00612622599999213, "longrepr": "399 \n400     .. rubric:: Example\n401 \n402     1) Changes to the non-default parameters of the\n403         :class:`~obspy.core.trace.Stats` objects of the stream's contained\n404         :class:`~obspy.core.trace.Trace` objects will cause the streams to\n405         be considered unequal, but they will be considered almost equal.\n406 \n407         >>> from obspy import read\n408         >>> st1 = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.util.testing.streams_almost_equal[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/testing.py:408: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00048192499997412597}, "lineno": 380, "nodeid": "core/util/testing.py::obspy.core.util.testing.streams_almost_equal", "outcome": "failed", "keywords": ["obspy.core.util.testing.streams_almost_equal", "filterwarnings", "testing.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002093490000163456}}, {"call": {"outcome": "passed", "duration": 0.002697729000004756}, "setup": {"outcome": "passed", "duration": 0.0007947059999935391}, "lineno": 298, "nodeid": "geodetics/base.py::obspy.geodetics.base.degrees2kilometers", "outcome": "passed", "keywords": ["obspy.geodetics.base.degrees2kilometers", "filterwarnings", "base.py", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016406399998913912}}, {"call": {"outcome": "failed", "duration": 0.004750741999998809, "longrepr": "421     :param maxradius: Maximum distance, in degrees, from the reference\n422         geographic point defined by the latitude and longitude parameters.\n423     :return: ``True`` if the object is within the given range, ``False``\n424         otherwise.\n425 \n426     .. rubric:: Example\n427 \n428     >>> from obspy.geodetics import inside_geobounds\n429     >>> from obspy import read_events\n430     >>> ev = read_events()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.geodetics.base.inside_geobounds[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/geodetics/base.py:430: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003108470000086072}, "lineno": 391, "nodeid": "geodetics/base.py::obspy.geodetics.base.inside_geobounds", "outcome": "error", "keywords": ["obspy.geodetics.base.inside_geobounds", "filterwarnings", "base.py", "geodetics", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00021882599997979924, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    return compile(source, filename, mode, flags,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "passed", "duration": 0.002826448000007531}, "setup": {"outcome": "passed", "duration": 0.0003581750000023476}, "lineno": 274, "nodeid": "geodetics/base.py::obspy.geodetics.base.kilometers2degrees", "outcome": "passed", "keywords": ["obspy.geodetics.base.kilometers2degrees", "filterwarnings", "base.py", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001669809999782501}}, {"call": {"outcome": "passed", "duration": 0.0028029750000087006}, "setup": {"outcome": "passed", "duration": 0.0003452720000041154}, "lineno": 319, "nodeid": "geodetics/base.py::obspy.geodetics.base.locations2degrees", "outcome": "passed", "keywords": ["obspy.geodetics.base.locations2degrees", "filterwarnings", "base.py", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017172899998740832}}, {"call": {"outcome": "passed", "duration": 0.003242521000004217}, "setup": {"outcome": "passed", "duration": 0.00032555399999978363}, "lineno": 367, "nodeid": "geodetics/base.py::obspy.geodetics.base.mean_longitude", "outcome": "passed", "keywords": ["obspy.geodetics.base.mean_longitude", "filterwarnings", "base.py", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000171548000025723}}, {"call": {"outcome": "passed", "duration": 0.01226612799999316}, "setup": {"outcome": "passed", "duration": 0.0004781779999802893}, "lineno": 7, "nodeid": "geodetics/flinnengdahl.py::obspy.geodetics.flinnengdahl.FlinnEngdahl", "outcome": "passed", "keywords": ["obspy.geodetics.flinnengdahl.FlinnEngdahl", "filterwarnings", "flinnengdahl.py", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017511500001887725}}, {"call": {"outcome": "passed", "duration": 0.012129583999978877}, "setup": {"outcome": "passed", "duration": 0.0003325380000092082}, "lineno": 116, "nodeid": "geodetics/flinnengdahl.py::obspy.geodetics.flinnengdahl.FlinnEngdahl.get_number", "outcome": "passed", "keywords": ["obspy.geodetics.flinnengdahl.FlinnEngdahl.get_number", "filterwarnings", "flinnengdahl.py", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020420900000317488}}, {"call": {"outcome": "passed", "duration": 0.012436454000010144}, "setup": {"outcome": "passed", "duration": 0.0003767100000118262}, "lineno": 163, "nodeid": "geodetics/flinnengdahl.py::obspy.geodetics.flinnengdahl.FlinnEngdahl.get_region", "outcome": "passed", "keywords": ["obspy.geodetics.flinnengdahl.FlinnEngdahl.get_region", "filterwarnings", "flinnengdahl.py", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002015839999955915}}, {"call": {"outcome": "passed", "duration": 0.012241792999986956}, "setup": {"outcome": "passed", "duration": 0.0003433280000137984}, "lineno": 186, "nodeid": "geodetics/flinnengdahl.py::obspy.geodetics.flinnengdahl.FlinnEngdahl.get_region_by_number", "outcome": "passed", "keywords": ["obspy.geodetics.flinnengdahl.FlinnEngdahl.get_region_by_number", "filterwarnings", "flinnengdahl.py", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019017300002133197}}, {"call": {"outcome": "passed", "duration": 0.049231130999999095}, "setup": {"outcome": "passed", "duration": 0.001203725000010536}, "lineno": 9, "nodeid": "geodetics/tests/test_util_flinnengdahl.py::TestUtilFlinnEngdahl::test_coordinates", "outcome": "passed", "keywords": ["test_coordinates", "filterwarnings", "TestUtilFlinnEngdahl", "test_util_flinnengdahl.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002316500000176802}}, {"call": {"outcome": "passed", "duration": 0.011361448000002383}, "setup": {"outcome": "passed", "duration": 0.000394903000000113}, "lineno": 27, "nodeid": "geodetics/tests/test_util_flinnengdahl.py::TestUtilFlinnEngdahl::test_script", "outcome": "passed", "keywords": ["test_script", "filterwarnings", "TestUtilFlinnEngdahl", "test_util_flinnengdahl.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028244399999266534}}, {"call": {"outcome": "passed", "duration": 0.002134583999975348}, "setup": {"outcome": "passed", "duration": 0.00045609700001136844}, "lineno": 22, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_calc_vincenty_inverse", "outcome": "passed", "keywords": ["test_calc_vincenty_inverse", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001776600000198414}}, {"call": {"outcome": "passed", "duration": 0.0010643070000071475}, "setup": {"outcome": "passed", "duration": 0.000320444999999836}, "lineno": 71, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_gps_2_dist_azimuth_with_geographiclib", "outcome": "passed", "keywords": ["test_gps_2_dist_azimuth_with_geographiclib", "skipif", "pytestmark", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017526599998518577}}, {"call": {"outcome": "passed", "duration": 0.0003112290000046869}, "setup": {"outcome": "passed", "duration": 0.0002881549999926847}, "lineno": 94, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_calc_vincenty_inverse_2", "outcome": "passed", "keywords": ["test_calc_vincenty_inverse_2", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016714100001991028}}, {"call": {"outcome": "passed", "duration": 0.0004560570000080588}, "setup": {"outcome": "passed", "duration": 0.0002757409999958327}, "lineno": 130, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_calc_vincenty_inverse_tabulated", "outcome": "passed", "keywords": ["test_calc_vincenty_inverse_tabulated", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016597800001250107}}, {"setup": {"outcome": "skipped", "duration": 0.00018206699999723241, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/geodetics/tests/test_util_geodetics.py', 195, 'Skipped: Geographiclib installed, not using calc_vincenty_inverse')"}, "lineno": 194, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_gps_2_dist_azimuth_bug150", "outcome": "skipped", "keywords": ["test_gps_2_dist_azimuth_bug150", "skipif", "pytestmark", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017633799998861832}}, {"call": {"outcome": "passed", "duration": 0.0002270720000012716}, "setup": {"outcome": "passed", "duration": 0.000280992000000424}, "lineno": 209, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_kilometer2degrees", "outcome": "passed", "keywords": ["test_kilometer2degrees", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016455599998721482}}, {"call": {"outcome": "passed", "duration": 0.000230907999991814}, "setup": {"outcome": "passed", "duration": 0.00027259600000206774}, "lineno": 220, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_degrees2kilometers", "outcome": "passed", "keywords": ["test_degrees2kilometers", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016121999999541003}}, {"call": {"outcome": "passed", "duration": 0.0012963469999931476}, "setup": {"outcome": "passed", "duration": 0.0002914309999937359}, "lineno": 230, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_locations2degrees", "outcome": "passed", "keywords": ["test_locations2degrees", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018991299998560862}}, {"call": {"outcome": "passed", "duration": 0.0011380139999914718}, "setup": {"outcome": "passed", "duration": 0.0002851299999804269}, "lineno": 309, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_issue_375", "outcome": "passed", "keywords": ["test_issue_375", "skipif", "pytestmark", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001766780000025392}}, {"call": {"outcome": "passed", "duration": 0.0003592670000216458}, "setup": {"outcome": "passed", "duration": 0.0005107190000046558}, "lineno": 330, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_inside_geobounds", "outcome": "passed", "keywords": ["test_inside_geobounds", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019512200000804114}}, {"call": {"outcome": "failed", "duration": 0.0063779030000148396, "longrepr": "020 :class:`~obspy.core.stream.Stream` object and has various other optional\n021 arguments to adjust the plot, such as color and tick format changes.\n022 \n023 Additionally the start and end time of the plot can be given as\n024 :class:`~obspy.core.utcdatetime.UTCDateTime` objects.\n025 \n026 Examples files may be retrieved via https://examples.obspy.org.\n027 \n028 >>> from obspy import read\n029 >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.imaging[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/__init__.py:29: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008190609999871867}, "lineno": 0, "nodeid": "imaging/__init__.py::obspy.imaging", "outcome": "failed", "keywords": ["obspy.imaging", "filterwarnings", "__init__.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019213699999909295}}, {"call": {"outcome": "passed", "duration": 0.0032962810000185527}, "setup": {"outcome": "passed", "duration": 0.0004440550000026633}, "lineno": 1036, "nodeid": "imaging/beachball.py::obspy.imaging.beachball.MomentTensor", "outcome": "passed", "keywords": ["obspy.imaging.beachball.MomentTensor", "filterwarnings", "beachball.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016753099998823018}}, {"call": {"outcome": "passed", "duration": 0.002714580999992222}, "setup": {"outcome": "passed", "duration": 0.0003164270000013403}, "lineno": 1016, "nodeid": "imaging/beachball.py::obspy.imaging.beachball.NodalPlane", "outcome": "passed", "keywords": ["obspy.imaging.beachball.NodalPlane", "filterwarnings", "beachball.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016351400000758076}}, {"call": {"outcome": "passed", "duration": 0.0026444499999911386}, "setup": {"outcome": "passed", "duration": 0.000349980000009964}, "lineno": 996, "nodeid": "imaging/beachball.py::obspy.imaging.beachball.PrincipalAxis", "outcome": "passed", "keywords": ["obspy.imaging.beachball.PrincipalAxis", "filterwarnings", "beachball.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019160499999770764}}, {"call": {"outcome": "passed", "duration": 0.002659297999997534}, "setup": {"outcome": "passed", "duration": 0.0004320729999847117}, "lineno": 1, "nodeid": "imaging/cm.py::obspy.imaging.cm", "outcome": "passed", "keywords": ["obspy.imaging.cm", "filterwarnings", "cm.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016273299999625124}}, {"call": {"outcome": "passed", "duration": 0.0026055980000023737}, "setup": {"outcome": "passed", "duration": 0.0004145599999958449}, "lineno": 218, "nodeid": "imaging/mopad_wrapper.py::obspy.imaging.mopad_wrapper.beachball", "outcome": "passed", "keywords": ["obspy.imaging.mopad_wrapper.beachball", "filterwarnings", "mopad_wrapper.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017807000000402695}}, {"call": {"outcome": "passed", "duration": 0.0026480470000080913}, "setup": {"outcome": "passed", "duration": 0.0008276069999908486}, "lineno": 223, "nodeid": "imaging/scripts/scan.py::obspy.imaging.scripts.scan.Scanner", "outcome": "passed", "keywords": ["obspy.imaging.scripts.scan.Scanner", "filterwarnings", "scan.py", "scripts", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000167081000000735}}, {"call": {"outcome": "passed", "duration": 0.002664107000015292}, "setup": {"outcome": "passed", "duration": 0.00042195399998945504}, "lineno": 29, "nodeid": "imaging/spectrogram.py::obspy.imaging.spectrogram._nearest_pow_2", "outcome": "passed", "keywords": ["obspy.imaging.spectrogram._nearest_pow_2", "filterwarnings", "spectrogram.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001663390000032905}}, {"call": {"outcome": "passed", "duration": 0.00024354200002107973}, "setup": {"outcome": "passed", "duration": 0.0007955869999989318}, "lineno": 14, "nodeid": "imaging/tests/test_backend.py::TestBackend::test_backend", "outcome": "passed", "keywords": ["test_backend", "filterwarnings", "TestBackend", "test_backend.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016601799998738898}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.40718969799999627, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/weakref.py\", line 367, in __init__\n    def __init__(self, dict=None):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0005705490000025293}, "lineno": 19, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_beachball", "outcome": "failed", "keywords": ["test_beachball", "filterwarnings", "image", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031788999999093903}}, {"call": {"outcome": "passed", "duration": 0.4645860920000189}, "setup": {"outcome": "passed", "duration": 0.00038615799999774936}, "lineno": 75, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_beachball_output_format", "outcome": "passed", "keywords": ["test_beachball_output_format", "filterwarnings", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002963199999896915}}, {"call": {"outcome": "passed", "duration": 0.00033286800001519623}, "setup": {"outcome": "passed", "duration": 0.0004175459999942177}, "lineno": 109, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_strike_dip", "outcome": "passed", "keywords": ["test_strike_dip", "filterwarnings", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020350799999846458}}, {"call": {"outcome": "passed", "duration": 0.00039125600000033955}, "setup": {"outcome": "passed", "duration": 0.0003135820000181866}, "lineno": 120, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_aux_plane", "outcome": "passed", "keywords": ["test_aux_plane", "filterwarnings", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017452400001616297}}, {"call": {"outcome": "passed", "duration": 0.00030508700001519173}, "setup": {"outcome": "passed", "duration": 0.00030125899999688954}, "lineno": 141, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_aux_plane_735", "outcome": "passed", "keywords": ["test_aux_plane_735", "filterwarnings", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017566600001828192}}, {"call": {"outcome": "passed", "duration": 0.0002918219999799021}, "setup": {"outcome": "passed", "duration": 0.00029082000000357766}, "lineno": 150, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_tdl", "outcome": "passed", "keywords": ["test_tdl", "filterwarnings", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016886399998838897}}, {"call": {"outcome": "passed", "duration": 0.0005032649999918704}, "setup": {"outcome": "passed", "duration": 0.0002852700000062214}, "lineno": 161, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_mt2plane", "outcome": "passed", "keywords": ["test_mt2plane", "filterwarnings", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018664699999249024}}, {"call": {"outcome": "passed", "duration": 0.0004718460000106006}, "setup": {"outcome": "passed", "duration": 0.00030537699998944845}, "lineno": 171, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_mt2axes", "outcome": "passed", "keywords": ["test_mt2axes", "filterwarnings", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018479199999887896}}, {"call": {"outcome": "passed", "duration": 0.1761399560000143}, "setup": {"outcome": "passed", "duration": 0.0004457469999863406}, "lineno": 188, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_collection", "outcome": "passed", "keywords": ["test_collection", "filterwarnings", "image", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0005160590000059528}}, {"call": {"outcome": "passed", "duration": 0.14577582100000086}, "setup": {"outcome": "passed", "duration": 0.0005893250000212902}, "lineno": 276, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_collection_aspect_x", "outcome": "passed", "keywords": ["test_collection_aspect_x", "filterwarnings", "image", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003843539999763834}}, {"call": {"outcome": "passed", "duration": 0.14693426300001988}, "setup": {"outcome": "passed", "duration": 0.0006446369999935087}, "lineno": 284, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_collection_aspect_y", "outcome": "passed", "keywords": ["test_collection_aspect_y", "filterwarnings", "image", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00035464799998408125}}, {"call": {"outcome": "passed", "duration": 0.024550008999995043}, "setup": {"outcome": "passed", "duration": 0.0005685760000062601}, "lineno": 292, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_mopad_fallback", "outcome": "passed", "keywords": ["test_mopad_fallback", "filterwarnings", "image", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00033379000001332315}}, {"call": {"outcome": "passed", "duration": 0.0746768920000136}, "setup": {"outcome": "passed", "duration": 0.000590617000000293}, "lineno": 305, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_beach_with_axes_to_pdf", "outcome": "passed", "keywords": ["test_beach_with_axes_to_pdf", "image_path_suffix", "pytestmark", "filterwarnings", "image", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00041833699998505836}}, {"call": {"outcome": "passed", "duration": 0.4387400959999752}, "setup": {"outcome": "passed", "duration": 0.0008107960000245384}, "lineno": 15, "nodeid": "imaging/tests/test_mopad.py::TestMopad::test_mopad_collection", "outcome": "passed", "keywords": ["test_mopad_collection", "filterwarnings", "image", "TestMopad", "usefixtures", "test_mopad.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00040893899998195593}}, {"call": {"outcome": "passed", "duration": 0.006618299999985311}, "setup": {"outcome": "passed", "duration": 0.0005234319999942727}, "lineno": 20, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_convert_type_sdr", "outcome": "passed", "keywords": ["test_script_convert_type_sdr", "filterwarnings", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020676400001207185}}, {"call": {"outcome": "passed", "duration": 0.004472626000023183}, "setup": {"outcome": "passed", "duration": 0.00040873899999382957}, "lineno": 31, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_convert_type_tensor", "outcome": "passed", "keywords": ["test_script_convert_type_tensor", "filterwarnings", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023167100002297047}}, {"call": {"outcome": "passed", "duration": 0.0041192690000002585}, "setup": {"outcome": "passed", "duration": 0.0003155659999833915}, "lineno": 45, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_convert_type_tensor_large", "outcome": "passed", "keywords": ["test_script_convert_type_tensor_large", "filterwarnings", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001740129999916462}}, {"call": {"outcome": "passed", "duration": 0.062395074999983535}, "setup": {"outcome": "passed", "duration": 0.00031508500001109496}, "lineno": 59, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_convert_basis", "outcome": "passed", "keywords": ["test_script_convert_basis", "filterwarnings", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022684099999992213}}, {"call": {"outcome": "passed", "duration": 0.0038926379999963956}, "setup": {"outcome": "passed", "duration": 0.0003838830000120197}, "lineno": 94, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_convert_vector", "outcome": "passed", "keywords": ["test_script_convert_vector", "filterwarnings", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001836410000066735}}, {"call": {"outcome": "passed", "duration": 0.004461965999979611}, "setup": {"outcome": "passed", "duration": 0.0003058480000106556}, "lineno": 105, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_decompose", "outcome": "passed", "keywords": ["test_script_decompose", "filterwarnings", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018876999999406507}}, {"call": {"outcome": "passed", "duration": 0.7118057289999911}, "setup": {"outcome": "passed", "duration": 0.0007391119999908824}, "lineno": 152, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_gmt_fill", "outcome": "passed", "keywords": ["test_script_gmt_fill", "filterwarnings", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002565869999955339}}, {"call": {"outcome": "passed", "duration": 0.4116394209999896}, "setup": {"outcome": "passed", "duration": 0.00042775400001460184}, "lineno": 157, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_gmt_lines", "outcome": "passed", "keywords": ["test_script_gmt_lines", "filterwarnings", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002479000000050746}}, {"call": {"outcome": "passed", "duration": 0.41258352400001286}, "setup": {"outcome": "passed", "duration": 0.00043416599999090977}, "lineno": 162, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_gmt_lines_stereo", "outcome": "passed", "keywords": ["test_script_gmt_lines_stereo", "filterwarnings", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023712000000841726}}, {"call": {"outcome": "passed", "duration": 0.411359530999988}, "setup": {"outcome": "passed", "duration": 0.00039701800000102594}, "lineno": 168, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_gmt_lines_ortho", "outcome": "passed", "keywords": ["test_script_gmt_lines_ortho", "filterwarnings", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023935400000141271}}, {"call": {"outcome": "passed", "duration": 0.4145689910000101}, "setup": {"outcome": "passed", "duration": 0.0004074569999943378}, "lineno": 174, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_gmt_lines_lambo", "outcome": "passed", "keywords": ["test_script_gmt_lines_lambo", "filterwarnings", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022723200001451005}}, {"call": {"outcome": "passed", "duration": 0.12353601299997763}, "setup": {"outcome": "passed", "duration": 0.0004038900000011836}, "lineno": 180, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_gmt_event", "outcome": "passed", "keywords": ["test_script_gmt_event", "filterwarnings", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002288649999968584}}, {"setup": {"outcome": "skipped", "duration": 0.00019800699999450444, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_mopad_script.py', 186, 'Skipped: Currently broken until further review.')"}, "lineno": 185, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_plot", "outcome": "skipped", "keywords": ["test_script_plot", "skip", "pytestmark", "filterwarnings", "image", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002534099999991213}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0029871670000147788, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_plot.py\", line 37, in test_plot\n    obspy_plot(['--outfile', str(image_path)] + all_files_list)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/plot.py\", line 37, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007652109999867207}, "lineno": 24, "nodeid": "imaging/tests/test_plot.py::TestPlot::test_plot", "outcome": "failed", "keywords": ["test_plot", "filterwarnings", "image", "TestPlot", "test_plot.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002114629999994122}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020652149999875746, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_plot.py\", line 51, in test_plot_no_merge\n    obspy_plot(['--no-automerge', '--outfile', str(image_path)] +\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/plot.py\", line 37, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004546440000012808}, "lineno": 38, "nodeid": "imaging/tests/test_plot.py::TestPlot::test_plot_no_merge", "outcome": "failed", "keywords": ["test_plot_no_merge", "filterwarnings", "image", "TestPlot", "test_plot.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022710200002507008}}, {"call": {"outcome": "passed", "duration": 0.4591952220000053}, "setup": {"outcome": "passed", "duration": 0.9979888229999858}, "lineno": 11, "nodeid": "imaging/tests/test_ppsd.py::TestPPSD::test_ppsd_plot", "outcome": "passed", "keywords": ["test_ppsd_plot", "filterwarnings", "image", "TestPPSD", "test_ppsd.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00037044100000116487}}, {"call": {"outcome": "passed", "duration": 0.3240623599999992}, "setup": {"outcome": "passed", "duration": 0.1357867909999868}, "lineno": 26, "nodeid": "imaging/tests/test_ppsd.py::TestPPSD::test_ppsd_plot_frequency", "outcome": "passed", "keywords": ["test_ppsd_plot_frequency", "filterwarnings", "image", "TestPPSD", "test_ppsd.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00037190599999803453}}, {"call": {"outcome": "passed", "duration": 0.44960363500001677}, "setup": {"outcome": "passed", "duration": 0.1554550749999919}, "lineno": 42, "nodeid": "imaging/tests/test_ppsd.py::TestPPSD::test_ppsd_plot_cumulative", "outcome": "passed", "keywords": ["test_ppsd_plot_cumulative", "filterwarnings", "image", "TestPPSD", "test_ppsd.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00048670799998262737}}, {"call": {"outcome": "passed", "duration": 0.014991154000000506}, "setup": {"outcome": "passed", "duration": 0.0010379440000178874}, "lineno": 40, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scan_main_method", "outcome": "passed", "keywords": ["test_scan_main_method", "filterwarnings", "image", "TestScan", "test_scan.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002670330000000831}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py", "lineno": 91, "message": "assert 1 == 2\n +  where 1 = <obspy.imaging.scripts.scan.Scanner object at 0x7f20d9c80380>.counter"}, "outcome": "failed", "duration": 0.0017249310000124751, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 91, in test_scan_dir_no_permission\n    assert scanner.counter == 2\nAssertionError: assert 1 == 2\n +  where 1 = <obspy.imaging.scripts.scan.Scanner object at 0x7f20d9c80380>.counter"}, "setup": {"outcome": "passed", "duration": 0.0003629889999956504}, "lineno": 51, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scan_dir_no_permission", "outcome": "failed", "keywords": ["test_scan_dir_no_permission", "filterwarnings", "TestScan", "test_scan.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018089299999246577}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/_api/__init__.py", "lineno": 405, "message": "UserWarning: Attempting to set identical low and high ylims makes transformation singular; automatically expanding."}, "outcome": "failed", "duration": 0.030351908000000094, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 113, in test_scan_function_and_scanner_class\n    scanner.plot(path2)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/scan.py\", line 395, in plot\n    ax.set_ylim(0 - 0.5, len(labels) - 0.5)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 4062, in set_ylim\n    return self.yaxis._set_lim(bottom, top, emit=emit, auto=auto)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axis.py\", line 1241, in _set_lim\n    _api.warn_external(\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/_api/__init__.py\", line 405, in warn_external\n    warnings.warn(message, category, **kwargs)\nUserWarning: Attempting to set identical low and high ylims makes transformation singular; automatically expanding."}, "setup": {"outcome": "passed", "duration": 0.0005001229999948009}, "lineno": 96, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scan_function_and_scanner_class", "outcome": "failed", "keywords": ["test_scan_function_and_scanner_class", "filterwarnings", "image", "TestScan", "test_scan.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003087390000189316}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/_api/__init__.py", "lineno": 405, "message": "UserWarning: Attempting to set identical low and high ylims makes transformation singular; automatically expanding."}, "outcome": "failed", "duration": 0.08880366100001424, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 151, in test_scan_plot_by_id_with_wildcard\n    fig = scanner.plot(fig=fig, show=False, seed_ids=[seed_id])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/scan.py\", line 395, in plot\n    ax.set_ylim(0 - 0.5, len(labels) - 0.5)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 4062, in set_ylim\n    return self.yaxis._set_lim(bottom, top, emit=emit, auto=auto)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axis.py\", line 1241, in _set_lim\n    _api.warn_external(\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/_api/__init__.py\", line 405, in warn_external\n    warnings.warn(message, category, **kwargs)\nUserWarning: Attempting to set identical low and high ylims makes transformation singular; automatically expanding."}, "setup": {"outcome": "passed", "duration": 0.00033685099998592705}, "lineno": 114, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scan_plot_by_id_with_wildcard", "outcome": "failed", "keywords": ["test_scan_plot_by_id_with_wildcard", "filterwarnings", "TestScan", "test_scan.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025765499998442465}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003543664999995144, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 172, in test_scanner_manually_add_streams\n    st = read(file_, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005505350000021281}, "lineno": 155, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scanner_manually_add_streams", "outcome": "failed", "keywords": ["test_scanner_manually_add_streams", "filterwarnings", "image", "TestScan", "test_scan.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002668519999815544}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py", "lineno": 3749, "message": "ValueError: Axis limits cannot be NaN or Inf"}, "outcome": "failed", "duration": 0.04150613600000952, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 207, in test_scan_save_load_npz\n    scanner.plot(path1)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/scan.py\", line 417, in plot\n    ax.set_xlim(left - 0.05 * x_axis_range,\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3828, in set_xlim\n    return self.xaxis._set_lim(left, right, emit=emit, auto=auto)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axis.py\", line 1216, in _set_lim\n    v0 = self.axes._validate_converted_limits(v0, self.convert_units)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3749, in _validate_converted_limits\n    raise ValueError(\"Axis limits cannot be NaN or Inf\")\nValueError: Axis limits cannot be NaN or Inf"}, "setup": {"outcome": "passed", "duration": 0.0005114230000060616}, "lineno": 176, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scan_save_load_npz", "outcome": "failed", "keywords": ["test_scan_save_load_npz", "filterwarnings", "image", "TestScan", "test_scan.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003127370000015617}}, {"call": {"outcome": "passed", "duration": 0.013964821000001848}, "setup": {"outcome": "passed", "duration": 0.0005468079999957354}, "lineno": 211, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scan_times", "outcome": "passed", "keywords": ["test_scan_times", "filterwarnings", "image", "TestScan", "test_scan.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002704290000110632}}, {"call": {"outcome": "passed", "duration": 0.003298091000004888}, "setup": {"outcome": "passed", "duration": 0.0004932500000052187}, "lineno": 226, "nodeid": "imaging/tests/test_scan.py::TestScan::test_multiple_sampling_rates", "outcome": "passed", "keywords": ["test_multiple_sampling_rates", "filterwarnings", "image", "TestScan", "test_scan.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002636559999871224}}, {"call": {"outcome": "passed", "duration": 1.1625685109999893}, "setup": {"outcome": "passed", "duration": 0.0004708479999919746}, "lineno": 11, "nodeid": "imaging/tests/test_source.py::TestRadPattern::test_farfield_with_quiver", "outcome": "passed", "keywords": ["test_farfield_with_quiver", "filterwarnings", "TestRadPattern", "test_source.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025220499998113155}}, {"call": {"outcome": "passed", "duration": 0.34784431500000323}, "setup": {"outcome": "passed", "duration": 0.0007089070000176889}, "lineno": 18, "nodeid": "imaging/tests/test_spectrogram.py::TestSpectrogram::test_spectrogram", "outcome": "passed", "keywords": ["test_spectrogram", "filterwarnings", "image", "TestSpectrogram", "test_spectrogram.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00035947299997474147}}, {"call": {"outcome": "passed", "duration": 0.06332231499999352}, "setup": {"outcome": "passed", "duration": 0.0003647519999958604}, "lineno": 45, "nodeid": "imaging/tests/test_spectrogram.py::TestSpectrogram::test_spectrogram_defaults", "outcome": "passed", "keywords": ["test_spectrogram_defaults", "filterwarnings", "TestSpectrogram", "test_spectrogram.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022292099998821868}}, {"call": {"outcome": "passed", "duration": 0.009825527999993255}, "setup": {"outcome": "passed", "duration": 0.0003599329999985912}, "lineno": 62, "nodeid": "imaging/tests/test_spectrogram.py::TestSpectrogram::test_spectrogram_nice_error_messages", "outcome": "passed", "keywords": ["test_spectrogram_nice_error_messages", "filterwarnings", "TestSpectrogram", "test_spectrogram.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020283399999243557}}, {"call": {"outcome": "passed", "duration": 0.4194393639999987}, "setup": {"outcome": "passed", "duration": 0.0004963450000161629}, "lineno": 59, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_data_remains_unchanged", "outcome": "passed", "keywords": ["test_data_remains_unchanged", "filterwarnings", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023116600002026644}}, {"call": {"outcome": "passed", "duration": 0.0002956250000067939}, "setup": {"outcome": "passed", "duration": 0.00038106200000243007}, "lineno": 81, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_empty_stream", "outcome": "passed", "keywords": ["test_plot_empty_stream", "filterwarnings", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001691920000155278}}, {"call": {"outcome": "passed", "duration": 0.0025588990000073863}, "setup": {"outcome": "passed", "duration": 0.00028364299998884235}, "lineno": 89, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_same_trace_different_sample_rates", "outcome": "passed", "keywords": ["test_plot_same_trace_different_sample_rates", "filterwarnings", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017761700001983627}}, {"call": {"outcome": "passed", "duration": 0.15159152999999037}, "setup": {"outcome": "passed", "duration": 0.0004534459999945284}, "lineno": 100, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_one_hour_many_samples", "outcome": "passed", "keywords": ["test_plot_one_hour_many_samples", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0004391700000212495}}, {"call": {"outcome": "passed", "duration": 0.12869327699999644}, "setup": {"outcome": "passed", "duration": 0.0005983329999992293}, "lineno": 113, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_one_hour_few_samples", "outcome": "passed", "keywords": ["test_plot_one_hour_few_samples", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030360900001369373}}, {"call": {"outcome": "passed", "duration": 0.129438590999996}, "setup": {"outcome": "passed", "duration": 0.0005198690000156603}, "lineno": 124, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_simple_gap_many_samples", "outcome": "passed", "keywords": ["test_plot_simple_gap_many_samples", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003034300000024359}}, {"call": {"outcome": "passed", "duration": 0.10265767800001413}, "setup": {"outcome": "passed", "duration": 0.0005249579999997422}, "lineno": 137, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_simple_gap_few_samples", "outcome": "passed", "keywords": ["test_plot_simple_gap_few_samples", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031089300000530784}}, {"call": {"outcome": "passed", "duration": 0.25062640799998803}, "setup": {"outcome": "passed", "duration": 0.0005459270000187644}, "lineno": 150, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_complex_gap_many_samples", "outcome": "passed", "keywords": ["test_plot_complex_gap_many_samples", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00032372699999427823}}, {"call": {"outcome": "passed", "duration": 0.19958253400000103}, "setup": {"outcome": "passed", "duration": 0.0005760619999932715}, "lineno": 169, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_complex_gap_few_samples", "outcome": "passed", "keywords": ["test_plot_complex_gap_few_samples", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031880800000294585}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0029685139999742205, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 194, in test_plot_multiple_traces_1_trace\n    st = read()[1]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005778159999749732}, "lineno": 188, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_1_trace", "outcome": "failed", "keywords": ["test_plot_multiple_traces_1_trace", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026569999999992433}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022517920000098, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 201, in test_plot_multiple_traces_3_traces\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005047809999894071}, "lineno": 196, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_3_traces", "outcome": "failed", "keywords": ["test_plot_multiple_traces_3_traces", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022456400000692156}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0027087250000192853, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 208, in test_plot_multiple_traces_5_traces\n    st = read()[1] * 5\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005042200000104913}, "lineno": 203, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_5_traces", "outcome": "error", "keywords": ["test_plot_multiple_traces_5_traces", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.0002612520000013774, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    |     return compile(source, filename, mode, flags,\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    |     return compile(source, filename, mode, flags,\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020908660000031887, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 216, in test_plot_multiple_traces_10_traces\n    st = read()[1] * 10\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00048236899999665184}, "lineno": 210, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_10_traces", "outcome": "failed", "keywords": ["test_plot_multiple_traces_10_traces", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002089250000096854}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021411079999893445, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 223, in test_plot_multiple_traces_10_traces_huge\n    st = read()[1] * 10\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044752499999844986}, "lineno": 218, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_10_traces_huge", "outcome": "error", "keywords": ["test_plot_multiple_traces_10_traces_huge", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0002565129999823057, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/reports.py\", line 396, in from_item_and_call\n    keywords = {x: 1 for x in item.keywords}\n                ^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022188620000065384, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 234, in test_plot_multiple_traces_10_traces_tiny\n    st = read()[1] * 10\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004928280000058294}, "lineno": 228, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_10_traces_tiny", "outcome": "failed", "keywords": ["test_plot_multiple_traces_10_traces_tiny", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024336900000321293}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021124449999945227, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 244, in test_plot_with_labels\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004870280000091043}, "lineno": 239, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_with_labels", "outcome": "error", "keywords": ["test_plot_with_labels", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00029169699999442855, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/textwrap.py\", line 470, in indent\n    def indent(text, prefix, predicate=None):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "passed", "duration": 0.3003605060000041}, "setup": {"outcome": "passed", "duration": 0.0005112229999895135}, "lineno": 251, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_binning_error_1", "outcome": "passed", "keywords": ["test_plot_binning_error_1", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003236459999982344}}, {"call": {"outcome": "passed", "duration": 0.09607463899999402}, "setup": {"outcome": "passed", "duration": 0.0005335230000014235}, "lineno": 260, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_binning_error_2", "outcome": "passed", "keywords": ["test_plot_binning_error_2", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031786599998895326}}, {"call": {"outcome": "passed", "duration": 0.5209608659999958}, "setup": {"outcome": "passed", "duration": 0.0005259300000091116}, "lineno": 269, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_default_section", "outcome": "passed", "keywords": ["test_plot_default_section", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00034612800001809774}}, {"call": {"outcome": "passed", "duration": 0.5044761389999906}, "setup": {"outcome": "passed", "duration": 0.0005551030000106039}, "lineno": 282, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_azim_section", "outcome": "passed", "keywords": ["test_plot_azim_section", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003544440000098348}}, {"call": {"outcome": "passed", "duration": 0.4890612750000116}, "setup": {"outcome": "passed", "duration": 0.0005731260000061411}, "lineno": 297, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_horizontal_section", "outcome": "passed", "keywords": ["test_plot_horizontal_section", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003380029999959788}}, {"call": {"outcome": "passed", "duration": 0.48797353899999507}, "setup": {"outcome": "passed", "duration": 0.0005610750000073494}, "lineno": 309, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_ref_time_section", "outcome": "passed", "keywords": ["test_plot_ref_time_section", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00033484799999428105}}, {"call": {"outcome": "passed", "duration": 0.5308747079999989}, "setup": {"outcome": "passed", "duration": 0.0005436220000092362}, "lineno": 323, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_colored_section", "outcome": "passed", "keywords": ["test_plot_colored_section", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031796599998301645}}, {"call": {"outcome": "passed", "duration": 0.5281652399999928}, "setup": {"outcome": "passed", "duration": 0.0005303879999871697}, "lineno": 337, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_wiggles_negative_section", "outcome": "passed", "keywords": ["test_plot_wiggles_negative_section", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003202999999984968}}, {"call": {"outcome": "passed", "duration": 0.5362761140000032}, "setup": {"outcome": "passed", "duration": 0.0005266709999887098}, "lineno": 353, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_wiggles_positive_section", "outcome": "passed", "keywords": ["test_plot_wiggles_positive_section", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030436100001907107}}, {"call": {"outcome": "passed", "duration": 0.5706293860000073}, "setup": {"outcome": "passed", "duration": 0.0005299960000115789}, "lineno": 369, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_wiggles_horizontal_section", "outcome": "passed", "keywords": ["test_plot_wiggles_horizontal_section", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00035017399997627763}}, {"call": {"outcome": "passed", "duration": 0.759136658000017}, "setup": {"outcome": "passed", "duration": 0.0006017190000022765}, "lineno": 384, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_wiggles_vertical_section", "outcome": "passed", "keywords": ["test_plot_wiggles_vertical_section", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031985900000108813}}, {"call": {"outcome": "passed", "duration": 0.15571308299999487}, "setup": {"outcome": "passed", "duration": 0.0005530680000163102}, "lineno": 399, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_default_relative", "outcome": "passed", "keywords": ["test_plot_default_relative", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003001129999802288}}, {"call": {"outcome": "passed", "duration": 0.1556821169999978}, "setup": {"outcome": "passed", "duration": 0.0005280729999981304}, "lineno": 408, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_ref_time_relative", "outcome": "passed", "keywords": ["test_plot_ref_time_relative", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030372899999520087}}, {"call": {"outcome": "passed", "duration": 0.17200742800000057}, "setup": {"outcome": "passed", "duration": 0.0005471279999937906}, "lineno": 420, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot", "outcome": "passed", "keywords": ["test_plot_day_plot", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003364399999838952}}, {"call": {"outcome": "passed", "duration": 0.2391010489999985}, "setup": {"outcome": "passed", "duration": 0.0006853429999864602}, "lineno": 430, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot_interval[2-16-True]", "outcome": "passed", "keywords": ["test_plot_day_plot_interval[2-16-True]", "parametrize", "pytestmark", "2-16-True", "filterwarnings", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003166129999954137}}, {"call": {"outcome": "passed", "duration": 0.10716178900000273}, "setup": {"outcome": "passed", "duration": 0.0006813349999958973}, "lineno": 430, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot_interval[10-11-True]", "outcome": "passed", "keywords": ["test_plot_day_plot_interval[10-11-True]", "parametrize", "pytestmark", "10-11-True", "filterwarnings", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00029119600000626633}}, {"call": {"outcome": "passed", "duration": 0.09256767599998739}, "setup": {"outcome": "passed", "duration": 0.0007372480000071846}, "lineno": 430, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot_interval[23-10-False]", "outcome": "passed", "keywords": ["test_plot_day_plot_interval[23-10-False]", "parametrize", "pytestmark", "23-10-False", "filterwarnings", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028023600000892657}}, {"call": {"outcome": "passed", "duration": 0.07480831199998761}, "setup": {"outcome": "passed", "duration": 0.0006878669999821341}, "lineno": 430, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot_interval[25-6-True]", "outcome": "passed", "keywords": ["test_plot_day_plot_interval[25-6-True]", "parametrize", "pytestmark", "25-6-True", "filterwarnings", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00029263900000842114}}, {"call": {"outcome": "passed", "duration": 0.1831835549999994}, "setup": {"outcome": "passed", "duration": 0.0005523470000241559}, "lineno": 447, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot_explicit_event", "outcome": "passed", "keywords": ["test_plot_day_plot_explicit_event", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00040437399999859736}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014520739999852594, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 473, in test_plot_day_plot_catalog\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005635079999990467}, "lineno": 467, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot_catalog", "outcome": "failed", "keywords": ["test_plot_day_plot_catalog", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022343199998431373}}, {"call": {"outcome": "passed", "duration": 0.1013411869999743}, "setup": {"outcome": "passed", "duration": 0.0003340250000007927}, "lineno": 479, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_section_max_npts", "outcome": "passed", "keywords": ["test_section_max_npts", "filterwarnings", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002442800000039824}}, {"call": {"outcome": "passed", "duration": 0.003489548000004561}, "setup": {"outcome": "passed", "duration": 0.0004893110000239176}, "lineno": 194, "nodeid": "imaging/util.py::obspy.imaging.util._component_code_key", "outcome": "passed", "keywords": ["obspy.imaging.util._component_code_key", "filterwarnings", "util.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001884270000118704}}, {"call": {"outcome": "passed", "duration": 0.003608718000009503}, "setup": {"outcome": "passed", "duration": 0.0003416790000017045}, "lineno": 148, "nodeid": "imaging/util.py::obspy.imaging.util._id_key", "outcome": "passed", "keywords": ["obspy.imaging.util._id_key", "filterwarnings", "util.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001843089999908898}}, {"call": {"outcome": "passed", "duration": 0.0036701900000082333}, "setup": {"outcome": "passed", "duration": 0.00035949200000118253}, "lineno": 223, "nodeid": "imaging/util.py::obspy.imaging.util._timestring", "outcome": "passed", "keywords": ["obspy.imaging.util._timestring", "filterwarnings", "util.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018892800000003263}}, {"call": {"outcome": "passed", "duration": 0.0010056129999895802}, "setup": {"outcome": "passed", "duration": 0.0018741529999886097}, "lineno": 14, "nodeid": "io/ah/tests/test_core.py::TestCore::test_is_ah", "outcome": "passed", "keywords": ["test_is_ah", "filterwarnings", "TestCore", "test_core.py", "tests", "ah", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017867899998691428}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009753160000229855, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ah/tests/test_core.py\", line 57, in test_read\n    st = read(testfile)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003459769999949458}, "lineno": 50, "nodeid": "io/ah/tests/test_core.py::TestCore::test_read", "outcome": "failed", "keywords": ["test_read", "filterwarnings", "TestCore", "test_core.py", "tests", "ah", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002096660000177053}}, {"call": {"outcome": "passed", "duration": 0.013622433999984196}, "setup": {"outcome": "passed", "duration": 0.0003323319999992691}, "lineno": 75, "nodeid": "io/ah/tests/test_core.py::TestCore::test_read_ah", "outcome": "passed", "keywords": ["test_read_ah", "filterwarnings", "TestCore", "test_core.py", "tests", "ah", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002197949999924731}}, {"call": {"outcome": "passed", "duration": 0.0029776350000076945}, "setup": {"outcome": "passed", "duration": 0.00039358499998343177}, "lineno": 178, "nodeid": "io/ah/tests/test_core.py::TestCore::test_tsg", "outcome": "passed", "keywords": ["test_tsg", "filterwarnings", "TestCore", "test_core.py", "tests", "ah", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001818839999998545}}, {"call": {"outcome": "passed", "duration": 0.09921915800001102}, "setup": {"outcome": "passed", "duration": 0.0003681279999909748}, "lineno": 251, "nodeid": "io/ah/tests/test_core.py::TestCore::test_write_ah1", "outcome": "passed", "keywords": ["test_write_ah1", "filterwarnings", "TestCore", "test_core.py", "tests", "ah", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003668059999881734}}, {"call": {"outcome": "passed", "duration": 0.0006384269999841763}, "setup": {"outcome": "passed", "duration": 0.0004924579999965317}, "lineno": 61, "nodeid": "io/ah/tests/test_xdrlib.py::TestXDR::test_xdr", "outcome": "passed", "keywords": ["test_xdr", "filterwarnings", "TestXDR", "test_xdrlib.py", "tests", "ah", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024031200001672914}}, {"call": {"outcome": "passed", "duration": 0.00027547700000241093}, "setup": {"outcome": "passed", "duration": 0.0005058819999987918}, "lineno": 118, "nodeid": "io/ah/tests/test_xdrlib.py::TestConversionError::test_pack_int", "outcome": "passed", "keywords": ["test_pack_int", "filterwarnings", "TestConversionError", "test_xdrlib.py", "tests", "ah", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019267499999386928}}, {"call": {"outcome": "passed", "duration": 0.00029376200001252073}, "setup": {"outcome": "passed", "duration": 0.00039962599998943915}, "lineno": 121, "nodeid": "io/ah/tests/test_xdrlib.py::TestConversionError::test_pack_uint", "outcome": "passed", "keywords": ["test_pack_uint", "filterwarnings", "TestConversionError", "test_xdrlib.py", "tests", "ah", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017719699999929617}}, {"call": {"outcome": "passed", "duration": 0.00024094400001217764}, "setup": {"outcome": "passed", "duration": 0.00041034600002376465}, "lineno": 124, "nodeid": "io/ah/tests/test_xdrlib.py::TestConversionError::test_float", "outcome": "passed", "keywords": ["test_float", "filterwarnings", "TestConversionError", "test_xdrlib.py", "tests", "ah", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019418700000528588}}, {"call": {"outcome": "passed", "duration": 0.00027162000000657827}, "setup": {"outcome": "passed", "duration": 0.00039314400001444483}, "lineno": 127, "nodeid": "io/ah/tests/test_xdrlib.py::TestConversionError::test_double", "outcome": "passed", "keywords": ["test_double", "filterwarnings", "TestConversionError", "test_xdrlib.py", "tests", "ah", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017445099999235936}}, {"call": {"outcome": "passed", "duration": 0.00023427200000014636}, "setup": {"outcome": "passed", "duration": 0.00040078800000742376}, "lineno": 130, "nodeid": "io/ah/tests/test_xdrlib.py::TestConversionError::test_uhyper", "outcome": "passed", "keywords": ["test_uhyper", "filterwarnings", "TestConversionError", "test_xdrlib.py", "tests", "ah", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020320499999115782}}, {"call": {"outcome": "passed", "duration": 0.003115879999995741}, "setup": {"outcome": "passed", "duration": 0.0008012760000042363}, "lineno": 1, "nodeid": "io/alsep/__init__.py::obspy.io.alsep", "outcome": "passed", "keywords": ["obspy.io.alsep", "filterwarnings", "__init__.py", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016965300000038042}}, {"call": {"outcome": "failed", "duration": 0.0056349189999878035, "longrepr": "132         91,92,93,94,95,97,98,102,103,104,106,107,108,109, and 111.\n133     :type ignore_error: bool, optional\n134     :param ignore_error: Include error frames as much as possible if True.\n135     :rtype: :class:`~obspy.core.stream.Stream`\n136     :return: A ObsPy Stream object.\n137 \n138     .. rubric:: Example\n139 \n140     >>> from obspy import read\n141     >>> st = read(\"/path/to/pse.a15.1.2.mini\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.alsep.core._read_pse[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/alsep/core.py:141: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00040595799998754956}, "lineno": 116, "nodeid": "io/alsep/core.py::obspy.io.alsep.core._read_pse", "outcome": "failed", "keywords": ["obspy.io.alsep.core._read_pse", "filterwarnings", "core.py", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017747600000461716}}, {"call": {"outcome": "failed", "duration": 0.005314640000023019, "longrepr": "295         for scanning available data in huge (temporary) data sets.\n296     :type ignore_error: bool, optional\n297     :param ignore_error: Include error frames as much as possible if True.\n298     :rtype: :class:`~obspy.core.stream.Stream`\n299     :return: A ObsPy Stream object.\n300 \n301     .. rubric:: Example\n302 \n303     >>> from obspy import read\n304     >>> st = read(\"/path/to/wth.1.5.mini\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.alsep.core._read_wth[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/alsep/core.py:304: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003448850000040693}, "lineno": 283, "nodeid": "io/alsep/core.py::obspy.io.alsep.core._read_wth", "outcome": "failed", "keywords": ["obspy.io.alsep.core._read_wth", "filterwarnings", "core.py", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001835779999908027}}, {"call": {"outcome": "failed", "duration": 0.005323927000006279, "longrepr": "205         for scanning available data in huge (temporary) data sets.\n206     :type ignore_error: bool, optional\n207     :param ignore_error: Include error frames as much as possible if True.\n208     :rtype: :class:`~obspy.core.stream.Stream`\n209     :return: A ObsPy Stream object.\n210 \n211     .. rubric:: Example\n212 \n213     >>> from obspy import read\n214     >>> st = read(\"/path/to/wtn.1.2.mini\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.alsep.core._read_wtn[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/alsep/core.py:214: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003278039999941029}, "lineno": 193, "nodeid": "io/alsep/core.py::obspy.io.alsep.core._read_wtn", "outcome": "failed", "keywords": ["obspy.io.alsep.core._read_wtn", "filterwarnings", "core.py", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019045100000880666}}, {"call": {"outcome": "passed", "duration": 0.0005005420000259164}, "setup": {"outcome": "passed", "duration": 0.0011983470000132002}, "lineno": 8, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_is_pse", "outcome": "passed", "keywords": ["test_is_pse", "filterwarnings", "TestAlsep", "test_alsep.py", "tests", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001790400000061254}}, {"call": {"outcome": "passed", "duration": 0.00044431899999608504}, "setup": {"outcome": "passed", "duration": 0.0003525490000129139}, "lineno": 19, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_is_wtn", "outcome": "passed", "keywords": ["test_is_wtn", "filterwarnings", "TestAlsep", "test_alsep.py", "tests", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016334099998971396}}, {"call": {"outcome": "passed", "duration": 0.00043179499999723703}, "setup": {"outcome": "passed", "duration": 0.00032392599999298}, "lineno": 30, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_is_wth", "outcome": "passed", "keywords": ["test_is_wth", "filterwarnings", "TestAlsep", "test_alsep.py", "tests", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015762999998969462}}, {"call": {"outcome": "passed", "duration": 0.25003427900000474}, "setup": {"outcome": "passed", "duration": 0.0003252190000182509}, "lineno": 41, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_read_alsep_pse_file", "outcome": "passed", "keywords": ["test_read_alsep_pse_file", "filterwarnings", "TestAlsep", "test_alsep.py", "tests", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000232529000015802}}, {"call": {"outcome": "passed", "duration": 1.1896318080000015}, "setup": {"outcome": "passed", "duration": 0.0004241809999996349}, "lineno": 57, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_read_alsep_pse_file_with_ignore_error", "outcome": "passed", "keywords": ["test_read_alsep_pse_file_with_ignore_error", "filterwarnings", "TestAlsep", "test_alsep.py", "tests", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021883299999103656}}, {"call": {"outcome": "passed", "duration": 0.02283695700000976}, "setup": {"outcome": "passed", "duration": 0.0004132410000181608}, "lineno": 65, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_read_alsep_wtn_file", "outcome": "passed", "keywords": ["test_read_alsep_wtn_file", "filterwarnings", "TestAlsep", "test_alsep.py", "tests", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002096660000177053}}, {"call": {"outcome": "passed", "duration": 0.0121699979999903}, "setup": {"outcome": "passed", "duration": 0.0003894379999849207}, "lineno": 80, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_read_alsep_wth_file", "outcome": "passed", "keywords": ["test_read_alsep_wth_file", "filterwarnings", "TestAlsep", "test_alsep.py", "tests", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020898500000043896}}, {"call": {"outcome": "passed", "duration": 0.015249471000004178}, "setup": {"outcome": "passed", "duration": 0.00040925400000446643}, "lineno": 95, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_single_header_wtn", "outcome": "passed", "keywords": ["test_single_header_wtn", "filterwarnings", "TestAlsep", "test_alsep.py", "tests", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002140240000017002}}, {"call": {"outcome": "passed", "duration": 0.004292568000010988}, "setup": {"outcome": "passed", "duration": 0.0004052969999861489}, "lineno": 110, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_single_header_wth", "outcome": "passed", "keywords": ["test_single_header_wth", "filterwarnings", "TestAlsep", "test_alsep.py", "tests", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001890579999894726}}, {"call": {"outcome": "passed", "duration": 0.11379522900000438}, "setup": {"outcome": "passed", "duration": 0.0003635189999897648}, "lineno": 119, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_pse_new_format", "outcome": "passed", "keywords": ["test_pse_new_format", "filterwarnings", "TestAlsep", "test_alsep.py", "tests", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023489299999823743}}, {"call": {"outcome": "passed", "duration": 0.06567854400000783}, "setup": {"outcome": "passed", "duration": 0.00044783500001699394}, "lineno": 128, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_frame_loss", "outcome": "passed", "keywords": ["test_frame_loss", "filterwarnings", "TestAlsep", "test_alsep.py", "tests", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022699899997746797}}, {"call": {"outcome": "passed", "duration": 0.26758398699999475}, "setup": {"outcome": "passed", "duration": 0.0004002070000126423}, "lineno": 137, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_pse_read_year_option", "outcome": "passed", "keywords": ["test_pse_read_year_option", "filterwarnings", "TestAlsep", "test_alsep.py", "tests", "alsep", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003222040000139259}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009033549999912793, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 35, in test_publicid_slash\n    v = read_inventory(testdata[\"public-id-slash.xml\"])\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001753631000013911}, "lineno": 33, "nodeid": "io/arclink/tests/test_inventory_xml.py::TestArclinkInventory::test_publicid_slash", "outcome": "failed", "keywords": ["test_publicid_slash", "filterwarnings", "TestArclinkInventory", "test_inventory_xml.py", "tests", "arclink", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002286209999908806}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007518849999996746, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 42, in test_analogue_filter_chain\n    arclink_inv = read_inventory(self.arclink_afc_path)\n                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004083320000063395}, "lineno": 37, "nodeid": "io/arclink/tests/test_inventory_xml.py::TestArclinkInventory::test_analogue_filter_chain", "outcome": "failed", "keywords": ["test_analogue_filter_chain", "filterwarnings", "TestArclinkInventory", "test_inventory_xml.py", "tests", "arclink", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020236299999965013}}, {"call": {"outcome": "passed", "duration": 0.016805486999999175}, "setup": {"outcome": "passed", "duration": 0.00041974300000902076}, "lineno": 62, "nodeid": "io/arclink/tests/test_inventory_xml.py::TestArclinkInventory::test_validate_inventories_against_schema", "outcome": "passed", "keywords": ["test_validate_inventories_against_schema", "filterwarnings", "TestArclinkInventory", "test_inventory_xml.py", "tests", "arclink", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024153500001489192}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003521036000023514, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 71, in test_raise_polynomial\n    read_inventory(self.arclink_xml_poly)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00048543399998379755}, "lineno": 66, "nodeid": "io/arclink/tests/test_inventory_xml.py::TestArclinkInventory::test_raise_polynomial", "outcome": "failed", "keywords": ["test_raise_polynomial", "filterwarnings", "TestArclinkInventory", "test_inventory_xml.py", "tests", "arclink", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002185320000194224}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009543580000013208, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 75, in test_auto_read_arclink_xml\n    arclink_inv = read_inventory(self.arclink_xml_path)\n                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006337669999822992}, "lineno": 72, "nodeid": "io/arclink/tests/test_inventory_xml.py::TestArclinkInventory::test_auto_read_arclink_xml", "outcome": "failed", "keywords": ["test_auto_read_arclink_xml", "filterwarnings", "pytestmark", "TestArclinkInventory", "test_inventory_xml.py", "tests", "arclink", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003041299999892999}}, {"call": {"outcome": "skipped", "duration": 0.00022379199998567856, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0008573199999943881}, "lineno": 59, "nodeid": "io/ascii/core.py::obspy.io.ascii.core._is_slist", "outcome": "skipped", "keywords": ["obspy.io.ascii.core._is_slist", "filterwarnings", "core.py", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001740099999949507}}, {"call": {"outcome": "skipped", "duration": 0.00019870600002036554, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00030450100001644387}, "lineno": 85, "nodeid": "io/ascii/core.py::obspy.io.ascii.core._is_tspair", "outcome": "skipped", "keywords": ["obspy.io.ascii.core._is_tspair", "filterwarnings", "core.py", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016983300000106283}}, {"call": {"outcome": "failed", "duration": 0.005956782000026806, "longrepr": "121     :type headonly: bool, optional\n122     :param headonly: If set to True, read only the head. This is most useful\n123         for scanning available data in huge (temporary) data sets.\n124     :rtype: :class:`~obspy.core.stream.Stream`\n125     :return: A ObsPy Stream object.\n126 \n127     .. rubric:: Example\n128 \n129     >>> from obspy import read\n130     >>> st = read('/path/to/slist.ascii')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._read_slist[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/core.py:130: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003234360000021752}, "lineno": 111, "nodeid": "io/ascii/core.py::obspy.io.ascii.core._read_slist", "outcome": "failed", "keywords": ["obspy.io.ascii.core._read_slist", "filterwarnings", "core.py", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018432900000675545}}, {"call": {"outcome": "failed", "duration": 0.00588520100001233, "longrepr": "189     :type headonly: bool, optional\n190     :param headonly: If set to True, read only the headers. This is most useful\n191         for scanning available data in huge (temporary) data sets.\n192     :rtype: :class:`~obspy.core.stream.Stream`\n193     :return: A ObsPy Stream object.\n194 \n195     .. rubric:: Example\n196 \n197     >>> from obspy import read\n198     >>> st = read('/path/to/tspair.ascii')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._read_tspair[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/core.py:198: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003422499999885531}, "lineno": 179, "nodeid": "io/ascii/core.py::obspy.io.ascii.core._read_tspair", "outcome": "failed", "keywords": ["obspy.io.ascii.core._read_tspair", "filterwarnings", "core.py", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001864939999904891}}, {"call": {"outcome": "failed", "duration": 0.00604519499998446, "longrepr": "261     :param filename: Name of file to write.\n262     :type custom_fmt: str\n263     :param custom_fmt: formatter for writing sample values. Defaults to None.\n264         Using this parameter will set ``TYPE`` value in header to ``CUSTOM``\n265         and ObsPy will raise an exception while trying to read that file.\n266 \n267     .. rubric:: Example\n268 \n269     >>> from obspy import read\n270     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._write_slist[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/core.py:270: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003512170000021797}, "lineno": 249, "nodeid": "io/ascii/core.py::obspy.io.ascii.core._write_slist", "outcome": "failed", "keywords": ["obspy.io.ascii.core._write_slist", "filterwarnings", "core.py", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018120400000043446}}, {"call": {"outcome": "failed", "duration": 0.005700181000008797, "longrepr": "371     :param filename: Name of file to write.\n372     :type custom_fmt: str\n373     :param custom_fmt: formatter for writing sample values. Defaults to None.\n374         Using this parameter will set ``TYPE`` value in header to ``CUSTOM``\n375         and ObsPy will raise an exception while trying to read that file.\n376 \n377     .. rubric:: Example\n378 \n379     >>> from obspy import read\n380     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._write_tspair[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/core.py:380: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003283240000087062}, "lineno": 359, "nodeid": "io/ascii/core.py::obspy.io.ascii.core._write_tspair", "outcome": "failed", "keywords": ["obspy.io.ascii.core._write_tspair", "filterwarnings", "core.py", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018182499999852553}}, {"call": {"outcome": "passed", "duration": 0.00045950700001640143}, "setup": {"outcome": "passed", "duration": 0.0013019890000123269}, "lineno": 14, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_is_slist_file", "outcome": "passed", "keywords": ["test_is_slist_file", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016963299998451475}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.002303081999997403, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/attribdict.py\", line 142, in __getattr__\n    |     raise AttributeError(e.args[0])\n    |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/attribdict.py\", line 140, in __getattr__\n    |     return self.__getitem__(name, default)\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/attribdict.py\", line 96, in __getitem__\n    |     return self.__dict__[name]\n    |            ~~~~~~~~~~~~~^^^^^^\n    | KeyError: '__setstate__'\n    | \n    | During handling of the above exception, another exception occurred:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/attribdict.py\", line 142, in __getattr__\n    |     raise AttributeError(e.args[0])\n    |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}, "setup": {"outcome": "passed", "duration": 0.00032489800000234936}, "lineno": 28, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_slist_file_single_trace", "outcome": "failed", "keywords": ["test_read_slist_file_single_trace", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021043699999268028}}, {"call": {"outcome": "passed", "duration": 0.0022950980000189247}, "setup": {"outcome": "passed", "duration": 0.0003338450000001103}, "lineno": 52, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_slist_file_multiple_traces", "outcome": "passed", "keywords": ["test_read_slist_file_multiple_traces", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017866900000740316}}, {"call": {"outcome": "passed", "duration": 0.0009535769999899912}, "setup": {"outcome": "passed", "duration": 0.000331600999999182}, "lineno": 92, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_slist_file_head_only", "outcome": "passed", "keywords": ["test_read_slist_file_head_only", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017380999997840263}}, {"call": {"outcome": "passed", "duration": 0.001386704999987387}, "setup": {"outcome": "passed", "duration": 0.00032729299999800787}, "lineno": 110, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_slist_file_encoding", "outcome": "passed", "keywords": ["test_read_slist_file_encoding", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017441099998904974}}, {"call": {"outcome": "passed", "duration": 0.0004080420000036611}, "setup": {"outcome": "passed", "duration": 0.0003470700000036686}, "lineno": 134, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_is_tspair_file", "outcome": "passed", "keywords": ["test_is_tspair_file", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018998999999553234}}, {"call": {"outcome": "passed", "duration": 0.0016848129999971206}, "setup": {"outcome": "passed", "duration": 0.00032257399999480185}, "lineno": 148, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_tspair_file_single_trace", "outcome": "passed", "keywords": ["test_read_tspair_file_single_trace", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001775969999755489}}, {"call": {"outcome": "passed", "duration": 0.0029924130000154037}, "setup": {"outcome": "passed", "duration": 0.0003273030000059407}, "lineno": 173, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_tspair_file_multiple_traces", "outcome": "passed", "keywords": ["test_read_tspair_file_multiple_traces", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020093000000542816}}, {"call": {"outcome": "passed", "duration": 0.0010852689999865106}, "setup": {"outcome": "passed", "duration": 0.0003286350000166749}, "lineno": 217, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_tspair_head_only", "outcome": "passed", "keywords": ["test_read_tspair_head_only", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017658500001971333}}, {"call": {"outcome": "passed", "duration": 0.0015250890000118034}, "setup": {"outcome": "passed", "duration": 0.0003561759999968217}, "lineno": 236, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_tspair_file_encoding", "outcome": "passed", "keywords": ["test_read_tspair_file_encoding", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020737299999495917}}, {"call": {"outcome": "passed", "duration": 0.0026416960000119616}, "setup": {"outcome": "passed", "duration": 0.0003558260000033897}, "lineno": 262, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_tspair", "outcome": "passed", "keywords": ["test_write_tspair", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016890099999500308}}, {"call": {"outcome": "passed", "duration": 0.00249723100000665}, "setup": {"outcome": "passed", "duration": 0.00033136100000774604}, "lineno": 305, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_tspair_custom_fmt", "outcome": "passed", "keywords": ["test_write_tspair_custom_fmt", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017370000000482833}}, {"call": {"outcome": "passed", "duration": 0.0018534740000006877}, "setup": {"outcome": "passed", "duration": 0.0003331340000158889}, "lineno": 349, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_tspair_custom_fmt_custom", "outcome": "passed", "keywords": ["test_write_tspair_custom_fmt_custom", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018407999999681124}}, {"call": {"outcome": "passed", "duration": 0.03418706400000815}, "setup": {"outcome": "passed", "duration": 0.00032770400000003974}, "lineno": 371, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_tspair_file_multiple_traces", "outcome": "passed", "keywords": ["test_write_tspair_file_multiple_traces", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021492600001238316}}, {"call": {"outcome": "passed", "duration": 0.002342093999999406}, "setup": {"outcome": "passed", "duration": 0.0003921530000070561}, "lineno": 428, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_slist", "outcome": "passed", "keywords": ["test_write_slist", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000181043999987196}}, {"call": {"outcome": "passed", "duration": 0.0022910799999920073}, "setup": {"outcome": "passed", "duration": 0.0003543029999946157}, "lineno": 472, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_slist_custom_fmt_float", "outcome": "passed", "keywords": ["test_write_slist_custom_fmt_float", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017798700000071221}}, {"call": {"outcome": "passed", "duration": 0.0016199940000092283}, "setup": {"outcome": "passed", "duration": 0.00033755199999063734}, "lineno": 518, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_slist_custom_fmt_custom", "outcome": "passed", "keywords": ["test_write_slist_custom_fmt_custom", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017588400001500304}}, {"call": {"outcome": "passed", "duration": 0.006349407000016072}, "setup": {"outcome": "passed", "duration": 0.0003325419999953283}, "lineno": 542, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_slist_file_multiple_traces", "outcome": "passed", "keywords": ["test_write_slist_file_multiple_traces", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001688010000009399}}, {"call": {"outcome": "passed", "duration": 0.01937549100000524}, "setup": {"outcome": "passed", "duration": 0.00033146999999189575}, "lineno": 597, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_small_trace", "outcome": "passed", "keywords": ["test_write_small_trace", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020708200000285615}}, {"call": {"outcome": "passed", "duration": 0.0355367909999984}, "setup": {"outcome": "passed", "duration": 0.0003142580000030648}, "lineno": 612, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_float_sampling_rates_write_and_read", "outcome": "passed", "keywords": ["test_float_sampling_rates_write_and_read", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002065000000186501}}, {"call": {"outcome": "passed", "duration": 0.00036297899998771754}, "setup": {"outcome": "passed", "duration": 0.00034018700000615354}, "lineno": 630, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_determine_dtype", "outcome": "passed", "keywords": ["test_determine_dtype", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001591330000110247}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000936414999983981, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/tests/test_ascii.py\", line 675, in test_regression_against_mseed2ascii\n    read(mseed_file).write(tf.name, format=\"TSPAIR\")\n    ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003576590000022861}, "lineno": 665, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_regression_against_mseed2ascii", "outcome": "failed", "keywords": ["test_regression_against_mseed2ascii", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018594299999108443}}, {"call": {"outcome": "passed", "duration": 0.0014616629999864017}, "setup": {"outcome": "passed", "duration": 0.000335699000004297}, "lineno": 684, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_slist_file_single_trace_int32", "outcome": "passed", "keywords": ["test_read_slist_file_single_trace_int32", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001622590000067703}}, {"call": {"outcome": "passed", "duration": 0.0009349519999943823}, "setup": {"outcome": "passed", "duration": 0.0003327629999887449}, "lineno": 709, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_slist_file_single_trace_float64", "outcome": "passed", "keywords": ["test_read_slist_file_single_trace_float64", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024002200001405072}}, {"call": {"outcome": "failed", "duration": 0.006020520000021179, "longrepr": "013     GNU Lesser General Public License, Version 3\n014     (https://www.gnu.org/copyleft/lesser.html)\n015 \n016 Example\n017 -------\n018 \n019 It works by utilizing ObsPy's :func:`~obspy.core.event.read_events` function.\n020 \n021 >>> import obspy\n022 >>> cat = obspy.read_events(\"/path/to/CMTSOLUTION\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.cmtsolution[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008572490000062771}, "lineno": 2, "nodeid": "io/cmtsolution/__init__.py::obspy.io.cmtsolution", "outcome": "failed", "keywords": ["obspy.io.cmtsolution", "filterwarnings", "__init__.py", "cmtsolution", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001854019999996126}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007597500000144919, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 27, in test_read_and_write_cmtsolution_from_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011783909999962816}, "lineno": 17, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_read_and_write_cmtsolution_from_files", "outcome": "failed", "keywords": ["test_read_and_write_cmtsolution_from_files", "filterwarnings", "TestCmtsolution", "test_core.py", "tests", "cmtsolution", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017472199999701843}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007533280000018294, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 53, in test_write_no_preferred_focal_mechanism\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000546847999999045}, "lineno": 43, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_write_no_preferred_focal_mechanism", "outcome": "failed", "keywords": ["test_write_no_preferred_focal_mechanism", "filterwarnings", "TestCmtsolution", "test_core.py", "tests", "cmtsolution", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017682500001114931}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00037655399998470784, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 82, in test_read_and_write_cmtsolution_from_open_files\n    cat = obspy.read_events(fh)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003533910000044216}, "lineno": 70, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_read_and_write_cmtsolution_from_open_files", "outcome": "failed", "keywords": ["test_read_and_write_cmtsolution_from_open_files", "filterwarnings", "TestCmtsolution", "test_core.py", "tests", "cmtsolution", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020424699999921359}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003972519999990709, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 106, in test_read_and_write_cmtsolution_from_bytes_io\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032425800000623894}, "lineno": 90, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_read_and_write_cmtsolution_from_bytes_io", "outcome": "failed", "keywords": ["test_read_and_write_cmtsolution_from_bytes_io", "filterwarnings", "TestCmtsolution", "test_core.py", "tests", "cmtsolution", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017261799999346294}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003882050000072468, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 130, in test_read_and_write_cmtsolution_explosion\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003248390000010204}, "lineno": 114, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_read_and_write_cmtsolution_explosion", "outcome": "failed", "keywords": ["test_read_and_write_cmtsolution_explosion", "filterwarnings", "TestCmtsolution", "test_core.py", "tests", "cmtsolution", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017958099999759725}}, {"call": {"outcome": "passed", "duration": 0.004884488000016063}, "setup": {"outcome": "passed", "duration": 0.00036694600001396793}, "lineno": 138, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_is_cmtsolution", "outcome": "passed", "keywords": ["test_is_cmtsolution", "filterwarnings", "TestCmtsolution", "test_core.py", "tests", "cmtsolution", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017170600000326885}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00085488499999542, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 163, in test_read_and_write_multiple_cmtsolution_from_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035939200000711935}, "lineno": 153, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_read_and_write_multiple_cmtsolution_from_files", "outcome": "failed", "keywords": ["test_read_and_write_multiple_cmtsolution_from_files", "filterwarnings", "TestCmtsolution", "test_core.py", "tests", "cmtsolution", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017625499998530358}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004017800000042371, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 197, in test_read_and_write_multiple_events_from_bytes_io\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003290260000028411}, "lineno": 181, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_read_and_write_multiple_events_from_bytes_io", "outcome": "failed", "keywords": ["test_read_and_write_multiple_events_from_bytes_io", "filterwarnings", "TestCmtsolution", "test_core.py", "tests", "cmtsolution", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001839279999842347}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007591380000064873, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 213, in test_reading_newer_cmtsolution_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034909299998275856}, "lineno": 207, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_reading_newer_cmtsolution_files", "outcome": "failed", "keywords": ["test_reading_newer_cmtsolution_files", "filterwarnings", "TestCmtsolution", "test_core.py", "tests", "cmtsolution", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026391599999442406}}, {"call": {"outcome": "passed", "duration": 0.031496739000004936}, "setup": {"outcome": "passed", "duration": 0.002174496000009185}, "lineno": 13, "nodeid": "io/cnv/tests/test_core.py::TestCNV::test_write_cnv", "outcome": "passed", "keywords": ["test_write_cnv", "filterwarnings", "TestCNV", "test_core.py", "tests", "cnv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003041909999978998}}, {"call": {"outcome": "passed", "duration": 0.0006659979999881216}, "setup": {"outcome": "passed", "duration": 0.016325623000000178}, "lineno": 56, "nodeid": "io/css/tests/test_core.py::TestCore::test_is_css", "outcome": "passed", "keywords": ["test_is_css", "filterwarnings", "TestCore", "test_core.py", "tests", "css", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000220425999998497}}, {"call": {"outcome": "passed", "duration": 0.0006229280000127346}, "setup": {"outcome": "passed", "duration": 0.01504212899999402}, "lineno": 69, "nodeid": "io/css/tests/test_core.py::TestCore::test_is_nnsa_kb_core", "outcome": "passed", "keywords": ["test_is_nnsa_kb_core", "filterwarnings", "TestCore", "test_core.py", "tests", "css", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002315069999951902}}, {"call": {"outcome": "passed", "duration": 0.0003505059999895366}, "setup": {"outcome": "passed", "duration": 0.015028542999999672}, "lineno": 82, "nodeid": "io/css/tests/test_core.py::TestCore::test_is_not_this_format_core", "outcome": "passed", "keywords": ["test_is_not_this_format_core", "filterwarnings", "TestCore", "test_core.py", "tests", "css", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019975799997951071}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010107520000133263, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/css/tests/test_core.py\", line 94, in test_css_read_via_obspy\n    st = read(self.filename_css)\n         ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.015162940999999819}, "lineno": 88, "nodeid": "io/css/tests/test_core.py::TestCore::test_css_read_via_obspy", "outcome": "failed", "keywords": ["test_css_read_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "css", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023212799999328126}}, {"call": {"outcome": "passed", "duration": 0.002532744999996339}, "setup": {"outcome": "passed", "duration": 0.014788842000001523}, "lineno": 96, "nodeid": "io/css/tests/test_core.py::TestCore::test_css_read_via_module", "outcome": "passed", "keywords": ["test_css_read_via_module", "filterwarnings", "TestCore", "test_core.py", "tests", "css", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020669999997835475}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009646869999926366, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/css/tests/test_core.py\", line 113, in test_nnsa_kb_core_read_via_obspy\n    st = read(self.filename_nnsa)\n         ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.014813897999999881}, "lineno": 107, "nodeid": "io/css/tests/test_core.py::TestCore::test_nnsa_kb_core_read_via_obspy", "outcome": "failed", "keywords": ["test_nnsa_kb_core_read_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "css", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023784799998338713}}, {"call": {"outcome": "passed", "duration": 0.00242350400000646}, "setup": {"outcome": "passed", "duration": 0.015140249000012318}, "lineno": 115, "nodeid": "io/css/tests/test_core.py::TestCore::test_nnsa_kb_core_read_via_module", "outcome": "passed", "keywords": ["test_nnsa_kb_core_read_via_module", "filterwarnings", "TestCore", "test_core.py", "tests", "css", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021843199999693752}}, {"call": {"outcome": "passed", "duration": 0.003982906999993929}, "setup": {"outcome": "passed", "duration": 0.014693004999998038}, "lineno": 126, "nodeid": "io/css/tests/test_core.py::TestCore::test_css_2_read_via_module", "outcome": "passed", "keywords": ["test_css_2_read_via_module", "filterwarnings", "TestCore", "test_core.py", "tests", "css", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021053800000458978}}, {"call": {"outcome": "passed", "duration": 0.0014817699999980505}, "setup": {"outcome": "passed", "duration": 0.015146380000004456}, "lineno": 138, "nodeid": "io/css/tests/test_core.py::TestCore::test_css_3_read_via_module", "outcome": "passed", "keywords": ["test_css_3_read_via_module", "filterwarnings", "TestCore", "test_core.py", "tests", "css", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00038088099998390135}}, {"call": {"outcome": "passed", "duration": 0.07455725900001653}, "setup": {"outcome": "passed", "duration": 0.0007211079999933645}, "lineno": 49, "nodeid": "io/css/tests/test_station.py::TestCSSStation::test_default_write", "outcome": "passed", "keywords": ["test_default_write", "filterwarnings", "TestCSSStation", "test_station.py", "tests", "css", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002960459999883369}}, {"call": {"outcome": "failed", "duration": 0.00676596399998175, "longrepr": "004 \n005 \n006 Usage CSV\n007 ---------\n008 \n009 CSV format can be used to store a catalog with basic origin properties.\n010 Picks cannot be stored.\n011 \n012 >>> from obspy import read_events\n013 >>> events = read_events('/path/to/catalog.csv')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/__init__.py:13: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0009258260000137852}, "lineno": 0, "nodeid": "io/csv/__init__.py::obspy.io.csv", "outcome": "failed", "keywords": ["obspy.io.csv", "filterwarnings", "__init__.py", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018746499998201216}}, {"call": {"outcome": "failed", "duration": 0.0048788169999909314, "longrepr": "386     All kwargs are passed to :func:`load_csv`, e.g. use\n387     `only=('lat', 'lon', 'mag')`\n388     to get an array with lat, lon, mag parameters.\n389 \n390     Example\n391     -------\n392 \n393     >>> from obspy import read_events\n394     >>> from obspy.io.csv import _events2array\n395     >>> events = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv.core._events2array[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/core.py:395: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004543569999952979}, "lineno": 382, "nodeid": "io/csv/core.py::obspy.io.csv.core._events2array", "outcome": "failed", "keywords": ["obspy.io.csv.core._events2array", "filterwarnings", "core.py", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000185582000000295}}, {"call": {"outcome": "failed", "duration": 0.0060799199999905795, "longrepr": "142         otherwise can be specified as string, sequence or dict\n143     :param format_check: Check if the first event can be read\n144     :param **kargs: all other kwargs are passed to csv.DictReader,\n145         important additional arguments are fieldnames, dialect, delimiter, etc\n146 \n147     Example\n148     -------\n149 \n150     >>> from obspy import read_events\n151     >>> events = read_events('/path/to/catalog.csv')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv.core._read_csv[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/core.py:151: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034669900000494636}, "lineno": 132, "nodeid": "io/csv/core.py::obspy.io.csv.core._read_csv", "outcome": "failed", "keywords": ["obspy.io.csv.core._read_csv", "filterwarnings", "core.py", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019081100001017148}}, {"call": {"outcome": "failed", "duration": 0.004815099000012424, "longrepr": "265     .. warning::\n266         If the parameters `delimiter` or `header` are changed,\n267         ObsPy's read_events function will not automatically identify the file\n268         as CSV file\n269 \n270     Example\n271     -------\n272 \n273     >>> from obspy import read_events\n274     >>> events = read_events()  # get example catalog\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv.core._write_csv[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/core.py:274: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003376420000051894}, "lineno": 249, "nodeid": "io/csv/core.py::obspy.io.csv.core._write_csv", "outcome": "failed", "keywords": ["obspy.io.csv.core._write_csv", "filterwarnings", "core.py", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018813699998077027}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011801539999964916, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 14, in test_csv\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009054079999941678}, "lineno": 12, "nodeid": "io/csv/tests/test_csv.py::test_csv", "outcome": "failed", "keywords": ["test_csv", "filterwarnings", "test_csv.py", "tests", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018312700001388293}}, {"call": {"outcome": "passed", "duration": 0.019663201000014396}, "setup": {"outcome": "passed", "duration": 0.0003112640000040301}, "lineno": 26, "nodeid": "io/csv/tests/test_csv.py::test_csv_reading_external_catalog", "outcome": "passed", "keywords": ["test_csv_reading_external_catalog", "filterwarnings", "test_csv.py", "tests", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002119899999968311}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001154896999992161, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 43, in test_csv_incomplete_catalog\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003320410000071661}, "lineno": 41, "nodeid": "io/csv/tests/test_csv.py::test_csv_incomplete_catalog", "outcome": "failed", "keywords": ["test_csv_incomplete_catalog", "filterwarnings", "test_csv.py", "tests", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019498899999348396}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011479839999992691, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 71, in test_csv_custom_fmt\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033362500002454}, "lineno": 69, "nodeid": "io/csv/tests/test_csv.py::test_csv_custom_fmt", "outcome": "failed", "keywords": ["test_csv_custom_fmt", "filterwarnings", "test_csv.py", "tests", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021007700001973717}}, {"call": {"outcome": "passed", "duration": 0.0004283689999908802}, "setup": {"outcome": "passed", "duration": 0.0002992310000138332}, "lineno": 80, "nodeid": "io/csv/tests/test_csv.py::test_csv_empty", "outcome": "passed", "keywords": ["test_csv_empty", "filterwarnings", "test_csv.py", "tests", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001678890000107458}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0032779280000170274, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 88, in test_csz\n    events = read_events('/path/to/example.pha')\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002858770000102595}, "lineno": 86, "nodeid": "io/csv/tests/test_csv.py::test_csz", "outcome": "failed", "keywords": ["test_csz", "filterwarnings", "test_csv.py", "tests", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019147300000099676}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013251120000177252, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 128, in test_csz_without_picks\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003215419999946789}, "lineno": 126, "nodeid": "io/csv/tests/test_csv.py::test_csz_without_picks", "outcome": "failed", "keywords": ["test_csz_without_picks", "filterwarnings", "test_csv.py", "tests", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022497400001952883}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003115227999984427, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 139, in test_csz_without_check_compression_parameters\n    test_csz(check_compression=True)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 88, in test_csz\n    events = read_events('/path/to/example.pha')\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029901099998141945}, "lineno": 137, "nodeid": "io/csv/tests/test_csv.py::test_csz_without_check_compression_parameters", "outcome": "failed", "keywords": ["test_csz_without_check_compression_parameters", "filterwarnings", "test_csv.py", "tests", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018615299998714363}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011086419999912778, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 144, in test_load_csv\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031848699998704433}, "lineno": 142, "nodeid": "io/csv/tests/test_csv.py::test_load_csv", "outcome": "failed", "keywords": ["test_load_csv", "filterwarnings", "test_csv.py", "tests", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020732199999429213}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011179190000234485, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 158, in test_load_csv_incomplete_catalog\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002933700000085082}, "lineno": 156, "nodeid": "io/csv/tests/test_csv.py::test_load_csv_incomplete_catalog", "outcome": "failed", "keywords": ["test_load_csv_incomplete_catalog", "filterwarnings", "test_csv.py", "tests", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019055100000286984}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011144129999820507, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 173, in test_load_csv_some_cols\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029995200000598743}, "lineno": 171, "nodeid": "io/csv/tests/test_csv.py::test_load_csv_some_cols", "outcome": "failed", "keywords": ["test_load_csv_some_cols", "filterwarnings", "test_csv.py", "tests", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018667400001959322}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010772850000080325, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 190, in test_events2array\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003141589999984262}, "lineno": 188, "nodeid": "io/csv/tests/test_csv.py::test_events2array", "outcome": "failed", "keywords": ["test_events2array", "filterwarnings", "test_csv.py", "tests", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020011899999872185}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0038683960000014395, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 198, in test_eventtxt\n    events = read_events(fname)\n             ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003063340000153403}, "lineno": 194, "nodeid": "io/csv/tests/test_csv.py::test_eventtxt", "outcome": "failed", "keywords": ["test_eventtxt", "filterwarnings", "test_csv.py", "tests", "csv", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022020500000508036}}, {"call": {"outcome": "failed", "duration": 0.007049405000003617, "longrepr": "014 \n015 Reading\n016 -------\n017 \n018 Reading CyberShake waveform data is handled by using\n019 ObsPy's standard :func:`~obspy.core.stream.read` function. The format is\n020 detected automatically.\n021 \n022 >>> from obspy import read\n023 >>> st = read(\"/path/to/test.grm\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.cybershake[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cybershake/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008499750000225959}, "lineno": 1, "nodeid": "io/cybershake/__init__.py::obspy.io.cybershake", "outcome": "failed", "keywords": ["obspy.io.cybershake", "filterwarnings", "__init__.py", "cybershake", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019930700000259094}}, {"call": {"outcome": "passed", "duration": 0.0003340949999994791}, "setup": {"outcome": "passed", "duration": 0.0008229160000041702}, "lineno": 14, "nodeid": "io/cybershake/tests/test_core.py::TestCybershake::test_is_cybershake", "outcome": "passed", "keywords": ["test_is_cybershake", "filterwarnings", "TestCybershake", "test_core.py", "tests", "cybershake", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016275999999493251}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002211614000003692, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cybershake/tests/test_core.py\", line 37, in test_read_cybershake\n    st2 = read(valid_file)\n          ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003332839999927728}, "lineno": 30, "nodeid": "io/cybershake/tests/test_core.py::TestCybershake::test_read_cybershake", "outcome": "failed", "keywords": ["test_read_cybershake", "filterwarnings", "TestCybershake", "test_core.py", "tests", "cybershake", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002617229999941628}}, {"call": {"outcome": "failed", "duration": 0.006924875999999358, "longrepr": "019 Reading DMX is handled by using ObsPy's standard\n020 :func:`~obspy.core.stream.read` function. The format can be detected\n021 automatically, however setting the ``format`` parameter as \"DMX\" lead to a\n022 speed up.\n023 One optional keyword argument is available: ``station``. It is automatically\n024 passed to the :func:`obspy.io.dmx.core._read_dmx`. Its format \n025 \n026 >>> from obspy import read\n027 >>> # these two are equivalent, but the second case should be faster:\n028 >>> st = read(\"/path/to/131114_090600.dmx\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.dmx[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/dmx/__init__.py:28: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008273239999994075}, "lineno": 0, "nodeid": "io/dmx/__init__.py::obspy.io.dmx", "outcome": "failed", "keywords": ["obspy.io.dmx", "filterwarnings", "__init__.py", "dmx", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001893390000020645}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008642420000057882, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/dmx/tests/test_core.py\", line 23, in test_read_via_obspy\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0012032760000124654}, "lineno": 16, "nodeid": "io/dmx/tests/test_core.py::TestCore::test_read_via_obspy", "outcome": "failed", "keywords": ["test_read_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "dmx", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017711599997483063}}, {"call": {"outcome": "passed", "duration": 0.0018585040000118624}, "setup": {"outcome": "passed", "duration": 0.0005524170000228423}, "lineno": 34, "nodeid": "io/dmx/tests/test_core.py::TestCore::test_read_via_module", "outcome": "passed", "keywords": ["test_read_via_module", "filterwarnings", "TestCore", "test_core.py", "tests", "dmx", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017069499998001447}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008136790000037308, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/dmx/tests/test_core.py\", line 59, in test_read_with_station\n    st = read(filename, station='EMPL')\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033850299999471645}, "lineno": 52, "nodeid": "io/dmx/tests/test_core.py::TestCore::test_read_with_station", "outcome": "failed", "keywords": ["test_read_with_station", "filterwarnings", "TestCore", "test_core.py", "tests", "dmx", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001868439999839211}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008410490000017035, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/dmx/tests/test_core.py\", line 73, in test_check_data_content_sum\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035492399999270674}, "lineno": 66, "nodeid": "io/dmx/tests/test_core.py::TestCore::test_check_data_content_sum", "outcome": "failed", "keywords": ["test_check_data_content_sum", "filterwarnings", "TestCore", "test_core.py", "tests", "dmx", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026046900001119866}}, {"call": {"outcome": "passed", "duration": 0.0002885110000079294}, "setup": {"outcome": "passed", "duration": 0.0016953720000003614}, "lineno": 125, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_is_focmec", "outcome": "passed", "keywords": ["test_is_focmec", "filterwarnings", "TestFOCMEC", "test_core.py", "tests", "focmec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020269300000563817}}, {"call": {"outcome": "passed", "duration": 0.007375666000001502}, "setup": {"outcome": "passed", "duration": 0.0006599259999973128}, "lineno": 129, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_out", "outcome": "passed", "keywords": ["test_read_focmec_out", "filterwarnings", "TestFOCMEC", "test_core.py", "tests", "focmec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021660899997755223}}, {"call": {"outcome": "passed", "duration": 0.004230272000000923}, "setup": {"outcome": "passed", "duration": 0.0005210099999999329}, "lineno": 133, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_out_open_file", "outcome": "passed", "keywords": ["test_read_focmec_out_open_file", "filterwarnings", "TestFOCMEC", "test_core.py", "tests", "focmec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018576200000097742}}, {"call": {"outcome": "passed", "duration": 0.006796368999999913}, "setup": {"outcome": "passed", "duration": 0.0004972859999838875}, "lineno": 139, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_lst", "outcome": "passed", "keywords": ["test_read_focmec_lst", "filterwarnings", "TestFOCMEC", "test_core.py", "tests", "focmec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002201450000143268}}, {"call": {"outcome": "passed", "duration": 0.006393888000019388}, "setup": {"outcome": "passed", "duration": 0.0005280529999822647}, "lineno": 143, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_lst_open_file", "outcome": "passed", "keywords": ["test_read_focmec_lst_open_file", "filterwarnings", "TestFOCMEC", "test_core.py", "tests", "focmec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022164800000723517}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008273329999894941, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/focmec/tests/test_core.py\", line 151, in test_read_focmec_out_through_plugin\n    cat = read_events(self.out_file)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005274119999967297}, "lineno": 149, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_out_through_plugin", "outcome": "failed", "keywords": ["test_read_focmec_out_through_plugin", "filterwarnings", "TestFOCMEC", "test_core.py", "tests", "focmec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002082240000049751}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007334910000054151, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/focmec/tests/test_core.py\", line 155, in test_read_focmec_lst_through_plugin\n    cat = read_events(self.lst_file)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005018140000174753}, "lineno": 153, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_lst_through_plugin", "outcome": "failed", "keywords": ["test_read_focmec_lst_through_plugin", "filterwarnings", "TestFOCMEC", "test_core.py", "tests", "focmec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019263499999055966}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007896150000021862, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/focmec/tests/test_core.py\", line 169, in test_read_focmec_lst_other_flavors\n    cat = read_events(testdata['focmec_qedUWne.lst'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00047270100000673665}, "lineno": 157, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_lst_other_flavors", "outcome": "failed", "keywords": ["test_read_focmec_lst_other_flavors", "filterwarnings", "TestFOCMEC", "test_core.py", "tests", "focmec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000336158999999725}}, {"call": {"outcome": "failed", "duration": 0.007990678999988177, "longrepr": "015     (https://www.gnu.org/copyleft/lesser.html)\n016 \n017 Reading\n018 -------\n019 \n020 Similar to reading any other waveform data format using :mod:`obspy.core`\n021 The format will be determined automatically.\n022 \n023 >>> from obspy import read\n024 >>> st = read(\"/path/to/20160603_1955n.gcf\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gcf[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008622579999837399}, "lineno": 1, "nodeid": "io/gcf/__init__.py::obspy.io.gcf", "outcome": "failed", "keywords": ["obspy.io.gcf", "filterwarnings", "__init__.py", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018841700000393757}}, {"call": {"outcome": "passed", "duration": 0.007589219999999841}, "setup": {"outcome": "passed", "duration": 0.00045508900001323127}, "lineno": 327, "nodeid": "io/gcf/core.py::obspy.io.gcf.core._read_gcf", "outcome": "passed", "keywords": ["obspy.io.gcf.core._read_gcf", "filterwarnings", "core.py", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017690600000719314}}, {"call": {"outcome": "skipped", "duration": 0.0002151569999853109, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00033344400000601127}, "lineno": 550, "nodeid": "io/gcf/core.py::obspy.io.gcf.core._write_gcf", "outcome": "skipped", "keywords": ["obspy.io.gcf.core._write_gcf", "filterwarnings", "core.py", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016889100001549195}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008482920000005834, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 32, in test_read_via_obspy\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011750540000150522}, "lineno": 25, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_read_via_obspy", "outcome": "failed", "keywords": ["test_read_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001771359999906963}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010281539999823508, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 51, in test_read_head_via_obspy\n    st = read(filename, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003385939999986931}, "lineno": 44, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_read_head_via_obspy", "outcome": "failed", "keywords": ["test_read_head_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000181635000018332}}, {"call": {"outcome": "passed", "duration": 0.001666739999990341}, "setup": {"outcome": "passed", "duration": 0.00033955499998228333}, "lineno": 61, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_read_via_module", "outcome": "passed", "keywords": ["test_read_via_module", "filterwarnings", "TestCore", "test_core.py", "tests", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001931760000104532}}, {"call": {"outcome": "passed", "duration": 0.001292800999976862}, "setup": {"outcome": "passed", "duration": 0.0003366499999799544}, "lineno": 80, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_read_head_via_module", "outcome": "passed", "keywords": ["test_read_head_via_module", "filterwarnings", "TestCore", "test_core.py", "tests", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016552499999988868}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008588019999820062, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 104, in test_read_channel_prefix_via_obspy\n    st = read(filename, headonly=True, channel_prefix=\"HN\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033354499998949905}, "lineno": 97, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_read_channel_prefix_via_obspy", "outcome": "failed", "keywords": ["test_read_channel_prefix_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017698599998539066}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008147100000144292, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 121, in test_merge_gcf_stream\n    st1 = read(filename, headonly=True, channel_prefix=\"HN\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003305290000241712}, "lineno": 114, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_merge_gcf_stream", "outcome": "failed", "keywords": ["test_merge_gcf_stream", "filterwarnings", "TestCore", "test_core.py", "tests", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019564999999488464}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015379829999915273, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 146, in test_sps_d\n    st = read(filename, headonly=True, channel_prefix=\"HN\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033280200000262994}, "lineno": 139, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_sps_d", "outcome": "failed", "keywords": ["test_sps_d", "filterwarnings", "TestCore", "test_core.py", "tests", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018652399998586588}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008518989999970472, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 163, in test_read_no_merge\n    st = read(filename, blockmerge=False, channel_prefix=\"HN\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034287099998664416}, "lineno": 156, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_read_no_merge", "outcome": "failed", "keywords": ["test_read_no_merge", "filterwarnings", "TestCore", "test_core.py", "tests", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021000700002105077}}, {"call": {"outcome": "passed", "duration": 0.011364353999994137}, "setup": {"outcome": "passed", "duration": 0.0003002629999855344}, "lineno": 187, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_write_read_fractional_start", "outcome": "passed", "keywords": ["test_write_read_fractional_start", "filterwarnings", "TestCore", "test_core.py", "tests", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021085800000264499}}, {"call": {"outcome": "passed", "duration": 0.18776553600000057}, "setup": {"outcome": "passed", "duration": 0.00037257599998952173}, "lineno": 258, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_write_read", "outcome": "passed", "keywords": ["test_write_read", "filterwarnings", "TestCore", "test_core.py", "tests", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002482879999945453}}, {"call": {"outcome": "passed", "duration": 0.002619204000012587}, "setup": {"outcome": "passed", "duration": 0.000357830000012882}, "lineno": 304, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_split_last_block", "outcome": "passed", "keywords": ["test_split_last_block", "filterwarnings", "TestCore", "test_core.py", "tests", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027575800001500284}}, {"call": {"outcome": "failed", "duration": 0.007824984999984963, "longrepr": "016 :license:\n017     GNU Lesser General Public License, Version 3\n018     (https://www.gnu.org/copyleft/lesser.html)\n019 \n020 Reading waveform data\n021 ---------------------\n022 Similar to reading any other waveform data format using :mod:`obspy.core`:\n023 \n024 >>> from obspy import read\n025 >>> st = read(\"/path/to/loc_RJOB20050831023349.z\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/__init__.py:25: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00086762899999826}, "lineno": 1, "nodeid": "io/gse2/__init__.py::obspy.io.gse2", "outcome": "failed", "keywords": ["obspy.io.gse2", "filterwarnings", "__init__.py", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001939470000138499}}, {"call": {"outcome": "failed", "duration": 0.007866119999988541, "longrepr": "1118     ...         'az': slice(40, 46),\n1119     ...         'antype': slice(105, 106),\n1120     ...         'loctype': slice(107, 108),\n1121     ...         'evtype': slice(109, 111),\n1122     ...     },\n1123     ...     'arrival': {\n1124     ...         'amp': slice(94, 104),\n1125     ...     },\n1126     ... }\n1127     >>> catalog = read_events('/path/to/bulletin/gse_2.0_non_standard.txt',\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.bulletin._read_gse2[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/bulletin.py:1127: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004671309999935147}, "lineno": 1004, "nodeid": "io/gse2/bulletin.py::obspy.io.gse2.bulletin._read_gse2", "outcome": "failed", "keywords": ["obspy.io.gse2.bulletin._read_gse2", "filterwarnings", "bulletin.py", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020134100000746002}}, {"call": {"outcome": "failed", "duration": 0.007410880999998426, "longrepr": "142     :type verify_chksum: bool, optional\n143     :param verify_chksum: If True verify Checksum and raise Exception if\n144         it is not correct.\n145     :rtype: :class:`~obspy.core.stream.Stream`\n146     :returns: Stream object containing header and data.\n147 \n148     .. rubric:: Example\n149 \n150     >>> from obspy import read\n151     >>> st = read(\"/path/to/y2000.gse\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.core._read_gse1[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/core.py:151: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004701560000057725}, "lineno": 128, "nodeid": "io/gse2/core.py::obspy.io.gse2.core._read_gse1", "outcome": "failed", "keywords": ["obspy.io.gse2.core._read_gse1", "filterwarnings", "core.py", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018806599999265927}}, {"call": {"outcome": "failed", "duration": 0.007260314000006929, "longrepr": "044     :type verify_chksum: bool, optional\n045     :param verify_chksum: If True verify Checksum and raise Exception if\n046         it is not correct.\n047     :rtype: :class:`~obspy.core.stream.Stream`\n048     :returns: Stream object containing header and data.\n049 \n050     .. rubric:: Example\n051 \n052     >>> from obspy import read\n053     >>> st = read(\"/path/to/loc_RJOB20050831023349.z\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.core._read_gse2[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/core.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005811110000024655}, "lineno": 30, "nodeid": "io/gse2/core.py::obspy.io.gse2.core._read_gse2", "outcome": "failed", "keywords": ["obspy.io.gse2.core._read_gse2", "filterwarnings", "core.py", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018819699999994555}}, {"call": {"outcome": "failed", "duration": 0.008603778999997758, "longrepr": "083     :param filename: Name of file to write.\n084     :type inplace: bool, optional\n085     :param inplace: If True, do compression not on a copy of the data but\n086         on the data itself - note this will change the data values and make\n087         them therefore unusable!\n088 \n089     .. rubric:: Example\n090 \n091     >>> from obspy import read\n092     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.core._write_gse2[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/core.py:92: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005109820000086529}, "lineno": 71, "nodeid": "io/gse2/core.py::obspy.io.gse2.core._write_gse2", "outcome": "failed", "keywords": ["obspy.io.gse2.core._write_gse2", "filterwarnings", "core.py", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002193739999825084}}, {"call": {"outcome": "passed", "duration": 0.0031345239999893693}, "setup": {"outcome": "passed", "duration": 0.0005027459999951134}, "lineno": 446, "nodeid": "io/gse2/libgse2.py::obspy.io.gse2.libgse2.parse_sta2", "outcome": "passed", "keywords": ["obspy.io.gse2.libgse2.parse_sta2", "filterwarnings", "libgse2.py", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018281600000591425}}, {"call": {"outcome": "passed", "duration": 0.0030996400000162794}, "setup": {"outcome": "passed", "duration": 0.0004490770000131761}, "lineno": 93, "nodeid": "io/gse2/paz.py::obspy.io.gse2.paz.attach_paz", "outcome": "passed", "keywords": ["obspy.io.gse2.paz.attach_paz", "filterwarnings", "paz.py", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016607599999929334}}, {"call": {"outcome": "passed", "duration": 0.002791201000007959}, "setup": {"outcome": "passed", "duration": 0.00032014000001368004}, "lineno": 29, "nodeid": "io/gse2/paz.py::obspy.io.gse2.paz.read_paz", "outcome": "passed", "keywords": ["obspy.io.gse2.paz.read_paz", "filterwarnings", "paz.py", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016757899999220172}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.021122709999986, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/weakref.py\", line 347, in __new__\n    def __new__(type, ob, callback, key):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0010149599999920156}, "lineno": 27, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_catalog", "outcome": "failed", "keywords": ["test_catalog", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022097699999790166}}, {"call": {"outcome": "passed", "duration": 0.016597755000020697}, "setup": {"outcome": "passed", "duration": 0.00037996999998313186}, "lineno": 41, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_event", "outcome": "passed", "keywords": ["test_event", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002016809999929592}}, {"call": {"outcome": "passed", "duration": 0.017234157000018513}, "setup": {"outcome": "passed", "duration": 0.0003589210000143339}, "lineno": 68, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_origin", "outcome": "passed", "keywords": ["test_origin", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019782500001497283}}, {"call": {"outcome": "passed", "duration": 0.017005284999981995}, "setup": {"outcome": "passed", "duration": 0.00037886800001274423}, "lineno": 125, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_pick", "outcome": "passed", "keywords": ["test_pick", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019397799999865128}}, {"call": {"outcome": "passed", "duration": 0.01681355200000212}, "setup": {"outcome": "passed", "duration": 0.00034588799999824005}, "lineno": 181, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_arrival", "outcome": "passed", "keywords": ["test_arrival", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001963009999883525}}, {"call": {"outcome": "passed", "duration": 0.016793283999987807}, "setup": {"outcome": "passed", "duration": 0.0003446749999795884}, "lineno": 230, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_magnitude", "outcome": "passed", "keywords": ["test_magnitude", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002387100000191822}}, {"call": {"outcome": "passed", "duration": 0.03995821499998442}, "setup": {"outcome": "passed", "duration": 0.0003919709999991028}, "lineno": 270, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_station_magnitude", "outcome": "passed", "keywords": ["test_station_magnitude", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022320200000081059}}, {"call": {"outcome": "passed", "duration": 0.017172482999995964}, "setup": {"outcome": "passed", "duration": 0.00038000000000693035}, "lineno": 348, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_amplitude", "outcome": "passed", "keywords": ["test_amplitude", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020580899999345093}}, {"call": {"outcome": "passed", "duration": 0.02939079899999797}, "setup": {"outcome": "passed", "duration": 0.0003945369999769355}, "lineno": 412, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_several_events", "outcome": "passed", "keywords": ["test_several_events", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023169700000380544}}, {"call": {"outcome": "passed", "duration": 0.017028447999990703}, "setup": {"outcome": "passed", "duration": 0.00041238999997972314}, "lineno": 444, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_parameters", "outcome": "passed", "keywords": ["test_parameters", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019612200000551638}}, {"call": {"outcome": "passed", "duration": 0.026978846999980988}, "setup": {"outcome": "passed", "duration": 0.00035741900001085014}, "lineno": 556, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_non_standard_format", "outcome": "passed", "keywords": ["test_non_standard_format", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022747900001718335}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009641070000157015, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_bulletin.py\", line 605, in test_inventory\n    inventory = read_inventory(inventory_filename)\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003948170000001028}, "lineno": 601, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_inventory", "outcome": "failed", "keywords": ["test_inventory", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019088199999828248}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008477410000011787, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_bulletin.py\", line 645, in test_inventory_with_multiple_channels\n    inventory = read_inventory(inventory_filename)\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033794199998737895}, "lineno": 640, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_inventory_with_multiple_channels", "outcome": "failed", "keywords": ["test_inventory_with_multiple_channels", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002084040000056575}}, {"call": {"outcome": "passed", "duration": 0.03015581899998665}, "setup": {"outcome": "passed", "duration": 0.00032854500000212283}, "lineno": 686, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_several_begin", "outcome": "passed", "keywords": ["test_several_begin", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023412099997699443}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009141040000031353, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_bulletin.py\", line 724, in test_read_events\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039030899998238056}, "lineno": 718, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_read_events", "outcome": "failed", "keywords": ["test_read_events", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018180600000050617}}, {"call": {"outcome": "passed", "duration": 0.008325665999990406}, "setup": {"outcome": "passed", "duration": 0.00034768099999382684}, "lineno": 726, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_incomplete_file", "outcome": "passed", "keywords": ["test_incomplete_file", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002432180000084827}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009809760000223378, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 28, in test_read_via_obspy\n    st = read(gse2file, verify_checksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009445100000107232}, "lineno": 20, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_via_obspy", "outcome": "failed", "keywords": ["test_read_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018387899999083857}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008676780000200779, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 49, in test_read_head_via_obspy\n    st = read(gse2file, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037609299999985524}, "lineno": 42, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_head_via_obspy", "outcome": "failed", "keywords": ["test_read_head_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018924799999808783}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008565079999982572, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 67, in test_read_and_write_via_obspy\n    st1 = read(gse2file)\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003408869999930175}, "lineno": 60, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_and_write_via_obspy", "outcome": "failed", "keywords": ["test_read_and_write_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002011199999856217}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013766760000066824, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 113, in test_read_and_write_streams_via_obspy\n    st1 = read(tf.name)\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003416600000036851}, "lineno": 96, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_and_write_streams_via_obspy", "outcome": "failed", "keywords": ["test_read_and_write_streams_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018813600001976738}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004887123000003157, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 159, in test_write_integers_via_obspy\n    stream = read(tempfile)\n             ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003028980000010506}, "lineno": 138, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_write_integers_via_obspy", "outcome": "failed", "keywords": ["test_write_integers_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022564599998986523}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008057239999743615, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 174, in test_tab_complete_stats\n    tr = read(gse2file)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035380200000645345}, "lineno": 167, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_tab_complete_stats", "outcome": "failed", "keywords": ["test_tab_complete_stats", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018626299998913964}}, {"call": {"outcome": "passed", "duration": 0.0011791020000089247}, "setup": {"outcome": "passed", "duration": 0.00033621899999047855}, "lineno": 181, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_write_wrong_format", "outcome": "passed", "keywords": ["test_write_wrong_format", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001740810000114834}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008480730000144376, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 200, in test_read_with_wrong_checksum\n    read(gse2file, verify_chksum=False)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004133209999963583}, "lineno": 192, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_with_wrong_checksum", "outcome": "failed", "keywords": ["test_read_with_wrong_checksum", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001854320000234111}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008221039999796176, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 212, in test_read_with_wrong_parameters\n    read(gse2file, verify_chksum=False, starttime=None)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000371403999992026}, "lineno": 204, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_with_wrong_parameters", "outcome": "failed", "keywords": ["test_read_with_wrong_parameters", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018975899999418289}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008255399999939073, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 221, in test_read_gse1_via_obspy\n    st = read(gse1file, verify_checksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003416490000063277}, "lineno": 213, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_gse1_via_obspy", "outcome": "failed", "keywords": ["test_read_gse1_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017810800000006566}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007884530000126233, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 238, in test_read_gse1_head_via_obspy\n    st = read(gse1file, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033509700000422527}, "lineno": 231, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_gse1_head_via_obspy", "outcome": "failed", "keywords": ["test_read_gse1_head_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017233700000929275}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012064630000168108, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 257, in test_read_intv_gse1_via_obspy\n    read(gse1file, verify_chksum=True)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003285950000133653}, "lineno": 246, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_intv_gse1_via_obspy", "outcome": "failed", "keywords": ["test_read_intv_gse1_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001777679999861448}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007623340000009193, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 295, in test_read_dos\n    st = read(filedos, verify_chksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037086300000055417}, "lineno": 286, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_dos", "outcome": "failed", "keywords": ["test_read_dos", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017519300001822558}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007788649999724839, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 307, in test_read_apply_calib\n    st = read(gse2file, apply_calib=False)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003560760000027585}, "lineno": 299, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_apply_calib", "outcome": "failed", "keywords": ["test_read_apply_calib", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018616299999507646}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002072476999984474, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 327, in test_write_and_read_correct_network\n    tr = read(tmpfile)[0]\n         ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031378799999970397}, "lineno": 315, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_write_and_read_correct_network", "outcome": "failed", "keywords": ["test_write_and_read_correct_network", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018239600001379586}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008104830000092988, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 337, in test_read_gse2_int_datatype\n    st = read(gse2file, verify_checksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005132150000122238}, "lineno": 329, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_gse2_int_datatype", "outcome": "failed", "keywords": ["test_read_gse2_int_datatype", "filterwarnings", "TestCore", "test_core.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000247645999991164}}, {"call": {"outcome": "passed", "duration": 0.006033002999998871}, "setup": {"outcome": "passed", "duration": 0.0008605049999914627}, "lineno": 14, "nodeid": "io/gse2/tests/test_libgse1.py::TestLibGSE1::test_verify_checksums", "outcome": "passed", "keywords": ["test_verify_checksums", "filterwarnings", "TestLibGSE1", "test_libgse1.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024077300000158175}}, {"call": {"outcome": "passed", "duration": 0.0012575069999911648}, "setup": {"outcome": "passed", "duration": 0.0008449259999849801}, "lineno": 23, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_read", "outcome": "passed", "keywords": ["test_read", "filterwarnings", "TestLibGSE2", "test_libgse2.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001628599999889957}}, {"call": {"outcome": "passed", "duration": 0.0020734290000063993}, "setup": {"outcome": "passed", "duration": 0.0003349969999817404}, "lineno": 48, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_read_with_wrong_checksum", "outcome": "passed", "keywords": ["test_read_with_wrong_checksum", "filterwarnings", "TestLibGSE2", "test_libgse2.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001656049999780862}}, {"call": {"outcome": "passed", "duration": 0.02023109599997497}, "setup": {"outcome": "passed", "duration": 0.00032844500000805965}, "lineno": 62, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_read_and_write", "outcome": "passed", "keywords": ["test_read_and_write", "filterwarnings", "TestLibGSE2", "test_libgse2.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021728999999481857}}, {"call": {"outcome": "passed", "duration": 0.01950526900000682}, "setup": {"outcome": "passed", "duration": 0.00038661199999978635}, "lineno": 80, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_bytes_io", "outcome": "passed", "keywords": ["test_bytes_io", "filterwarnings", "TestLibGSE2", "test_libgse2.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002296730000068692}}, {"call": {"outcome": "passed", "duration": 0.00042093599998338505}, "setup": {"outcome": "passed", "duration": 0.00045110100001011233}, "lineno": 101, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_read_header", "outcome": "passed", "keywords": ["test_read_header", "filterwarnings", "TestLibGSE2", "test_libgse2.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017132600001446008}}, {"call": {"outcome": "passed", "duration": 0.0003066950000061297}, "setup": {"outcome": "passed", "duration": 0.0003319719999979043}, "lineno": 118, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_is_widi_2", "outcome": "passed", "keywords": ["test_is_widi_2", "filterwarnings", "TestLibGSE2", "test_libgse2.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016921200000297176}}, {"call": {"outcome": "passed", "duration": 0.0004913749999957417}, "setup": {"outcome": "passed", "duration": 0.00027960500000290267}, "lineno": 132, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_max_value_exceeded", "outcome": "passed", "keywords": ["test_max_value_exceeded", "filterwarnings", "TestLibGSE2", "test_libgse2.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017404999999826032}}, {"call": {"outcome": "passed", "duration": 0.0005003709999868988}, "setup": {"outcome": "passed", "duration": 0.000291106000020136}, "lineno": 149, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_array_not_numpy", "outcome": "passed", "keywords": ["test_array_not_numpy", "filterwarnings", "TestLibGSE2", "test_libgse2.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016777899998032808}}, {"call": {"outcome": "passed", "duration": 0.0005561440000008133}, "setup": {"outcome": "passed", "duration": 0.0003399969999975383}, "lineno": 170, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_chk2_in_cm6", "outcome": "passed", "keywords": ["test_chk2_in_cm6", "filterwarnings", "TestLibGSE2", "test_libgse2.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017047400001501956}}, {"call": {"outcome": "passed", "duration": 0.00041348199999902135}, "setup": {"outcome": "passed", "duration": 0.0003157419999979538}, "lineno": 181, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_broken_head", "outcome": "passed", "keywords": ["test_broken_head", "filterwarnings", "TestLibGSE2", "test_libgse2.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016487400000642083}}, {"call": {"outcome": "passed", "duration": 0.0005391830000007758}, "setup": {"outcome": "passed", "duration": 0.00034743000000503343}, "lineno": 190, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_no_dat2_null_pointer", "outcome": "passed", "keywords": ["test_no_dat2_null_pointer", "filterwarnings", "TestLibGSE2", "test_libgse2.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001694719999818517}}, {"call": {"outcome": "passed", "duration": 0.0005929120000018884}, "setup": {"outcome": "passed", "duration": 0.0003170439999848895}, "lineno": 207, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_parse_sta2", "outcome": "passed", "keywords": ["test_parse_sta2", "filterwarnings", "TestLibGSE2", "test_libgse2.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002426570000011452}}, {"call": {"outcome": "passed", "duration": 0.00030836799999178766}, "setup": {"outcome": "passed", "duration": 0.00041601700002047437}, "lineno": 14, "nodeid": "io/gse2/tests/test_paz.py::TestPAZ::test_read_with_spaces", "outcome": "passed", "keywords": ["test_read_with_spaces", "filterwarnings", "TestPAZ", "test_paz.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015789099998642087}}, {"call": {"outcome": "passed", "duration": 0.00036934999999971296}, "setup": {"outcome": "passed", "duration": 0.00030678499999226005}, "lineno": 36, "nodeid": "io/gse2/tests/test_paz.py::TestPAZ::test_read_without_spaces", "outcome": "passed", "keywords": ["test_read_without_spaces", "filterwarnings", "TestPAZ", "test_paz.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001640220000069803}}, {"call": {"outcome": "failed", "duration": 0.007459201000017401, "longrepr": "013 \n014 \n015 Usage Example\n016 -------------\n017 \n018 The PHA reader hooks into the standard ObsPy event handling\n019 mechanisms including format autodetection.\n020 \n021 >>> from obspy import read_events\n022 >>> cat = read_events('/path/to/example.pha')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.hypodd[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000824618000024202}, "lineno": 1, "nodeid": "io/hypodd/__init__.py::obspy.io.hypodd", "outcome": "failed", "keywords": ["obspy.io.hypodd", "filterwarnings", "__init__.py", "hypodd", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001946179999947617}}, {"call": {"outcome": "passed", "duration": 0.00034606700000949786}, "setup": {"outcome": "passed", "duration": 0.0012845060000188369}, "lineno": 19, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_is_pha", "outcome": "passed", "keywords": ["test_is_pha", "filterwarnings", "TestPHA", "test_pha.py", "tests", "hypodd", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001845600000081049}}, {"call": {"outcome": "passed", "duration": 0.00028822099997682926}, "setup": {"outcome": "passed", "duration": 0.0004153960000223833}, "lineno": 22, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_is_not_pha", "outcome": "passed", "keywords": ["test_is_not_pha", "filterwarnings", "TestPHA", "test_pha.py", "tests", "hypodd", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017564299997729904}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009070499999950243, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 28, in test_read_pha\n    cat = read_events(self.fname)\n          ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038714300001174706}, "lineno": 26, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_read_pha", "outcome": "failed", "keywords": ["test_read_pha", "filterwarnings", "TestPHA", "test_pha.py", "tests", "hypodd", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019791400001167858}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008073970000168629, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 65, in test_60s_nan\n    cat = read_events(self.fname2)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044734400000834285}, "lineno": 60, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_60s_nan", "outcome": "failed", "keywords": ["test_60s_nan", "filterwarnings", "TestPHA", "test_pha.py", "tests", "hypodd", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002144849999865528}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.05922802099999558, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 79, in test_populate_waveform_id\n    cat = read_events(self.fname, inventory=inv)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004245719999858011}, "lineno": 74, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_populate_waveform_id", "outcome": "failed", "keywords": ["test_populate_waveform_id", "filterwarnings", "TestPHA", "test_pha.py", "tests", "hypodd", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025902799998789305}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007652090000078715, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 97, in test_eventid_map\n    cat = read_events(self.fname) + read_events(self.fname2)\n          ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000469264999992447}, "lineno": 95, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_eventid_map", "outcome": "failed", "keywords": ["test_eventid_map", "filterwarnings", "TestPHA", "test_pha.py", "tests", "hypodd", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002046369999959552}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000777741999996806, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 124, in test_write_pha\n    cat = read_events(self.fname)\n          ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004175799999757146}, "lineno": 120, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_write_pha", "outcome": "failed", "keywords": ["test_write_pha", "filterwarnings", "TestPHA", "test_pha.py", "tests", "hypodd", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022734899999932168}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.014838894000007485, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 146, in test_write_pha_minimal\n    cat2 = read_events(tempfile)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004458509999949456}, "lineno": 132, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_write_pha_minimal", "outcome": "failed", "keywords": ["test_write_pha_minimal", "filterwarnings", "TestPHA", "test_pha.py", "tests", "hypodd", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003988040000137971}}, {"call": {"outcome": "passed", "duration": 0.21057121500001585}, "setup": {"outcome": "passed", "duration": 0.001658695000003263}, "lineno": 89, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_reading", "outcome": "passed", "keywords": ["test_reading", "filterwarnings", "TestIASPEI", "test_core.py", "tests", "iaspei", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002494090000197957}}, {"call": {"outcome": "passed", "duration": 0.4088777979999918}, "setup": {"outcome": "passed", "duration": 0.0004795330000035847}, "lineno": 97, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_reading_via_file", "outcome": "passed", "keywords": ["test_reading_via_file", "filterwarnings", "TestIASPEI", "test_core.py", "tests", "iaspei", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000265478999978086}}, {"call": {"outcome": "passed", "duration": 0.2045326799999998}, "setup": {"outcome": "passed", "duration": 0.000510830999985501}, "lineno": 111, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_reading_via_bytes_io", "outcome": "passed", "keywords": ["test_reading_via_bytes_io", "filterwarnings", "TestIASPEI", "test_core.py", "tests", "iaspei", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025561100000004444}}, {"call": {"outcome": "passed", "duration": 0.21627829600001292}, "setup": {"outcome": "passed", "duration": 0.0005236649999744714}, "lineno": 122, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_reading_via_plugin", "outcome": "passed", "keywords": ["test_reading_via_plugin", "filterwarnings", "TestIASPEI", "test_core.py", "tests", "iaspei", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025079200000277524}}, {"call": {"outcome": "passed", "duration": 0.0003287050000153613}, "setup": {"outcome": "passed", "duration": 0.0005251679999958014}, "lineno": 131, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_is_ims10_bulltin", "outcome": "passed", "keywords": ["test_is_ims10_bulltin", "filterwarnings", "TestIASPEI", "test_core.py", "tests", "iaspei", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020307399998387154}}, {"call": {"outcome": "passed", "duration": 0.00036824900001874994}, "setup": {"outcome": "passed", "duration": 0.0003844780000008541}, "lineno": 138, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_is_ims10_bulltin_open_file", "outcome": "passed", "keywords": ["test_is_ims10_bulltin_open_file", "filterwarnings", "TestIASPEI", "test_core.py", "tests", "iaspei", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001797710000062125}}, {"call": {"outcome": "passed", "duration": 0.00029277900000579393}, "setup": {"outcome": "passed", "duration": 0.00038633099998719445}, "lineno": 151, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_is_ims10_bulltin_from_bytes_io", "outcome": "passed", "keywords": ["test_is_ims10_bulltin_from_bytes_io", "filterwarnings", "TestIASPEI", "test_core.py", "tests", "iaspei", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030972999999789863}}, {"call": {"outcome": "failed", "duration": 0.005358069000010346, "longrepr": "007 Default : a class to create a \"default\" function accepted by the\n008 python :py:mod:`json` module Encoder classes, valid for\n009 :class:`~obspy.core.event.event.Event` objects.\n010 \n011 Example\n012 -------\n013 >>> import json\n014 >>> from obspy import read_events\n015 >>> from obspy.io.json.default import Default\n016 >>> c = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.json.default[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/json/default.py:16: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00090414599998212}, "lineno": 1, "nodeid": "io/json/default.py::obspy.io.json.default", "outcome": "failed", "keywords": ["obspy.io.json.default", "filterwarnings", "default.py", "json", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020217200000161029}}, {"call": {"outcome": "passed", "duration": 0.0007646990000012011}, "setup": {"outcome": "passed", "duration": 0.004702242000007573}, "lineno": 26, "nodeid": "io/json/tests/test_json.py::TestJSON::test_default", "outcome": "passed", "keywords": ["test_default", "filterwarnings", "TestJSON", "test_json.py", "tests", "json", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018175499999983913}}, {"call": {"outcome": "passed", "duration": 0.0010079370000255494}, "setup": {"outcome": "passed", "duration": 0.0037940790000163815}, "lineno": 37, "nodeid": "io/json/tests/test_json.py::TestJSON::test_get_dump_kwargs", "outcome": "passed", "keywords": ["test_get_dump_kwargs", "filterwarnings", "TestJSON", "test_json.py", "tests", "json", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019221400000901667}}, {"call": {"outcome": "passed", "duration": 0.01977334400001496}, "setup": {"outcome": "passed", "duration": 0.0037872970000023543}, "lineno": 57, "nodeid": "io/json/tests/test_json.py::TestJSON::test_write_json", "outcome": "passed", "keywords": ["test_write_json", "filterwarnings", "TestJSON", "test_json.py", "tests", "json", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003036290000011377}}, {"call": {"outcome": "failed", "duration": 0.008606702999998106, "longrepr": "015 :license:\n016     GNU Lesser General Public License, Version 3\n017     (https://www.gnu.org/copyleft/lesser.html)\n018 \n019 Reading\n020 -------\n021 Similar to reading any other waveform data format using obspy.core:\n022 \n023     >>> from obspy import read\n024     >>> st = read(\"/path/to/BI008_MEMA-04823.evt\", apply_calib=False)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.kinemetrics[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0009572140000102536}, "lineno": 1, "nodeid": "io/kinemetrics/__init__.py::obspy.io.kinemetrics", "outcome": "failed", "keywords": ["obspy.io.kinemetrics", "filterwarnings", "__init__.py", "kinemetrics", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021857199999431032}}, {"call": {"outcome": "passed", "duration": 0.0012344339999970089}, "setup": {"outcome": "passed", "duration": 0.0012860890000183645}, "lineno": 19, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_is_evt", "outcome": "passed", "keywords": ["test_is_evt", "filterwarnings", "TestCore", "test_core.py", "tests", "kinemetrics", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001699640000083491}}, {"call": {"outcome": "passed", "duration": 0.0006012369999837119}, "setup": {"outcome": "passed", "duration": 0.00035295999998652405}, "lineno": 36, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_is_evt_from_bytesio", "outcome": "passed", "keywords": ["test_is_evt_from_bytesio", "filterwarnings", "TestCore", "test_core.py", "tests", "kinemetrics", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016833999998766558}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009047969999755878, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 69, in test_read_via_obspy1\n    st = read(filename, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032021999999187756}, "lineno": 62, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_obspy1", "outcome": "failed", "keywords": ["test_read_via_obspy1", "filterwarnings", "TestCore", "test_core.py", "tests", "kinemetrics", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001755939999839029}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009024120000162839, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 95, in test_read_via_obspy2\n    st = read(filename, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003550840000059452}, "lineno": 87, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_obspy2", "outcome": "failed", "keywords": ["test_read_via_obspy2", "filterwarnings", "TestCore", "test_core.py", "tests", "kinemetrics", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001756229999898551}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006902220000029047, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 125, in test_read_via_obspy_and_bytesio1\n    st = read(buf, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000329197000013437}, "lineno": 115, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_obspy_and_bytesio1", "outcome": "failed", "keywords": ["test_read_via_obspy_and_bytesio1", "filterwarnings", "TestCore", "test_core.py", "tests", "kinemetrics", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017521199998782322}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005225730000120166, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 155, in test_read_via_obspy_and_bytesio2\n    st = read(buf, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003371809999919151}, "lineno": 143, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_obspy_and_bytesio2", "outcome": "failed", "keywords": ["test_read_via_obspy_and_bytesio2", "filterwarnings", "TestCore", "test_core.py", "tests", "kinemetrics", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017317900000080044}}, {"call": {"outcome": "passed", "duration": 0.03765440199998693}, "setup": {"outcome": "passed", "duration": 0.00035657699999092074}, "lineno": 175, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_module1", "outcome": "passed", "keywords": ["test_read_via_module1", "filterwarnings", "TestCore", "test_core.py", "tests", "kinemetrics", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002281299999822295}}, {"call": {"outcome": "passed", "duration": 0.08788843499999643}, "setup": {"outcome": "passed", "duration": 0.00041724900000872367}, "lineno": 200, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_module2", "outcome": "passed", "keywords": ["test_read_via_module2", "filterwarnings", "TestCore", "test_core.py", "tests", "kinemetrics", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002248950000023342}}, {"call": {"outcome": "passed", "duration": 0.12416940700001078}, "setup": {"outcome": "passed", "duration": 0.00040608800000541123}, "lineno": 227, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_module_and_bytesio", "outcome": "passed", "keywords": ["test_read_via_module_and_bytesio", "filterwarnings", "TestCore", "test_core.py", "tests", "kinemetrics", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023413200000277357}}, {"call": {"outcome": "passed", "duration": 0.036531472999996595}, "setup": {"outcome": "passed", "duration": 0.0004036830000018199}, "lineno": 340, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_module_raw", "outcome": "passed", "keywords": ["test_read_via_module_raw", "filterwarnings", "TestCore", "test_core.py", "tests", "kinemetrics", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003128159999903346}}, {"call": {"outcome": "failed", "duration": 0.06392361999999707, "longrepr": "006 format.\n007 \n008 Write support works via the ObsPy plugin structure for\n009 :class:`~obspy.core.event.Catalog` and\n010 :class:`~obspy.core.inventory.inventory.Inventory`:\n011 \n012 >>> from obspy import read_inventory, read_events\n013 >>> inv = read_inventory()  # load example data\n014 >>> inv.write(\"my_stations.kml\", format=\"KML\")  # doctest: +SKIP\n015 >>> cat = read_events()  # load example data\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.kml[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kml/__init__.py:15: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0009196939999753795}, "lineno": 1, "nodeid": "io/kml/__init__.py::obspy.io.kml", "outcome": "failed", "keywords": ["obspy.io.kml", "filterwarnings", "__init__.py", "kml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002339710000001105}}, {"call": {"outcome": "passed", "duration": 0.25211609100000487}, "setup": {"outcome": "passed", "duration": 0.0012526769999965381}, "lineno": 10, "nodeid": "io/kml/tests/test_kml.py::TestKML::test_write_inventory", "outcome": "passed", "keywords": ["test_write_inventory", "filterwarnings", "TestKML", "test_kml.py", "tests", "kml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022156800000061594}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001309992999978249, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kml/tests/test_kml.py\", line 33, in test_write_catalog\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041790999998170264}, "lineno": 27, "nodeid": "io/kml/tests/test_kml.py::TestKML::test_write_catalog", "outcome": "failed", "keywords": ["test_write_catalog", "filterwarnings", "TestKML", "test_kml.py", "tests", "kml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002529559999970843}}, {"call": {"outcome": "failed", "duration": 0.00820437300001231, "longrepr": "022 \n023 Reading\n024 -------\n025 \n026 Reading MiniSEED (and the data part of full SEED files) is handled by using\n027 ObsPy's standard :func:`~obspy.core.stream.read` function. The format is\n028 detected automatically.\n029 \n030 >>> from obspy import read\n031 >>> st = read(\"/path/to/test.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.mseed[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/__init__.py:31: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008752829999991718}, "lineno": 1, "nodeid": "io/mseed/__init__.py::obspy.io.mseed", "outcome": "failed", "keywords": ["obspy.io.mseed", "filterwarnings", "__init__.py", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001926150000031157}}, {"call": {"outcome": "failed", "duration": 0.008348288000007642, "longrepr": "368     :param use_bisection: If ``True``, use bisection to locate the start and\n369         end times directly in the file, avoiding a full read. This can reduce\n370         processing time by up to an order of magnitude when a time window is\n371         specified, and is particularly important for large miniSEED files\n372         (e.g., > 2 GB). Only applies to strictly ordered, single-channel files;\n373         the code falls back to the default behavior otherwise.\n374     .. rubric:: Example\n375 \n376     >>> from obspy import read\n377     >>> st = read(\"/path/to/two_channels.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.mseed.core._read_mseed[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/core.py:377: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005012040000167417}, "lineno": 318, "nodeid": "io/mseed/core.py::obspy.io.mseed.core._read_mseed", "outcome": "failed", "keywords": ["obspy.io.mseed.core._read_mseed", "filterwarnings", "core.py", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021597799999995004}}, {"call": {"outcome": "failed", "duration": 0.006457474999990609, "longrepr": "808         The ``stats.mseed.blkt1001.timing_quality`` value will also be written\n809         if it is set.\n810 \n811         The ``stats.mseed.blkt1001.timing_quality`` value will also be written\n812         if it is set.\n813 \n814     .. rubric:: Example\n815 \n816     >>> from obspy import read\n817     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.mseed.core._write_mseed[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/core.py:817: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00037139399998409317}, "lineno": 759, "nodeid": "io/mseed/core.py::obspy.io.mseed.core._write_mseed", "outcome": "failed", "keywords": ["obspy.io.mseed.core._write_mseed", "filterwarnings", "core.py", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019465900001591763}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003220432999995637, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 44, in test_read_head_file_via_obspy\n    stream = read(gapfile, headonly=True)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0016353620000018054}, "lineno": 30, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_head_file_via_obspy", "outcome": "failed", "keywords": ["test_read_head_file_via_obspy", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001866739999911715}}, {"call": {"outcome": "passed", "duration": 0.013149802000015143}, "setup": {"outcome": "passed", "duration": 0.00038042099998847334}, "lineno": 54, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_gappy_file", "outcome": "passed", "keywords": ["test_read_gappy_file", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023498199999494318}}, {"call": {"outcome": "passed", "duration": 0.5069548260000261}, "setup": {"outcome": "passed", "duration": 0.0003817430000196964}, "lineno": 101, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_and_write_traces", "outcome": "passed", "keywords": ["test_read_and_write_traces", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002207469999859768}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019329109999830507, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 161, in test_downcast_int64_to_int32\n    st2 = read(buf)\n          ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039779200000111814}, "lineno": 145, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_downcast_int64_to_int32", "outcome": "failed", "keywords": ["test_downcast_int64_to_int32", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021928399999637804}}, {"call": {"outcome": "passed", "duration": 0.004064045999996324}, "setup": {"outcome": "passed", "duration": 0.0003735080000240032}, "lineno": 175, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_get_record_information", "outcome": "passed", "keywords": ["test_get_record_information", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017772699999341057}}, {"call": {"outcome": "passed", "duration": 0.009757713999988482}, "setup": {"outcome": "passed", "duration": 0.00037025200001039593}, "lineno": 221, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_and_write_file_with_gaps", "outcome": "passed", "keywords": ["test_read_and_write_file_with_gaps", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019326500000715896}}, {"call": {"outcome": "passed", "duration": 0.0021506409999858533}, "setup": {"outcome": "passed", "duration": 0.0003588509999872258}, "lineno": 241, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_is_mseed", "outcome": "passed", "keywords": ["test_is_mseed", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018771599999922728}}, {"call": {"outcome": "passed", "duration": 0.0005337429999769938}, "setup": {"outcome": "passed", "duration": 0.00033717099998398226}, "lineno": 304, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_single_record_to_msr", "outcome": "passed", "keywords": ["test_read_single_record_to_msr", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001766050000071573}}, {"call": {"outcome": "passed", "duration": 0.03109093099999427}, "setup": {"outcome": "passed", "duration": 0.0003360590000056618}, "lineno": 322, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_file_via_mseed", "outcome": "passed", "keywords": ["test_read_file_via_mseed", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023368000000800748}}, {"call": {"outcome": "passed", "duration": 0.0018278470000154812}, "setup": {"outcome": "passed", "duration": 0.00042269799999417046}, "lineno": 408, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_partial_time_window_from_file", "outcome": "passed", "keywords": ["test_read_partial_time_window_from_file", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017470099999172817}}, {"call": {"outcome": "passed", "duration": 0.0015868929999953707}, "setup": {"outcome": "passed", "duration": 0.00035939200000711935}, "lineno": 421, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_partial_with_only_starttime_set", "outcome": "passed", "keywords": ["test_read_partial_with_only_starttime_set", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016736800000671792}}, {"call": {"outcome": "passed", "duration": 0.0016407719999733672}, "setup": {"outcome": "passed", "duration": 0.0003711239999972804}, "lineno": 433, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test__partial_with_only_endtime_set", "outcome": "passed", "keywords": ["test__partial_with_only_endtime_set", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016903099998444304}}, {"call": {"outcome": "passed", "duration": 0.0010231239999995978}, "setup": {"outcome": "passed", "duration": 0.0003608849999920949}, "lineno": 445, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_partial_frame_with_empty_time_range", "outcome": "passed", "keywords": ["test_read_partial_frame_with_empty_time_range", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016334000000028936}}, {"call": {"outcome": "passed", "duration": 0.2635252869999931}, "setup": {"outcome": "passed", "duration": 0.00032946700000024975}, "lineno": 457, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_bisection_read", "outcome": "passed", "keywords": ["test_bisection_read", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002206759999978658}}, {"call": {"outcome": "passed", "duration": 0.007418514999983472}, "setup": {"outcome": "passed", "duration": 0.00040817200002152276}, "lineno": 535, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_partial_with_source_name", "outcome": "passed", "keywords": ["test_read_partial_with_source_name", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001956010000014885}}, {"call": {"outcome": "passed", "duration": 0.0026893940000149996}, "setup": {"outcome": "passed", "duration": 0.000356766999999536}, "lineno": 559, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_write_integers", "outcome": "passed", "keywords": ["test_write_integers", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017853899998954148}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009875189999775102, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 605, in test_read_ms_traces_via_records_multiple_ids\n    st = read(file, starttime=starttime, endtime=endtime)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003652929999873322}, "lineno": 577, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_ms_traces_via_records_multiple_ids", "outcome": "failed", "keywords": ["test_read_ms_traces_via_records_multiple_ids", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019777400001430578}}, {"call": {"outcome": "passed", "duration": 0.008036434000018744}, "setup": {"outcome": "passed", "duration": 0.00029865999999856285}, "lineno": 615, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_write_sequence_number", "outcome": "passed", "keywords": ["test_write_sequence_number", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001726379999809069}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0028521240000145553, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 728, in test_write_and_read_different_record_lengths\n    temp_st = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034124900000165326}, "lineno": 708, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_write_and_read_different_record_lengths", "outcome": "failed", "keywords": ["test_write_and_read_different_record_lengths", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000188707000006616}}, {"call": {"outcome": "passed", "duration": 0.0024217910000174925}, "setup": {"outcome": "passed", "duration": 0.0003524090000155411}, "lineno": 735, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_full_seed", "outcome": "passed", "keywords": ["test_read_full_seed", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017552400001363822}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0028846729999827403, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 752, in test_read_with_wild_card\n    st = read(files)\n         ^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033822299999997085}, "lineno": 746, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_with_wild_card", "outcome": "failed", "keywords": ["test_read_with_wild_card", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019216399999777423}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0027422619999981634, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 775, in test_header\n    stream = read(tempfile)\n             ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003036290000011377}, "lineno": 756, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_header", "outcome": "failed", "keywords": ["test_header", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018185500002232402}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0035198230000048625, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 825, in test_reading_and_writing_via_the_stats_attribute\n    stream2 = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002942120000000159}, "lineno": 782, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_and_writing_via_the_stats_attribute", "outcome": "failed", "keywords": ["test_reading_and_writing_via_the_stats_attribute", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003058829999815771}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009295220000069548, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 843, in test_read_parts_of_file\n    tr1 = read(file, starttime=t[0], endtime=t[1])[0]\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003499549999901319}, "lineno": 833, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_parts_of_file", "outcome": "failed", "keywords": ["test_read_parts_of_file", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001759740000011334}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008295680000003358, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 858, in test_read_with_gse2_option\n    tr = read(file, verify_chksum=True, starttime=None)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006020689999957085}, "lineno": 850, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_with_gse2_option", "outcome": "failed", "keywords": ["test_read_with_gse2_option", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018823700000325516}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000810032999993382, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 872, in test_all_data_types_and_endians_in_multiple_files\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003432019999820568}, "lineno": 864, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_all_data_types_and_endians_in_multiple_files", "outcome": "failed", "keywords": ["test_all_data_types_and_endians_in_multiple_files", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020089000000211854}}, {"call": {"outcome": "passed", "duration": 0.0021345920000044316}, "setup": {"outcome": "passed", "duration": 0.0003030080000030466}, "lineno": 895, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_saving_small_ascii", "outcome": "passed", "keywords": ["test_saving_small_ascii", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016980299997726434}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.01037073300000202, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 923, in test_all_data_types_and_endians_in_single_file\n    st2 = read(tempfile)\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031373800001688323}, "lineno": 905, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_all_data_types_and_endians_in_single_file", "outcome": "failed", "keywords": ["test_all_data_types_and_endians_in_single_file", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023011400000427784}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008483729999966272, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 939, in test_enforce_steim2_with_steim1_as_encoding\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006235980000042218}, "lineno": 932, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_enforce_steim2_with_steim1_as_encoding", "outcome": "failed", "keywords": ["test_enforce_steim2_with_steim1_as_encoding", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018165500000577595}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010670759999982238, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 987, in test_files_from_libmseed\n    st = read(cur_file)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003270530000065719}, "lineno": 946, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_files_from_libmseed", "outcome": "failed", "keywords": ["test_files_from_libmseed", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018170399999917208}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007671630000061214, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1018, in test_writing_microseconds\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003363100000228769}, "lineno": 1012, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_writing_microseconds", "outcome": "failed", "keywords": ["test_writing_microseconds", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018113400000174806}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005113820000019587, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1067, in test_reading_and_writing_dataquality\n    stream = read(tempfile)\n             ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003234959999929288}, "lineno": 1033, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_and_writing_dataquality", "outcome": "failed", "keywords": ["test_reading_and_writing_dataquality", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020362500001169792}}, {"call": {"outcome": "passed", "duration": 0.0011272559999895293}, "setup": {"outcome": "passed", "duration": 0.00032200200001852863}, "lineno": 1073, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_writing_invalid_data_quality", "outcome": "passed", "keywords": ["test_writing_invalid_data_quality", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018123399999581125}}, {"call": {"outcome": "passed", "duration": 0.0003735190000213606}, "setup": {"outcome": "passed", "duration": 0.0003582089999838445}, "lineno": 1091, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_is_invalid_mseed", "outcome": "passed", "keywords": ["test_is_invalid_mseed", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016152800000668321}}, {"call": {"outcome": "passed", "duration": 0.000305393000019194}, "setup": {"outcome": "passed", "duration": 0.00032654100002105224}, "lineno": 1108, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_is_valid_mseed", "outcome": "passed", "keywords": ["test_is_valid_mseed", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015655800001468378}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010513670000023012, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1131, in test_bizarre_files\n    st1 = read(datapath / \"bizarre\" /\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033068999999841253}, "lineno": 1123, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_bizarre_files", "outcome": "failed", "keywords": ["test_bizarre_files", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002088950000143086}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0036063430000012886, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1176, in test_write_and_read_different_encodings\n    st2 = read(tempfile)\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031437900000241825}, "lineno": 1148, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_write_and_read_different_encodings", "outcome": "failed", "keywords": ["test_write_and_read_different_encodings", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002682850000041981}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003153488999998899, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1197, in test_issue376\n    st = read(tempfile)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003651129999866498}, "lineno": 1187, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_issue376", "outcome": "failed", "keywords": ["test_issue376", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019075100001941792}}, {"call": {"outcome": "passed", "duration": 0.002303753999996161}, "setup": {"outcome": "passed", "duration": 0.0003240970000035759}, "lineno": 1208, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_empty_trace", "outcome": "passed", "keywords": ["test_empty_trace", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017240799999740375}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000883948000023338, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1227, in test_read_timing_qual\n    st = read(filename, details=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036963099998388316}, "lineno": 1221, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_timing_qual", "outcome": "failed", "keywords": ["test_read_timing_qual", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001772469999821169}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008308810000130507, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1255, in test_corrupt_file_length\n    st = read(filename, reclen=512)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003428720000044905}, "lineno": 1239, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_corrupt_file_length", "outcome": "failed", "keywords": ["test_corrupt_file_length", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018359799997824666}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008940560000212372, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1268, in test_verbosity\n    st = read(filename, verbose=2)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003495240000006561}, "lineno": 1260, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_verbosity", "outcome": "failed", "keywords": ["test_verbosity", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001849800000002233}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002436047999992752, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1282, in test_writing_with_some_encoding_fails\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005820319999827461}, "lineno": 1276, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_writing_with_some_encoding_fails", "outcome": "failed", "keywords": ["test_writing_with_some_encoding_fails", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019398700001715952}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008286059999988993, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1328, in test_reading_geoscope_16bit_4bit_exponent_format\n    tr = read(testdata['GEOSCOPE16_4_encoding.mseed'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036325900001088485}, "lineno": 1322, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_geoscope_16bit_4bit_exponent_format", "outcome": "failed", "keywords": ["test_reading_geoscope_16bit_4bit_exponent_format", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018389900000670423}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000974434999989171, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1343, in test_reading_sro_format\n    tr = read(testdata['SRO_encoding.mseed']).select(component=\"Z\")[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003411989999904108}, "lineno": 1338, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_sro_format", "outcome": "failed", "keywords": ["test_reading_sro_format", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000179390999988982}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0007720819999974537, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/inspect.py\", line 3076, in <genexpr>\n    params = OrderedDict((param.name, param) for param in parameters)\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 153, in pytest_runtest_setup\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "lineno": 1349, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_dwwssn_format", "outcome": "error", "keywords": ["test_reading_dwwssn_format", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017936099999360522}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008038999999939733, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1365, in test_reading_cdsn_format\n    tr = read(testdata['CDSN_encoding.mseed'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003383140000039475}, "lineno": 1360, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_cdsn_format", "outcome": "failed", "keywords": ["test_reading_cdsn_format", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017983099999696606}}, {"call": {"outcome": "passed", "duration": 0.004892632000007779}, "setup": {"outcome": "passed", "duration": 0.00029643600001350023}, "lineno": 1371, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_write_timing_quality", "outcome": "passed", "keywords": ["test_write_timing_quality", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020045900001264272}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003326016000016807, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1611, in test_libmseed_test_cases\n    assert_valid(test_file, ref_file, test_type)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1445, in assert_valid\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003402770000207056}, "lineno": 1433, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_libmseed_test_cases", "outcome": "failed", "keywords": ["test_libmseed_test_cases", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018668399999910434}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005284229999915624, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1633, in test_per_trace_mseed_attributes\n    st = read(buf)\n         ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034761999998522697}, "lineno": 1617, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_per_trace_mseed_attributes", "outcome": "failed", "keywords": ["test_per_trace_mseed_attributes", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020258300000364216}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008812430000091354, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1670, in test_read_mseed_sr0\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035182799999233794}, "lineno": 1664, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_mseed_sr0", "outcome": "failed", "keywords": ["test_read_mseed_sr0", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018333799999936673}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001966261999996277, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1692, in test_reading_and_writing_zero_sampling_rate_traces\n    tr2 = read(buf)[0]\n          ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003267009999774473}, "lineno": 1677, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_and_writing_zero_sampling_rate_traces", "outcome": "failed", "keywords": ["test_reading_and_writing_zero_sampling_rate_traces", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002593680000018139}}, {"call": {"outcome": "passed", "duration": 0.0006432449999920209}, "setup": {"outcome": "passed", "duration": 0.0006079199999931006}, "lineno": 59, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_invalid_record_length", "outcome": "passed", "keywords": ["test_invalid_record_length", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016673700000069402}}, {"call": {"outcome": "passed", "duration": 0.0005654919999926733}, "setup": {"outcome": "passed", "duration": 0.00032917699999757133}, "lineno": 80, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_invalid_encoding", "outcome": "passed", "keywords": ["test_invalid_encoding", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019673299999567462}}, {"call": {"outcome": "passed", "duration": 0.0006451680000054694}, "setup": {"outcome": "passed", "duration": 0.0003109219999828383}, "lineno": 98, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_ctypes_arg_types", "outcome": "passed", "keywords": ["test_ctypes_arg_types", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016093599998612262}}, {"call": {"outcome": "passed", "duration": 0.0022554749999983414}, "setup": {"outcome": "passed", "duration": 0.001030678999995871}, "lineno": 136, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_broken_last_record", "outcome": "passed", "keywords": ["test_broken_last_record", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019907600000124148}}, {"call": {"outcome": "passed", "duration": 0.003408128000017996}, "setup": {"outcome": "passed", "duration": 0.00031926899998779845}, "lineno": 167, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_one_sample_overlap", "outcome": "passed", "keywords": ["test_one_sample_overlap", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016962300000500363}}, {"call": {"outcome": "passed", "duration": 0.002528507000022273}, "setup": {"outcome": "passed", "duration": 0.00032654099999263053}, "lineno": 185, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_bug_write_read_float32_seed_win32", "outcome": "passed", "keywords": ["test_bug_write_read_float32_seed_win32", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017064400000776914}}, {"call": {"outcome": "passed", "duration": 0.0025469919999920876}, "setup": {"outcome": "passed", "duration": 0.00036146600001529805}, "lineno": 209, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_write_with_date_time_before_1970", "outcome": "passed", "keywords": ["test_write_with_date_time_before_1970", "skipif", "pytestmark", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017001399999116984}}, {"call": {"outcome": "passed", "duration": 0.0020681900000170117}, "setup": {"outcome": "passed", "duration": 0.0003451359999928627}, "lineno": 230, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_invalid_data_type", "outcome": "passed", "keywords": ["test_invalid_data_type", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000168099000006805}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010130869999898096, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 265, in test_write_wrong_encoding\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036016300001051604}, "lineno": 255, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_write_wrong_encoding", "outcome": "failed", "keywords": ["test_write_wrong_encoding", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019912700000190853}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000894687999988264, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 282, in test_write_wrong_encoding_via_mseed_stats\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003670759999749862}, "lineno": 271, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_write_wrong_encoding_via_mseed_stats", "outcome": "failed", "keywords": ["test_write_wrong_encoding_via_mseed_stats", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017677499999990687}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008223849999922095, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 300, in test_wrong_record_length_as_argument\n    read(file, reclen=111)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003706329999886293}, "lineno": 291, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_wrong_record_length_as_argument", "outcome": "failed", "keywords": ["test_wrong_record_length_as_argument", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017813800002386415}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008083189999865681, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 315, in test_read_with_missing_blockette010\n    tr = read(file)[0]\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000365102999978717}, "lineno": 308, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_read_with_missing_blockette010", "outcome": "failed", "keywords": ["test_read_with_missing_blockette010", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017779800000994328}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007959960000221145, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 331, in test_issue160\n    tr_one = read(file)[0]\n             ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003706729999919389}, "lineno": 323, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue160", "outcome": "failed", "keywords": ["test_issue160", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018133399998987443}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008271939999815459, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 351, in test_issue217\n    tr = read(file)[0]\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037891799999556497}, "lineno": 342, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue217", "outcome": "failed", "keywords": ["test_issue217", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017743699999073215}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025863939999908325, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 367, in test_issue296\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003289859999995315}, "lineno": 359, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue296", "outcome": "failed", "keywords": ["test_issue296", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001828360000217799}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008247299999766255, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 444, in test_issue289\n    st = read(file, starttime=UTCDateTime() - 10, endtime=UTCDateTime())\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004008780000219758}, "lineno": 434, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue289", "outcome": "failed", "keywords": ["test_issue289", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017886999998495412}}, {"call": {"outcome": "passed", "duration": 0.0003923929999984921}, "setup": {"outcome": "passed", "duration": 0.00038280500001519613}, "lineno": 450, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue312", "outcome": "passed", "keywords": ["test_issue312", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018302700001981975}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007765210000059142, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 481, in test_issue272\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035862000001429806}, "lineno": 472, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue272", "outcome": "failed", "keywords": ["test_issue272", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000176784999979418}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007900359999837292, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 495, in test_issue325\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037971999998376305}, "lineno": 488, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue325", "outcome": "failed", "keywords": ["test_issue325", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018302699999139804}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024237950000269848, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 533, in test_issue332\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033777199999462937}, "lineno": 523, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue332", "outcome": "failed", "keywords": ["test_issue332", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017791700000202582}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002232241999990947, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 551, in test_issue341\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003461180000101649}, "lineno": 541, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue341", "outcome": "failed", "keywords": ["test_issue341", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018486999999822729}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00244321000002401, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 574, in test_issue485\n    data = read(filename)[0].data.tolist()\n           ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003888059999894722}, "lineno": 566, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue485", "outcome": "error", "keywords": ["test_issue485", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00026665100000400344, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/_compression.py\", line 59, in close\n    |     def close(self):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1930, in gzopen\n    |     t = cls.taropen(name, mode, fileobj, **kwargs)\n    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1907, in taropen\n    |     return cls(name, mode, fileobj, **kwargs)\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1765, in __init__\n    |     self.firstmember = self.next()\n    |                        ^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 2768, in next\n    |     raise e\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 2741, in next\n    |     tarinfo = self.tarinfo.fromtarfile(self)\n    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/tarfile.py\", line 1314, in fromtarfile\n    |     buf = tarfile.fileobj.read(BLOCKSIZE)\n    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 338, in read\n    |     return self._buffer.read(size)\n    |            ^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/_compression.py\", line 68, in readinto\n    |     data = self.read(len(byte_view))\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 544, in read\n    |     if not self._read_gzip_header():\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 513, in _read_gzip_header\n    |     last_mtime = _read_gzip_header(self._fp)\n    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 473, in _read_gzip_header\n    |     raise BadGzipFile('Not a gzipped file (%r)' % magic)\n    | gzip.BadGzipFile: Not a gzipped file (b'00')\n    | \n    | During handling of the above exception, another exception occurred:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/_compression.py\", line 59, in close\n    |     def close(self):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018747839999946336, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 594, in test_enforcing_reading_byteorder\n    tr2 = read(memfile, header_byteorder=\"<\")[0]\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039072000001283413}, "lineno": 578, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_enforcing_reading_byteorder", "outcome": "failed", "keywords": ["test_enforcing_reading_byteorder", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018254599999067977}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019060710000076142, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 651, in test_long_year_range\n    st2 = read(memfile)\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032802499998751955}, "lineno": 622, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_long_year_range", "outcome": "failed", "keywords": ["test_long_year_range", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017786800000862968}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008863029999872651, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 666, in test_full_seed_with_non_default_dataquality\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000366975999980923}, "lineno": 659, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_full_seed_with_non_default_dataquality", "outcome": "failed", "keywords": ["test_full_seed_with_non_default_dataquality", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000183288000016546}}, {"call": {"stderr": "Process Process-1:\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/process.py\", line 314, in _bootstrap\n    self.run()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/process.py\", line 108, in run\n    self._target(*self._args, **self._kwargs)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 43, in _test_function\n    st = read(filename)  # noqa @UnusedVariable\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n", "outcome": "passed", "duration": 0.02963543999999274}, "setup": {"outcome": "passed", "duration": 0.0003862519999984215}, "lineno": 691, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_infinite_loop", "outcome": "passed", "keywords": ["test_infinite_loop", "skipif", "pytestmark", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00045248399999309186}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0033956149999880836, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 737, in test_microsecond_accuracy_reading_and_writing_before_1970\n    tr2 = read(fh)[0]\n          ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006109649999928024}, "lineno": 716, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_microsecond_accuracy_reading_and_writing_before_1970", "outcome": "failed", "keywords": ["test_microsecond_accuracy_reading_and_writing_before_1970", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002959649999922931}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013726480000002539, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 750, in test_reading_noise_records\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000507984999984501}, "lineno": 744, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_noise_records", "outcome": "failed", "keywords": ["test_reading_noise_records", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002162090000012995}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000961741999986998, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 772, in test_read_file_with_various_noise_records\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004055469999855177}, "lineno": 756, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_read_file_with_various_noise_records", "outcome": "failed", "keywords": ["test_read_file_with_various_noise_records", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021359400000164896}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000956993000016837, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 806, in test_mseed_zero_data_offset\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006213839999986703}, "lineno": 784, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_mseed_zero_data_offset", "outcome": "failed", "keywords": ["test_mseed_zero_data_offset", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020749300000488802}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015663849999896229, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 846, in test_mseed_zero_data_headonly\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003907800000035877}, "lineno": 830, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_mseed_zero_data_headonly", "outcome": "failed", "keywords": ["test_mseed_zero_data_headonly", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019561999999950785}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012914389999991727, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 887, in test_read_file_with_microsecond_wrap\n    tr = read(file)[0]\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037554100001102597}, "lineno": 864, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_read_file_with_microsecond_wrap", "outcome": "failed", "keywords": ["test_read_file_with_microsecond_wrap", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001985150000223257}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010483009999973092, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 914, in test_reading_miniseed_with_no_blockette_1000\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003675369999882605}, "lineno": 908, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_miniseed_with_no_blockette_1000", "outcome": "failed", "keywords": ["test_reading_miniseed_with_no_blockette_1000", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002070310000021891}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00291359700000271, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 948, in test_writing_of_blockette_100\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036600399999997535}, "lineno": 927, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_writing_of_blockette_100", "outcome": "failed", "keywords": ["test_writing_of_blockette_100", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023939199999745142}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008644629999992048, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 1030, in test_reading_file_with_data_offset_of_48\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041758899999422283}, "lineno": 1022, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_file_with_data_offset_of_48", "outcome": "failed", "keywords": ["test_reading_file_with_data_offset_of_48", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020871399999577989}}, {"call": {"outcome": "passed", "duration": 0.0018094829999881767}, "setup": {"outcome": "passed", "duration": 0.0003870829999925718}, "lineno": 1042, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_truncated_miniseed_files", "outcome": "passed", "keywords": ["test_reading_truncated_miniseed_files", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018696499998327454}}, {"call": {"outcome": "passed", "duration": 0.0014730039999903966}, "setup": {"outcome": "passed", "duration": 0.00038485900000750917}, "lineno": 1070, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_truncated_miniseed_files_case_2", "outcome": "passed", "keywords": ["test_reading_truncated_miniseed_files_case_2", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019522900001334165}}, {"call": {"outcome": "passed", "duration": 0.0053963299999963965}, "setup": {"outcome": "passed", "duration": 0.0003586710000149651}, "lineno": 1099, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_less_than_128_bytes", "outcome": "passed", "keywords": ["test_reading_less_than_128_bytes", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000170595000014373}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.02141916499999752, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/ctypes/__init__.py\", line 73, in CFUNCTYPE\n    def CFUNCTYPE(restype, *argtypes, **kw):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.00036315799999897536}, "lineno": 1131, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_read_file_with_non_valid_blocks_in_between", "outcome": "failed", "keywords": ["test_read_file_with_non_valid_blocks_in_between", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002754669999944781}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001046858999984579, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 1201, in test_reading_files_with_non_ascii_headers\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005280530000106864}, "lineno": 1191, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_files_with_non_ascii_headers", "outcome": "failed", "keywords": ["test_reading_files_with_non_ascii_headers", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00040356299999189105}}, {"call": {"outcome": "passed", "duration": 0.0006476530000156799}, "setup": {"outcome": "passed", "duration": 0.0007147670000051676}, "lineno": 97, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_convert_datetime", "outcome": "passed", "keywords": ["test_convert_datetime", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001949290000027304}}, {"call": {"outcome": "passed", "duration": 0.0005036480000057963}, "setup": {"outcome": "passed", "duration": 0.000339335000006713}, "lineno": 129, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_convert_datetime2", "outcome": "passed", "keywords": ["test_convert_datetime2", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001685200000167697}}, {"call": {"outcome": "passed", "duration": 0.001269118000010394}, "setup": {"outcome": "passed", "duration": 0.0011869960000012725}, "lineno": 152, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_record_information", "outcome": "passed", "keywords": ["test_get_record_information", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017255800000270938}}, {"call": {"outcome": "passed", "duration": 0.0005449639999994815}, "setup": {"outcome": "passed", "duration": 0.0003904190000127983}, "lineno": 192, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_record_information_negative_sr_rate_and_mult", "outcome": "passed", "keywords": ["test_get_record_information_negative_sr_rate_and_mult", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017293899998094275}}, {"call": {"outcome": "passed", "duration": 0.000764137000004439}, "setup": {"outcome": "passed", "duration": 0.00038060100001757746}, "lineno": 219, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_issue2069", "outcome": "passed", "keywords": ["test_issue2069", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017600399999651017}}, {"call": {"outcome": "passed", "duration": 0.004733358999999382}, "setup": {"outcome": "passed", "duration": 0.00037415899998904933}, "lineno": 248, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_data_quality", "outcome": "passed", "keywords": ["test_get_data_quality", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020206199999961427}}, {"call": {"outcome": "passed", "duration": 0.12039929100001245}, "setup": {"outcome": "passed", "duration": 0.0003987340000151107}, "lineno": 293, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_flags", "outcome": "passed", "keywords": ["test_get_flags", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025965800000449235}}, {"call": {"outcome": "passed", "duration": 0.1015238219999901}, "setup": {"outcome": "passed", "duration": 0.0004330780000145751}, "lineno": 418, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_flags_from_files_and_file_like_objects", "outcome": "passed", "keywords": ["test_get_flags_from_files_and_file_like_objects", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002576040000121793}}, {"call": {"outcome": "passed", "duration": 0.0062576969999952325}, "setup": {"outcome": "passed", "duration": 0.0004784119999783343}, "lineno": 519, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_start_and_end_time", "outcome": "passed", "keywords": ["test_get_start_and_end_time", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019952799999600757}}, {"call": {"outcome": "passed", "duration": 0.016226520000003575}, "setup": {"outcome": "passed", "duration": 0.00044874600001776344}, "lineno": 536, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_timing_quality", "outcome": "passed", "keywords": ["test_get_timing_quality", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024042300000814976}}, {"call": {"outcome": "passed", "duration": 0.0017160300000114148}, "setup": {"outcome": "passed", "duration": 0.0004609389999927771}, "lineno": 580, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_unpack_steim_1", "outcome": "passed", "keywords": ["test_unpack_steim_1", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018474999998829844}}, {"call": {"outcome": "passed", "duration": 0.0016302340000038384}, "setup": {"outcome": "passed", "duration": 0.0003910599999983333}, "lineno": 593, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_unpack_steim_2", "outcome": "passed", "keywords": ["test_unpack_steim_2", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018049200002678845}}, {"call": {"outcome": "passed", "duration": 0.01411619300000666}, "setup": {"outcome": "passed", "duration": 0.00041368200001556943}, "lineno": 606, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_time_shifting", "outcome": "passed", "keywords": ["test_time_shifting", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002524649999884332}}, {"call": {"outcome": "passed", "duration": 0.010536028000018405}, "setup": {"outcome": "passed", "duration": 0.0004430670000203918}, "lineno": 650, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_time_spreading", "outcome": "passed", "keywords": ["test_time_spreading", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020448699999064957}}, {"call": {"outcome": "passed", "duration": 0.006402723999997306}, "setup": {"outcome": "passed", "duration": 0.00042181699998877775}, "lineno": 675, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_time_shifting_special_case", "outcome": "passed", "keywords": ["test_time_shifting_special_case", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021717000001331144}}, {"call": {"outcome": "passed", "duration": 0.007835513000003402}, "setup": {"outcome": "passed", "duration": 0.000348793000000569}, "lineno": 713, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_check_flag_value", "outcome": "passed", "keywords": ["test_check_flag_value", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002264069999853291}}, {"call": {"outcome": "passed", "duration": 0.0024351859999853787}, "setup": {"outcome": "passed", "duration": 0.0003781860000060533}, "lineno": 872, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_search_flag_in_blockette", "outcome": "passed", "keywords": ["test_search_flag_in_blockette", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020398599997406563}}, {"call": {"outcome": "passed", "duration": 0.0020190600000091763}, "setup": {"outcome": "passed", "duration": 0.0003498750000119344}, "lineno": 931, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_convert_flags_to_raw_bytes", "outcome": "passed", "keywords": ["test_convert_flags_to_raw_bytes", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017783699999540659}}, {"call": {"outcome": "passed", "duration": 0.050903937000015276}, "setup": {"outcome": "passed", "duration": 0.00037429899998642213}, "lineno": 996, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_set_flags_in_fixed_header", "outcome": "passed", "keywords": ["test_set_flags_in_fixed_header", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024392899999270412}}, {"call": {"outcome": "passed", "duration": 0.004283460000010564}, "setup": {"outcome": "passed", "duration": 0.0004452900000160298}, "lineno": 1149, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_set_flags_in_fixed_header_with_blockette_100", "outcome": "passed", "keywords": ["test_set_flags_in_fixed_header_with_blockette_100", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020471700000257442}}, {"call": {"outcome": "passed", "duration": 0.008862684999996873}, "setup": {"outcome": "passed", "duration": 0.0004163879999907749}, "lineno": 1173, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_regression_segfault_when_hooking_up_libmseeds_logging", "outcome": "passed", "keywords": ["test_regression_segfault_when_hooking_up_libmseeds_logging", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022646799999392897}}, {"call": {"outcome": "passed", "duration": 0.0006167960000027506}, "setup": {"outcome": "passed", "duration": 0.00041980299999977433}, "lineno": 1267, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_record_information_with_invalid_word_order", "outcome": "passed", "keywords": ["test_get_record_information_with_invalid_word_order", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018957899999350047}}, {"call": {"outcome": "passed", "duration": 0.0020187590000091404}, "setup": {"outcome": "passed", "duration": 0.0003542329999959293}, "lineno": 1297, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_read_fullseed_no_data_record", "outcome": "passed", "keywords": ["test_read_fullseed_no_data_record", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002782119999835686}}, {"call": {"outcome": "passed", "duration": 0.0018127189999859183}, "setup": {"outcome": "passed", "duration": 0.0012350550000235216}, "lineno": 11, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_default_record", "outcome": "passed", "keywords": ["test_default_record", "filterwarnings", "TestRecordAnalyser", "test_recordanalyzer.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017802800002186814}}, {"call": {"outcome": "passed", "duration": 0.0014160480000100506}, "setup": {"outcome": "passed", "duration": 0.0003566769999849839}, "lineno": 53, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_second_record", "outcome": "passed", "keywords": ["test_second_record", "filterwarnings", "TestRecordAnalyser", "test_recordanalyzer.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017220700001985279}}, {"call": {"outcome": "passed", "duration": 0.002530140999994046}, "setup": {"outcome": "passed", "duration": 0.000402462000010928}, "lineno": 96, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_record_with_data_offset_zero", "outcome": "passed", "keywords": ["test_record_with_data_offset_zero", "filterwarnings", "TestRecordAnalyser", "test_recordanalyzer.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018110299998852497}}, {"call": {"outcome": "passed", "duration": 0.0014097769999921184}, "setup": {"outcome": "passed", "duration": 0.000378968999996232}, "lineno": 183, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_record_with_negative_sr_fact_and_mult", "outcome": "passed", "keywords": ["test_record_with_negative_sr_fact_and_mult", "filterwarnings", "TestRecordAnalyser", "test_recordanalyzer.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019696300000759948}}, {"call": {"outcome": "passed", "duration": 0.0012883940000278926}, "setup": {"outcome": "passed", "duration": 0.0003638000000023567}, "lineno": 229, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_step_cal_blockette", "outcome": "passed", "keywords": ["test_step_cal_blockette", "filterwarnings", "TestRecordAnalyser", "test_recordanalyzer.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017543299998123985}}, {"call": {"outcome": "passed", "duration": 0.0013139209999906143}, "setup": {"outcome": "passed", "duration": 0.000393554999988055}, "lineno": 285, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_sine_cal_blockette", "outcome": "passed", "keywords": ["test_sine_cal_blockette", "filterwarnings", "TestRecordAnalyser", "test_recordanalyzer.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020753199999035132}}, {"call": {"outcome": "passed", "duration": 0.0013287280000042756}, "setup": {"outcome": "passed", "duration": 0.0003786169999955291}, "lineno": 340, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_random_cal_blockette", "outcome": "passed", "keywords": ["test_random_cal_blockette", "filterwarnings", "TestRecordAnalyser", "test_recordanalyzer.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002853559999778099}}, {"call": {"outcome": "passed", "duration": 0.06144408299999782}, "setup": {"outcome": "passed", "duration": 0.0005334420000053797}, "lineno": 98, "nodeid": "io/mseed/util.py::obspy.io.mseed.util.get_flags", "outcome": "passed", "keywords": ["obspy.io.mseed.util.get_flags", "filterwarnings", "util.py", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023482299999955103}}, {"call": {"outcome": "passed", "duration": 0.0073760870000114664}, "setup": {"outcome": "passed", "duration": 0.0005294249999963085}, "lineno": 504, "nodeid": "io/mseed/util.py::obspy.io.mseed.util.get_record_information", "outcome": "passed", "keywords": ["obspy.io.mseed.util.get_record_information", "filterwarnings", "util.py", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017448200000558245}}, {"call": {"outcome": "passed", "duration": 0.009190940000024739}, "setup": {"outcome": "passed", "duration": 0.0003637700000069799}, "lineno": 27, "nodeid": "io/mseed/util.py::obspy.io.mseed.util.get_start_and_end_time", "outcome": "passed", "keywords": ["obspy.io.mseed.util.get_start_and_end_time", "filterwarnings", "util.py", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021526699998730692}}, {"call": {"outcome": "failed", "duration": 0.008520224999983839, "longrepr": "051     Furthermore the depth values will be converted to ``m`` and the source time\n052     function duration will be doubled to adhere to the QuakeML standard.  The\n053     region name in the NDK file will be replaced with its full Flinn-Engdahl\n054     region name using ObsPy's built-in region parser.\n055 \n056 The :func:`~obspy.core.event.read_events` method is used to read NDK files to\n057 :class:`~obspy.core.event.Catalog` objects.\n058 \n059 >>> import obspy\n060 >>> cat = obspy.read_events(\"/path/to/C200604092050A.ndk\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ndk[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/__init__.py:60: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0009406020000142234}, "lineno": 2, "nodeid": "io/ndk/__init__.py::obspy.io.ndk", "outcome": "failed", "keywords": ["obspy.io.ndk", "filterwarnings", "__init__.py", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023701699998923687}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.015470608000015318, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 26, in test_read_single_ndk\n    ref_cat = read_events(reference)\n              ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0013103039999862176}, "lineno": 15, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_read_single_ndk", "outcome": "failed", "keywords": ["test_read_single_ndk", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002208569999879728}}, {"call": {"outcome": "passed", "duration": 0.027865490000010595}, "setup": {"outcome": "passed", "duration": 0.00039171100002022285}, "lineno": 29, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_read_multiple_events", "outcome": "passed", "keywords": ["test_read_multiple_events", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021651899999142188}}, {"call": {"outcome": "passed", "duration": 0.0007463659999871197}, "setup": {"outcome": "passed", "duration": 0.0003904300000101557}, "lineno": 65, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_is_ndk", "outcome": "passed", "keywords": ["test_is_ndk", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019810400002029382}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008236780000174804, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 85, in test_reading_using_obspy_plugin\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003301780000128929}, "lineno": 79, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_using_obspy_plugin", "outcome": "failed", "keywords": ["test_reading_using_obspy_plugin", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001740409999797521}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000384336999985635, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 100, in test_reading_from_string_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003480109999998149}, "lineno": 91, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_from_string_io", "outcome": "failed", "keywords": ["test_reading_from_string_io", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018485100000020793}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00038445800001341013, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 116, in test_reading_from_bytes_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032324500000413536}, "lineno": 107, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_from_bytes_io", "outcome": "failed", "keywords": ["test_reading_from_bytes_io", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018527099999232632}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005174629999942226, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 130, in test_reading_from_open_file_in_text_mode\n    cat = read_events(fh)\n          ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003472499999759293}, "lineno": 123, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_from_open_file_in_text_mode", "outcome": "failed", "keywords": ["test_reading_from_open_file_in_text_mode", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001950699999895278}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003662750000046344, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 143, in test_reading_from_open_file_in_binary_mode\n    cat = read_events(fh)\n          ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036395999998717343}, "lineno": 136, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_from_open_file_in_binary_mode", "outcome": "failed", "keywords": ["test_reading_from_open_file_in_binary_mode", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018935900001793016}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008060950000015055, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 157, in test_reading_the_same_file_twice_does_not_raise_a_warnings\n    cat_1 = read_events(filename)\n            ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034040700001014557}, "lineno": 149, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_the_same_file_twice_does_not_raise_a_warnings", "outcome": "failed", "keywords": ["test_reading_the_same_file_twice_does_not_raise_a_warnings", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020440699998403034}}, {"call": {"outcome": "passed", "duration": 0.0003552140000238069}, "setup": {"outcome": "passed", "duration": 0.00035274999999046486}, "lineno": 175, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_is_ndk_for_file_with_invalid_date", "outcome": "passed", "keywords": ["test_is_ndk_for_file_with_invalid_date", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001842799999849376}}, {"call": {"outcome": "passed", "duration": 0.0004159260000164977}, "setup": {"outcome": "passed", "duration": 0.00031758500000478307}, "lineno": 181, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_is_ndk_for_file_with_invalid_latitude", "outcome": "passed", "keywords": ["test_is_ndk_for_file_with_invalid_latitude", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016914200000428536}}, {"call": {"outcome": "passed", "duration": 0.0003678770000021814}, "setup": {"outcome": "passed", "duration": 0.0003382430000158365}, "lineno": 187, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_is_ndk_for_file_with_infeasible_latitude", "outcome": "passed", "keywords": ["test_is_ndk_for_file_with_infeasible_latitude", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016862100000025748}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00079572600000688, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 202, in test_reading_file_with_multiple_errors\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031880699998509954}, "lineno": 193, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_file_with_multiple_errors", "outcome": "failed", "keywords": ["test_reading_file_with_multiple_errors", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019356699999661942}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007376689999887276, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 222, in test_reading_from_string\n    ref_cat = read_events(reference)\n              ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003382029999841052}, "lineno": 214, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_from_string", "outcome": "failed", "keywords": ["test_reading_from_string", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001863139999898067}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007251850000216109, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 239, in test_reading_from_bytestring\n    ref_cat = read_events(reference)\n              ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034856199999921955}, "lineno": 231, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_from_bytestring", "outcome": "failed", "keywords": ["test_reading_from_bytestring", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018710500000906904}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004275379999967299, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 262, in test_missing_lines\n    cat = read_events(data)\n          ^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037630399998533903}, "lineno": 248, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_missing_lines", "outcome": "failed", "keywords": ["test_missing_lines", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020195199999761826}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009005990000048314, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 280, in test_reading_event_with_faulty_but_often_occurring_timestamp\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003466089999903943}, "lineno": 270, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_event_with_faulty_but_often_occurring_timestamp", "outcome": "failed", "keywords": ["test_reading_event_with_faulty_but_often_occurring_timestamp", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001942270000085955}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004566409999995358, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 302, in test_raise_exception_if_no_events_in_file\n    read_events(data)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003726060000133202}, "lineno": 286, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_raise_exception_if_no_events_in_file", "outcome": "failed", "keywords": ["test_raise_exception_if_no_events_in_file", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020542800001521755}}, {"call": {"outcome": "passed", "duration": 0.0033171299999992243}, "setup": {"outcome": "passed", "duration": 0.00030463100000588383}, "lineno": 303, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_parse_date_time_function", "outcome": "passed", "keywords": ["test_parse_date_time_function", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002584359999957542}}, {"call": {"outcome": "failed", "duration": 0.008699255000010453, "longrepr": "013     GNU Lesser General Public License, Version 3\n014     (https://www.gnu.org/copyleft/lesser.html)\n015 \n016 Example\n017 -------\n018 \n019 It works by utilizing ObsPy's :func:`~obspy.core.event.read_events` function.\n020 \n021 >>> import obspy\n022 >>> cat = obspy.read_events(\"/path/to/FNETMTCATALOG\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.nied[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000865924999999379}, "lineno": 0, "nodeid": "io/nied/__init__.py::obspy.io.nied", "outcome": "failed", "keywords": ["obspy.io.nied", "filterwarnings", "__init__.py", "nied", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020338499999184023}}, {"call": {"outcome": "passed", "duration": 0.021652834999997594}, "setup": {"outcome": "passed", "duration": 0.0012118930000042383}, "lineno": 11, "nodeid": "io/nied/tests/test_fnetmt_reading.py::TestFNETMTCatalogReading::test_read_fnetmt_catalog", "outcome": "passed", "keywords": ["test_read_fnetmt_catalog", "filterwarnings", "TestFNETMTCatalogReading", "test_fnetmt_reading.py", "tests", "nied", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002163489999986723}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00042502299999114257, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_fnetmt_reading.py\", line 26, in test_read_fnetmt_catalog_from_open_files\n    read_events(fh)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003847989999883339}, "lineno": 19, "nodeid": "io/nied/tests/test_fnetmt_reading.py::TestFNETMTCatalogReading::test_read_fnetmt_catalog_from_open_files", "outcome": "failed", "keywords": ["test_read_fnetmt_catalog_from_open_files", "filterwarnings", "TestFNETMTCatalogReading", "test_fnetmt_reading.py", "tests", "nied", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019109199999434168}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00039891500000521773, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_fnetmt_reading.py\", line 38, in test_read_fnetmt_catalog_from_bytes_io\n    read_events(buf)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000347670999985894}, "lineno": 27, "nodeid": "io/nied/tests/test_fnetmt_reading.py::TestFNETMTCatalogReading::test_read_fnetmt_catalog_from_bytes_io", "outcome": "failed", "keywords": ["test_read_fnetmt_catalog_from_bytes_io", "filterwarnings", "TestFNETMTCatalogReading", "test_fnetmt_reading.py", "tests", "nied", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017690500001776854}}, {"call": {"outcome": "passed", "duration": 0.0004502799999954732}, "setup": {"outcome": "passed", "duration": 0.00035651700000016717}, "lineno": 39, "nodeid": "io/nied/tests/test_fnetmt_reading.py::TestFNETMTCatalogReading::test_is_fnetmt_catalog", "outcome": "passed", "keywords": ["test_is_fnetmt_catalog", "filterwarnings", "TestFNETMTCatalogReading", "test_fnetmt_reading.py", "tests", "nied", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026110100000664715}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008963520000122571, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 16, in test_read_knet_ascii\n    tr = read(testfile)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008003340000186654}, "lineno": 13, "nodeid": "io/nied/tests/test_knet_reading.py::TestKnetReading::test_read_knet_ascii", "outcome": "failed", "keywords": ["test_read_knet_ascii", "filterwarnings", "TestKnetReading", "test_knet_reading.py", "tests", "nied", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018822600000589773}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009902740000029553, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 30, in test_read_knet_ascii_from_open_files\n    tr = read(testfile)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003584310000235291}, "lineno": 24, "nodeid": "io/nied/tests/test_knet_reading.py::TestKnetReading::test_read_knet_ascii_from_open_files", "outcome": "failed", "keywords": ["test_read_knet_ascii_from_open_files", "filterwarnings", "TestKnetReading", "test_knet_reading.py", "tests", "nied", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019023100000481463}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005207089999998971, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 49, in test_read_knet_ascii_from_bytes_io\n    tr = read(buf)[0]\n         ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034818099999256447}, "lineno": 38, "nodeid": "io/nied/tests/test_knet_reading.py::TestKnetReading::test_read_knet_ascii_from_bytes_io", "outcome": "failed", "keywords": ["test_read_knet_ascii_from_bytes_io", "filterwarnings", "TestKnetReading", "test_knet_reading.py", "tests", "nied", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018019199998775548}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007994730000007166, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 65, in test_station_name_hack\n    tr = read(testfile, convert_stnm=True)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035725799997976537}, "lineno": 57, "nodeid": "io/nied/tests/test_knet_reading.py::TestKnetReading::test_station_name_hack", "outcome": "failed", "keywords": ["test_station_name_hack", "filterwarnings", "TestKnetReading", "test_knet_reading.py", "tests", "nied", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024435999998217994}}, {"call": {"outcome": "passed", "duration": 0.00040689999997312043}, "setup": {"outcome": "passed", "duration": 0.00034423399998217974}, "lineno": 67, "nodeid": "io/nied/tests/test_knet_reading.py::TestKnetReading::test_is_knet_ascii", "outcome": "passed", "keywords": ["test_is_knet_ascii", "filterwarnings", "TestKnetReading", "test_knet_reading.py", "tests", "nied", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023704599999518905}}, {"call": {"outcome": "passed", "duration": 0.003178065000014385}, "setup": {"outcome": "passed", "duration": 0.00044970900000862457}, "lineno": 2, "nodeid": "io/nied/util.py::obspy.io.nied.util.gen_sc3_id", "outcome": "passed", "keywords": ["obspy.io.nied.util.gen_sc3_id", "filterwarnings", "util.py", "nied", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016946200000234057}}, {"call": {"outcome": "failed", "duration": 0.008550630999991427, "longrepr": "014     (https://www.gnu.org/copyleft/lesser.html)\n015 \n016 Example\n017 -------\n018 If NonLinLoc location run was performed using one of the standard projections\n019 available in the NonLinLoc package, it is straightforward to read a NonLinLoc\n020 Hypocenter-Phase file into an ObsPy :class:`~obspy.core.event.Catalog` object:\n021 \n022 >>> from obspy import read_events\n023 >>> cat = read_events(\"/path/to/nlloc.hyp\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.nlloc[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nlloc/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007910169999831851}, "lineno": 2, "nodeid": "io/nlloc/__init__.py::obspy.io.nlloc", "outcome": "failed", "keywords": ["obspy.io.nlloc", "filterwarnings", "__init__.py", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020517800001584874}}, {"call": {"outcome": "passed", "duration": 0.02848786600000608}, "setup": {"outcome": "passed", "duration": 0.001284767000015563}, "lineno": 35, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_write_nlloc_obs", "outcome": "passed", "keywords": ["test_write_nlloc_obs", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022072600000910825}}, {"call": {"outcome": "passed", "duration": 0.07867880000000582}, "setup": {"outcome": "passed", "duration": 0.0004002369999795974}, "lineno": 71, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_hyp", "outcome": "passed", "keywords": ["test_read_nlloc_hyp", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002481369999998151}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005660296000002063, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nlloc/tests/test_core.py\", line 117, in test_read_nlloc_hyp_with_builtin_projection\n    cat_expected = read_events(testdata[\"nlloc.qml\"])\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004236709999929644}, "lineno": 111, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_hyp_with_builtin_projection", "outcome": "failed", "keywords": ["test_read_nlloc_hyp_with_builtin_projection", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020622900001399103}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00074646500002018, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nlloc/tests/test_core.py\", line 222, in test_read_nlloc_hyp_via_plugin\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003906089999929918}, "lineno": 219, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_hyp_via_plugin", "outcome": "failed", "keywords": ["test_read_nlloc_hyp_via_plugin", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020476699998539516}}, {"call": {"outcome": "passed", "duration": 0.022439163999990797}, "setup": {"outcome": "passed", "duration": 0.0003504359999908502}, "lineno": 226, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_with_pick_seed_id_lookup", "outcome": "passed", "keywords": ["test_read_nlloc_with_pick_seed_id_lookup", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020795200001089142}}, {"call": {"outcome": "passed", "duration": 0.00039747200000306293}, "setup": {"outcome": "passed", "duration": 0.0003873230000124295}, "lineno": 258, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_is_nlloc_hyp", "outcome": "passed", "keywords": ["test_is_nlloc_hyp", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017827799999281524}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008387949999928423, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nlloc/tests/test_core.py\", line 274, in test_read_nlloc_with_picks\n    picks = read_events(testdata[\"nlloc_custom.qml\"])[0].picks\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003576489999943533}, "lineno": 268, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_with_picks", "outcome": "failed", "keywords": ["test_read_nlloc_with_picks", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018168500000115273}}, {"call": {"outcome": "passed", "duration": 0.005225465999984635}, "setup": {"outcome": "passed", "duration": 0.0003430620000131057}, "lineno": 281, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_with_multiple_events", "outcome": "passed", "keywords": ["test_read_nlloc_with_multiple_events", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019382699997549935}}, {"call": {"outcome": "passed", "duration": 0.006300836000008303}, "setup": {"outcome": "passed", "duration": 0.0003754419999779657}, "lineno": 300, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_6_beta_signature", "outcome": "passed", "keywords": ["test_read_nlloc_6_beta_signature", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018683400000440997}}, {"call": {"outcome": "passed", "duration": 0.004645726999996214}, "setup": {"outcome": "passed", "duration": 0.0003530509999905007}, "lineno": 315, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_issue_2222", "outcome": "passed", "keywords": ["test_issue_2222", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018108399999050562}}, {"call": {"outcome": "passed", "duration": 0.0034392249999939395}, "setup": {"outcome": "passed", "duration": 0.0003396449999968354}, "lineno": 342, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_reading_nlloc_v7_hyp_file", "outcome": "passed", "keywords": ["test_reading_nlloc_v7_hyp_file", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001780569999993986}}, {"call": {"outcome": "passed", "duration": 0.003956068000007917}, "setup": {"outcome": "passed", "duration": 0.00037863699998297307}, "lineno": 362, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_rejected_origin", "outcome": "passed", "keywords": ["test_rejected_origin", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017732699998873613}}, {"call": {"outcome": "passed", "duration": 0.00023605500001622204}, "setup": {"outcome": "passed", "duration": 0.0002974170000129561}, "lineno": 379, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_doc_resolve_seedid", "outcome": "passed", "keywords": ["test_read_nlloc_doc_resolve_seedid", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025649299999486175}}, {"call": {"outcome": "passed", "duration": 0.0007167900000126792}, "setup": {"outcome": "passed", "duration": 0.0008677379999824097}, "lineno": 31, "nodeid": "io/nlloc/tests/test_util.py::TestNLLOC::test_read_nlloc_scatter_plain", "outcome": "passed", "keywords": ["test_read_nlloc_scatter_plain", "filterwarnings", "TestNLLOC", "test_util.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017011299999580842}}, {"call": {"outcome": "passed", "duration": 0.3578139980000117}, "setup": {"outcome": "passed", "duration": 0.0003413989999785372}, "lineno": 42, "nodeid": "io/nlloc/tests/test_util.py::TestNLLOC::test_read_nlloc_scatter_coordinate_conversion", "outcome": "passed", "keywords": ["test_read_nlloc_scatter_coordinate_conversion", "skipif", "pytestmark", "filterwarnings", "TestNLLOC", "test_util.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030706600000485196}}, {"call": {"outcome": "passed", "duration": 0.003194304000004422}, "setup": {"outcome": "passed", "duration": 0.0008437239999921076}, "lineno": 157, "nodeid": "io/nordic/ellipse.py::obspy.io.nordic.ellipse.Ellipse.__repr__", "outcome": "passed", "keywords": ["obspy.io.nordic.ellipse.Ellipse.__repr__", "filterwarnings", "ellipse.py", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002017220000141151}}, {"call": {"outcome": "passed", "duration": 0.040033774000022504}, "setup": {"outcome": "passed", "duration": 0.0007645990000071379}, "lineno": 35, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_write", "outcome": "passed", "keywords": ["test_read_write", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002195149999977275}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.05721643499998663, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 165, in test_write_read_quakeml\n    cat_back = read_events(tf.name)\n               ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008500260000232629}, "lineno": 152, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_write_read_quakeml", "outcome": "failed", "keywords": ["test_write_read_quakeml", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0008087799999998424}}, {"call": {"outcome": "passed", "duration": 0.004232387000001836}, "setup": {"outcome": "passed", "duration": 0.0003999170000099639}, "lineno": 175, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_compact_file", "outcome": "passed", "keywords": ["test_read_compact_file", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018245600000454942}}, {"call": {"outcome": "passed", "duration": 0.031050015999994685}, "setup": {"outcome": "passed", "duration": 0.00032633099999657134}, "lineno": 186, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_fail_writing", "outcome": "passed", "keywords": ["test_fail_writing", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002466640000022835}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024263100000041504, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 262, in test_blanksfile\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035783900000296853}, "lineno": 260, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_blanksfile", "outcome": "failed", "keywords": ["test_blanksfile", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019411700000659948}}, {"call": {"outcome": "passed", "duration": 0.0016861969999979465}, "setup": {"outcome": "passed", "duration": 0.00042917100000749997}, "lineno": 296, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_write_empty", "outcome": "passed", "keywords": ["test_write_empty", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017279799999414536}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.08421954700000356, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/uuid.py\", line 139, in __init__\n    def __init__(self, hex=None, bytes=None, bytes_le=None, fields=None,\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0003608850000205166}, "lineno": 315, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_empty_header", "outcome": "failed", "keywords": ["test_read_empty_header", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002329189999841219}}, {"call": {"outcome": "passed", "duration": 0.028170823000010614}, "setup": {"outcome": "passed", "duration": 0.00041464399998858426}, "lineno": 329, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_extra_header", "outcome": "passed", "keywords": ["test_read_extra_header", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023612500001490844}}, {"call": {"outcome": "passed", "duration": 0.005512193000015486}, "setup": {"outcome": "passed", "duration": 0.00040908299999387054}, "lineno": 347, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_header_mapping", "outcome": "passed", "keywords": ["test_header_mapping", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020204300000159492}}, {"call": {"outcome": "passed", "duration": 0.0004955230000120991}, "setup": {"outcome": "passed", "duration": 0.0003634200000135479}, "lineno": 360, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_missing_header", "outcome": "passed", "keywords": ["test_missing_header", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016596599999729733}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000457733000018834, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 378, in test_reading_string_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003355980000208092}, "lineno": 368, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_reading_string_io", "outcome": "failed", "keywords": ["test_reading_string_io", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001794599999982438}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00042662600000653583, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 393, in test_reading_bytes_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033617899998716894}, "lineno": 383, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_reading_bytes_io", "outcome": "failed", "keywords": ["test_reading_bytes_io", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017943099999229162}}, {"call": {"outcome": "passed", "duration": 0.0007592890000012176}, "setup": {"outcome": "passed", "duration": 0.00036610399999403853}, "lineno": 398, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_corrupt_header", "outcome": "passed", "keywords": ["test_corrupt_header", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016657700001587727}}, {"call": {"outcome": "passed", "duration": 0.25633763700000145}, "setup": {"outcome": "passed", "duration": 0.0003238870000075167}, "lineno": 410, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_multi_writing", "outcome": "passed", "keywords": ["test_multi_writing", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002349130000141031}}, {"call": {"outcome": "passed", "duration": 0.0002684039999962806}, "setup": {"outcome": "passed", "duration": 0.00039712200000963094}, "lineno": 426, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_mag_conv", "outcome": "passed", "keywords": ["test_mag_conv", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018636400000104913}}, {"call": {"outcome": "passed", "duration": 0.00030007299997691916}, "setup": {"outcome": "passed", "duration": 0.00029106600001682637}, "lineno": 437, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_str_conv", "outcome": "passed", "keywords": ["test_str_conv", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001639820000036707}}, {"call": {"outcome": "passed", "duration": 0.022977475000004688}, "setup": {"outcome": "passed", "duration": 0.00036716699997896285}, "lineno": 451, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_wavename", "outcome": "passed", "keywords": ["test_read_wavename", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021674000001326021}}, {"call": {"outcome": "passed", "duration": 0.014503246000003855}, "setup": {"outcome": "passed", "duration": 0.00039367499999798383}, "lineno": 483, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_event", "outcome": "passed", "keywords": ["test_read_event", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001857219999976678}}, {"call": {"outcome": "passed", "duration": 0.04424351899999124}, "setup": {"outcome": "passed", "duration": 0.0003668250000146145}, "lineno": 495, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_event_new", "outcome": "passed", "keywords": ["test_read_event_new", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023330900000928523}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004059788999995817, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 520, in test_read_latin1\n    cat = read_events(dos_file)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004035439999938717}, "lineno": 508, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_latin1", "outcome": "failed", "keywords": ["test_read_latin1", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002045669999972688}}, {"call": {"outcome": "passed", "duration": 0.5212195930000121}, "setup": {"outcome": "passed", "duration": 0.00038966799999684554}, "lineno": 529, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_many_events", "outcome": "passed", "keywords": ["test_read_many_events", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022884199998429722}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013942079999935686, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 539, in test_write_select\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000383194999983516}, "lineno": 537, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_write_select", "outcome": "failed", "keywords": ["test_write_select", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018594200000165984}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011667900000134068, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 554, in test_write_select_new\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003353580000009515}, "lineno": 552, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_write_select_new", "outcome": "failed", "keywords": ["test_write_select_new", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019543000001931432}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011598170000013397, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 569, in test_write_plugin\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029978200001323785}, "lineno": 567, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_write_plugin", "outcome": "failed", "keywords": ["test_write_plugin", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017997200001218516}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.02226786900001798, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 598, in test_more_than_three_mags\n    cat_back = read_events(tf.name)\n               ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030394000000910637}, "lineno": 583, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_more_than_three_mags", "outcome": "failed", "keywords": ["test_more_than_three_mags", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023916000000667736}}, {"call": {"outcome": "passed", "duration": 0.015034113000012894}, "setup": {"outcome": "passed", "duration": 0.0003883249999887539}, "lineno": 602, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_inaccurate_picks", "outcome": "passed", "keywords": ["test_inaccurate_picks", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022121799997876224}}, {"call": {"outcome": "passed", "duration": 0.010136813000002576}, "setup": {"outcome": "passed", "duration": 0.00044888700000456083}, "lineno": 612, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_round_len", "outcome": "passed", "keywords": ["test_round_len", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023916099999610196}}, {"call": {"outcome": "passed", "duration": 0.026167211000000634}, "setup": {"outcome": "passed", "duration": 0.00039691099999572543}, "lineno": 622, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_moment", "outcome": "passed", "keywords": ["test_read_moment", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002262960000223302}}, {"call": {"outcome": "passed", "duration": 0.001990435999999818}, "setup": {"outcome": "passed", "duration": 0.0003997370000092815}, "lineno": 635, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_moment_info", "outcome": "passed", "keywords": ["test_read_moment_info", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001783379999835688}}, {"call": {"outcome": "passed", "duration": 0.0012700499999880321}, "setup": {"outcome": "passed", "duration": 0.00038920700001199293}, "lineno": 660, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_is_sfile", "outcome": "passed", "keywords": ["test_is_sfile", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018014100001551014}}, {"call": {"outcome": "passed", "duration": 0.007601161999986061}, "setup": {"outcome": "passed", "duration": 0.00034747999998785417}, "lineno": 672, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_picks_across_day_end", "outcome": "passed", "keywords": ["test_read_picks_across_day_end", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002258159999826148}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009027229999958308, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 708, in test_distance_conversion\n    cat = read_events(testing_path)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003888170000152513}, "lineno": 699, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_distance_conversion", "outcome": "failed", "keywords": ["test_distance_conversion", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018289700000195808}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.01051846600000772, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 728, in test_large_negative_longitude\n    event_back = read_events(tf.name)\n                 ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032633099999657134}, "lineno": 717, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_large_negative_longitude", "outcome": "failed", "keywords": ["test_large_negative_longitude", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023342000000070584}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.010640599999987899, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 746, in test_write_preferred_origin\n    event_back = read_events(tf.name)\n                 ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035323999998126965}, "lineno": 730, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_write_preferred_origin", "outcome": "failed", "keywords": ["test_write_preferred_origin", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002734530000054747}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008746209999799248, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 760, in test_read_high_precision_pick\n    cat = read_events(\n          ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040816200001358993}, "lineno": 751, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_high_precision_pick", "outcome": "failed", "keywords": ["test_read_high_precision_pick", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019340599999395636}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008622290000062094, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 779, in test_high_precision_read_write\n    cat = read_events(testdata['sfile_high_precision_picks'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003652130000091347}, "lineno": 773, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_high_precision_read_write", "outcome": "failed", "keywords": ["test_high_precision_read_write", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018259699999134682}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007797859999811863, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 824, in test_long_phase_name\n    cat = read_events(testdata['sfile_long_phase'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034647800001152973}, "lineno": 818, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_long_phase_name", "outcome": "failed", "keywords": ["test_long_phase_name", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017881899998428707}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.009572833000021319, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 856, in test_read_write_over_day\n    event_back = read_events(tf.name)[0]\n                 ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009374070000092161}, "lineno": 839, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_write_over_day", "outcome": "failed", "keywords": ["test_read_write_over_day", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023863999999207408}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007789450000075249, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 865, in test_seconds_overflow\n    cat = read_events(testdata['sfile_seconds_overflow'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037040300000512616}, "lineno": 858, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_seconds_overflow", "outcome": "failed", "keywords": ["test_seconds_overflow", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018068299999640658}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000737538000009863, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 892, in test_read_bad_covariance\n    cat = read_events(testdata['sfile_bad_covariance'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036533299999064184}, "lineno": 885, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_bad_covariance", "outcome": "failed", "keywords": ["test_read_bad_covariance", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000174251000004233}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007460940000214578, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 901, in test_read_high_accuracy\n    cat = read_events(testdata['sfile_highaccuracy'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003537109999740551}, "lineno": 894, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_high_accuracy", "outcome": "failed", "keywords": ["test_read_high_accuracy", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019994899997755056}}, {"call": {"outcome": "passed", "duration": 0.002569934000007379}, "setup": {"outcome": "passed", "duration": 0.00029897000001710694}, "lineno": 913, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_from__to_uncerts", "outcome": "passed", "keywords": ["test_ellipse_from__to_uncerts", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017437099998574013}}, {"call": {"outcome": "passed", "duration": 0.0004580140000030042}, "setup": {"outcome": "passed", "duration": 0.00034466500000007727}, "lineno": 947, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_from_to_cov", "outcome": "passed", "keywords": ["test_ellipse_from_to_cov", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016804000000547603}}, {"call": {"outcome": "passed", "duration": 0.0005646500000011656}, "setup": {"outcome": "passed", "duration": 0.0002845740000054775}, "lineno": 970, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_from_uncerts_baz", "outcome": "passed", "keywords": ["test_ellipse_from_uncerts_baz", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016291000000023814}}, {"call": {"outcome": "passed", "duration": 0.00039336500000786145}, "setup": {"outcome": "passed", "duration": 0.000279054000003498}, "lineno": 997, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_is_inside", "outcome": "passed", "keywords": ["test_ellipse_is_inside", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001710150000064914}}, {"call": {"outcome": "passed", "duration": 0.000390468999995619}, "setup": {"outcome": "passed", "duration": 0.00032785400000534537}, "lineno": 1013, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_is_on", "outcome": "passed", "keywords": ["test_ellipse_is_on", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001800910000042677}}, {"call": {"outcome": "passed", "duration": 0.0010283640000068317}, "setup": {"outcome": "passed", "duration": 0.00027593800001568525}, "lineno": 1029, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_subtended_angle", "outcome": "passed", "keywords": ["test_ellipse_subtended_angle", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016764899999088811}}, {"call": {"outcome": "passed", "duration": 0.04309253799999624}, "setup": {"outcome": "passed", "duration": 0.0004791130000114663}, "lineno": 1040, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_plot_1", "outcome": "passed", "keywords": ["test_ellipse_plot_1", "filterwarnings", "image", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003863520000209064}}, {"call": {"outcome": "passed", "duration": 0.04527408699999569}, "setup": {"outcome": "passed", "duration": 0.0005882530000178576}, "lineno": 1052, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_plot_2", "outcome": "passed", "keywords": ["test_ellipse_plot_2", "filterwarnings", "image", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00034140899998647}}, {"call": {"outcome": "passed", "duration": 0.049942657000002555}, "setup": {"outcome": "passed", "duration": 0.0006162849999782338}, "lineno": 1063, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_plot_tangents_1", "outcome": "passed", "keywords": ["test_ellipse_plot_tangents_1", "filterwarnings", "image", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003456870000206891}}, {"call": {"outcome": "passed", "duration": 0.08287589200000411}, "setup": {"outcome": "passed", "duration": 0.0006985459999953036}, "lineno": 1083, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_plot_tangents_2", "outcome": "passed", "keywords": ["test_ellipse_plot_tangents_2", "filterwarnings", "image", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003619860000014796}}, {"call": {"outcome": "passed", "duration": 0.08183182799999145}, "setup": {"outcome": "passed", "duration": 0.0006869649999998728}, "lineno": 1105, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_plot_tangents_3", "outcome": "passed", "keywords": ["test_ellipse_plot_tangents_3", "filterwarnings", "image", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00036379099998384845}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009792529999970156, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 1134, in test_read_uncert_ellipse\n    cat = read_events(testdata['sfile_highaccuracy'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000450639999996838}, "lineno": 1127, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_uncert_ellipse", "outcome": "failed", "keywords": ["test_read_uncert_ellipse", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021272199998634278}}, {"call": {"outcome": "passed", "duration": 0.014900837999988426}, "setup": {"outcome": "passed", "duration": 0.00035741799999300383}, "lineno": 1143, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_resolve_seedid", "outcome": "passed", "keywords": ["test_read_resolve_seedid", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019368700000654826}}, {"call": {"outcome": "passed", "duration": 0.046374564999979384}, "setup": {"outcome": "passed", "duration": 0.00038889699999344884}, "lineno": 1156, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_resolve_seedid_new_format", "outcome": "passed", "keywords": ["test_read_resolve_seedid_new_format", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031704400001331123}}, {"call": {"outcome": "skipped", "duration": 0.0002860760000089613, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00048361099999283397}, "lineno": 189, "nodeid": "io/nordic/utils.py::obspy.io.nordic.utils._evmagtonor", "outcome": "skipped", "keywords": ["obspy.io.nordic.utils._evmagtonor", "filterwarnings", "utils.py", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018266600000060862}}, {"call": {"outcome": "passed", "duration": 0.0032411200000126428}, "setup": {"outcome": "passed", "duration": 0.00031725499999879503}, "lineno": 106, "nodeid": "io/nordic/utils.py::obspy.io.nordic.utils._float_conv", "outcome": "passed", "keywords": ["obspy.io.nordic.utils._float_conv", "filterwarnings", "utils.py", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020142099998565755}}, {"call": {"outcome": "passed", "duration": 0.002953419999982998}, "setup": {"outcome": "passed", "duration": 0.00038682299998527014}, "lineno": 88, "nodeid": "io/nordic/utils.py::obspy.io.nordic.utils._int_conv", "outcome": "passed", "keywords": ["obspy.io.nordic.utils._int_conv", "filterwarnings", "utils.py", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001793899999995574}}, {"call": {"outcome": "skipped", "duration": 0.00021819200000550154, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00032672199998273754}, "lineno": 210, "nodeid": "io/nordic/utils.py::obspy.io.nordic.utils._nortoevmag", "outcome": "skipped", "keywords": ["obspy.io.nordic.utils._nortoevmag", "filterwarnings", "utils.py", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001703140000017811}}, {"call": {"outcome": "passed", "duration": 0.003000576999994564}, "setup": {"outcome": "passed", "duration": 0.00030312900000240006}, "lineno": 125, "nodeid": "io/nordic/utils.py::obspy.io.nordic.utils._str_conv", "outcome": "passed", "keywords": ["obspy.io.nordic.utils._str_conv", "filterwarnings", "utils.py", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001728780000007646}}, {"call": {"outcome": "failed", "duration": 0.008921363000013116, "longrepr": "048 \n049     :type filename: str\n050     :param filename: PDAS file to be read.\n051     :rtype: :class:`~obspy.core.stream.Stream`\n052     :return: An ObsPy Stream object.\n053 \n054     .. rubric:: Example\n055 \n056     >>> from obspy import read\n057     >>> st = read(\"/path/to/p1246001.108\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.pdas.core._read_pdas[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/pdas/core.py:57: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007628150000016376}, "lineno": 41, "nodeid": "io/pdas/core.py::obspy.io.pdas.core._read_pdas", "outcome": "failed", "keywords": ["obspy.io.pdas.core._read_pdas", "filterwarnings", "core.py", "pdas", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023026399998116176}}, {"call": {"outcome": "passed", "duration": 0.0009591759999807437}, "setup": {"outcome": "passed", "duration": 0.0011675799999864012}, "lineno": 11, "nodeid": "io/pdas/tests/test_core.py::TestPDAS::test_read_pdas", "outcome": "passed", "keywords": ["test_read_pdas", "filterwarnings", "TestPDAS", "test_core.py", "tests", "pdas", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018618300001094212}}, {"call": {"outcome": "passed", "duration": 0.0002848450000101366}, "setup": {"outcome": "passed", "duration": 0.0003326030000039282}, "lineno": 43, "nodeid": "io/pdas/tests/test_core.py::TestPDAS::test_is_pdas", "outcome": "passed", "keywords": ["test_is_pdas", "filterwarnings", "TestPDAS", "test_core.py", "tests", "pdas", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023454200001538084}}, {"call": {"outcome": "skipped", "duration": 0.0002172699999789529, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0007701490000044942}, "lineno": 40, "nodeid": "io/pde/mchedr.py::obspy.io.pde.mchedr._is_mchedr", "outcome": "skipped", "keywords": ["obspy.io.pde.mchedr._is_mchedr", "filterwarnings", "mchedr.py", "pde", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017215700000861034}}, {"call": {"outcome": "failed", "duration": 0.009392241000000467, "longrepr": "1071 \n1072     :type filename: str or :class:`~pathlib.Path`\n1073     :param filename: mchedr file to be read.\n1074     :rtype: :class:`~obspy.core.event.Catalog`\n1075     :return: An ObsPy Catalog object.\n1076 \n1077     .. rubric:: Example\n1078 \n1079     >>> from obspy.core.event import read_events\n1080     >>> cat = read_events('/path/to/mchedr.dat')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.pde.mchedr._read_mchedr[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/pde/mchedr.py:1080: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031627300000991454}, "lineno": 1062, "nodeid": "io/pde/mchedr.py::obspy.io.pde.mchedr._read_mchedr", "outcome": "failed", "keywords": ["obspy.io.pde.mchedr._read_mchedr", "filterwarnings", "mchedr.py", "pde", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018787600001246574}}, {"call": {"outcome": "passed", "duration": 0.000597451000004412}, "setup": {"outcome": "passed", "duration": 0.07294566900000632}, "lineno": 31, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_catalog", "outcome": "passed", "keywords": ["test_catalog", "filterwarnings", "TestMchedr", "test_mchedr.py", "tests", "pde", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020624999999085958}}, {"call": {"outcome": "passed", "duration": 0.0003738380000015695}, "setup": {"outcome": "passed", "duration": 0.07190510300000597}, "lineno": 37, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_event", "outcome": "passed", "keywords": ["test_event", "filterwarnings", "TestMchedr", "test_mchedr.py", "tests", "pde", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020784299999832}}, {"call": {"outcome": "passed", "duration": 0.0015511769999818625}, "setup": {"outcome": "passed", "duration": 0.07179457899999875}, "lineno": 66, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_origin", "outcome": "passed", "keywords": ["test_origin", "filterwarnings", "TestMchedr", "test_mchedr.py", "tests", "pde", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020705200000747936}}, {"call": {"outcome": "passed", "duration": 0.0004336479999835774}, "setup": {"outcome": "passed", "duration": 0.07244780199999923}, "lineno": 134, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_magnitude", "outcome": "passed", "keywords": ["test_magnitude", "filterwarnings", "TestMchedr", "test_mchedr.py", "tests", "pde", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020253300002082142}}, {"call": {"outcome": "passed", "duration": 0.0003392950000034034}, "setup": {"outcome": "passed", "duration": 0.07100765900000283}, "lineno": 158, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_stationmagnitude", "outcome": "passed", "keywords": ["test_stationmagnitude", "filterwarnings", "TestMchedr", "test_mchedr.py", "tests", "pde", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002097759999912796}}, {"call": {"outcome": "passed", "duration": 0.000372416000004705}, "setup": {"outcome": "passed", "duration": 0.07283215100000007}, "lineno": 170, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_amplitude", "outcome": "passed", "keywords": ["test_amplitude", "filterwarnings", "TestMchedr", "test_mchedr.py", "tests", "pde", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020992699998600983}}, {"call": {"outcome": "passed", "duration": 0.00042055500000515167}, "setup": {"outcome": "passed", "duration": 0.07277278200001547}, "lineno": 183, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_arrival", "outcome": "passed", "keywords": ["test_arrival", "filterwarnings", "TestMchedr", "test_mchedr.py", "tests", "pde", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022135799997613503}}, {"call": {"outcome": "passed", "duration": 0.00044994900000006055}, "setup": {"outcome": "passed", "duration": 0.07143804300000056}, "lineno": 204, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_pick", "outcome": "passed", "keywords": ["test_pick", "filterwarnings", "TestMchedr", "test_mchedr.py", "tests", "pde", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002214179999953103}}, {"call": {"outcome": "passed", "duration": 0.0015306299999906514}, "setup": {"outcome": "passed", "duration": 0.07258523600000899}, "lineno": 221, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_focalmechanism", "outcome": "passed", "keywords": ["test_focalmechanism", "filterwarnings", "TestMchedr", "test_mchedr.py", "tests", "pde", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020585899997627166}}, {"call": {"outcome": "passed", "duration": 0.1291052880000052}, "setup": {"outcome": "passed", "duration": 0.07215614599999753}, "lineno": 283, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_write_quakeml", "outcome": "passed", "keywords": ["test_write_quakeml", "filterwarnings", "TestMchedr", "test_mchedr.py", "tests", "pde", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002537679999932152}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010398350000002665, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/pde/tests/test_mchedr.py\", line 307, in test_read_events\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.07176487399999587}, "lineno": 297, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_read_events", "outcome": "failed", "keywords": ["test_read_events", "filterwarnings", "TestMchedr", "test_mchedr.py", "tests", "pde", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0004402619999837043}}, {"call": {"outcome": "passed", "duration": 0.003669278999979042}, "setup": {"outcome": "passed", "duration": 0.0008718249999901673}, "lineno": 1294, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Pickler._magnitude", "outcome": "passed", "keywords": ["obspy.io.quakeml.core.Pickler._magnitude", "filterwarnings", "core.py", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019625100000553175}}, {"call": {"outcome": "passed", "duration": 0.0034822140000017043}, "setup": {"outcome": "passed", "duration": 0.00041179900000543057}, "lineno": 1369, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Pickler._origin", "outcome": "passed", "keywords": ["obspy.io.quakeml.core.Pickler._origin", "filterwarnings", "core.py", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018511199999693417}}, {"call": {"outcome": "passed", "duration": 0.003373003000007202}, "setup": {"outcome": "passed", "duration": 0.0003484819999926003}, "lineno": 1333, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Pickler._station_magnitude", "outcome": "passed", "keywords": ["obspy.io.quakeml.core.Pickler._station_magnitude", "filterwarnings", "core.py", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000183398000018542}}, {"call": {"outcome": "passed", "duration": 0.0033206360000122004}, "setup": {"outcome": "passed", "duration": 0.0003498149999927591}, "lineno": 858, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Unpickler._focal_mechanism", "outcome": "passed", "keywords": ["obspy.io.quakeml.core.Unpickler._focal_mechanism", "filterwarnings", "core.py", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017554400000108217}}, {"call": {"outcome": "passed", "duration": 0.0032295190000013463}, "setup": {"outcome": "passed", "duration": 0.0003635900000062975}, "lineno": 592, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Unpickler._magnitude", "outcome": "passed", "keywords": ["obspy.io.quakeml.core.Unpickler._magnitude", "filterwarnings", "core.py", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001955699999882654}}, {"call": {"outcome": "passed", "duration": 0.0033986599999877853}, "setup": {"outcome": "passed", "duration": 0.0003220930000225053}, "lineno": 543, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Unpickler._origin", "outcome": "passed", "keywords": ["obspy.io.quakeml.core.Unpickler._origin", "filterwarnings", "core.py", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017606400001568545}}, {"call": {"outcome": "passed", "duration": 0.003171301999998377}, "setup": {"outcome": "passed", "duration": 0.000328644999996186}, "lineno": 631, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Unpickler._station_magnitude", "outcome": "passed", "keywords": ["obspy.io.quakeml.core.Unpickler._station_magnitude", "filterwarnings", "core.py", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019614100000353574}}, {"call": {"outcome": "skipped", "duration": 0.0002458929999988868, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003185360000088622}, "lineno": 84, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core._is_quakeml", "outcome": "skipped", "keywords": ["obspy.io.quakeml.core._is_quakeml", "filterwarnings", "core.py", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025546999998482534}}, {"call": {"outcome": "failed", "duration": 0.0047732529999962026, "longrepr": "1818 \n1819     :type filename: str\n1820     :param filename: QuakeML file to be read.\n1821     :rtype: :class:`~obspy.core.event.Catalog`\n1822     :return: An ObsPy Catalog object.\n1823 \n1824     .. rubric:: Example\n1825 \n1826     >>> from obspy.core.event import read_events\n1827     >>> cat = read_events('/path/to/iris_events.xml')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.quakeml.core._read_quakeml[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/core.py:1827: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034029699997972784}, "lineno": 1810, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core._read_quakeml", "outcome": "failed", "keywords": ["obspy.io.quakeml.core._read_quakeml", "filterwarnings", "core.py", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001836079999861795}}, {"call": {"outcome": "passed", "duration": 0.015251444000000447}, "setup": {"outcome": "passed", "duration": 0.0014736540000228615}, "lineno": 48, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_read_quakeml", "outcome": "passed", "keywords": ["test_read_quakeml", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002131430000247292}}, {"call": {"outcome": "passed", "duration": 0.006121426000021302}, "setup": {"outcome": "passed", "duration": 0.00037771499998484614}, "lineno": 73, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_usgs_eventype", "outcome": "passed", "keywords": ["test_usgs_eventype", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018975000000409636}}, {"call": {"outcome": "passed", "duration": 0.003309435999995003}, "setup": {"outcome": "passed", "duration": 0.00037430000000426844}, "lineno": 84, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_event", "outcome": "passed", "keywords": ["test_event", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019807399999649533}}, {"call": {"outcome": "passed", "duration": 0.007457636999987471}, "setup": {"outcome": "passed", "duration": 0.00034304199999724005}, "lineno": 133, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_origin", "outcome": "passed", "keywords": ["test_origin", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002005590000067059}}, {"call": {"outcome": "passed", "duration": 0.0027208520000101544}, "setup": {"outcome": "passed", "duration": 0.0003657739999880505}, "lineno": 231, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_magnitude", "outcome": "passed", "keywords": ["test_magnitude", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020000800000730123}}, {"call": {"outcome": "passed", "duration": 0.002136554999992768}, "setup": {"outcome": "passed", "duration": 0.0003891970000040601}, "lineno": 274, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_station_magnitude_contribution", "outcome": "passed", "keywords": ["test_station_magnitude_contribution", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001803419999930611}}, {"call": {"outcome": "passed", "duration": 0.002198870000000852}, "setup": {"outcome": "passed", "duration": 0.00036912999999572094}, "lineno": 306, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_station_magnitude", "outcome": "passed", "keywords": ["test_station_magnitude", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019546999999420223}}, {"call": {"outcome": "passed", "duration": 0.0037842010000019854}, "setup": {"outcome": "passed", "duration": 0.000336029000010285}, "lineno": 340, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_data_used_in_moment_tensor", "outcome": "passed", "keywords": ["test_data_used_in_moment_tensor", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002147659999991447}}, {"call": {"outcome": "passed", "duration": 0.0043760309999925084}, "setup": {"outcome": "passed", "duration": 0.0003639800000030391}, "lineno": 381, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_arrival", "outcome": "passed", "keywords": ["test_arrival", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017858900000078393}}, {"call": {"outcome": "passed", "duration": 0.004530725999984497}, "setup": {"outcome": "passed", "duration": 0.00034191999998256506}, "lineno": 416, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_pick", "outcome": "passed", "keywords": ["test_pick", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018164400000841852}}, {"call": {"outcome": "passed", "duration": 0.013520995999982688}, "setup": {"outcome": "passed", "duration": 0.00034543699999289856}, "lineno": 451, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_focalmechanism", "outcome": "passed", "keywords": ["test_focalmechanism", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022269000001529093}}, {"call": {"outcome": "passed", "duration": 0.010246914999981982}, "setup": {"outcome": "passed", "duration": 0.0003990449999946577}, "lineno": 536, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_write_quakeml", "outcome": "passed", "keywords": ["test_write_quakeml", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002077320000068994}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010234350000075665, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 562, in test_read_events\n    catalog = read_events(testdata['neries_events.xml'])\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004072700000108398}, "lineno": 555, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_read_events", "outcome": "failed", "keywords": ["test_read_events", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020162100000220562}}, {"call": {"outcome": "passed", "duration": 0.0014162190000206465}, "setup": {"outcome": "passed", "duration": 0.0003499849999855087}, "lineno": 573, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_enums", "outcome": "passed", "keywords": ["test_enums", "skipif", "pytestmark", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001777669999967202}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000429701999991039, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 646, in test_read_string\n    catalog = read_events(data)\n              ^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 730, in _generic_reader\n    return callback_func(io.BytesIO(pathname_or_url), **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034057700000289515}, "lineno": 638, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_read_string", "outcome": "failed", "keywords": ["test_read_string", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001971119999950588}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011896219999982804, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 661, in test_preferred_tags\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003550239999867699}, "lineno": 649, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_preferred_tags", "outcome": "failed", "keywords": ["test_preferred_tags", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018829600000458413}}, {"call": {"outcome": "passed", "duration": 0.008622703000014553}, "setup": {"outcome": "passed", "duration": 0.0003453159999935451}, "lineno": 676, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_creating_minimal_quakeml_with_mt", "outcome": "passed", "keywords": ["test_creating_minimal_quakeml_with_mt", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000189308999978266}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008626400000082413, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 756, in test_read_equivalence\n    cat1 = read_events(testdata['neries_events.xml'])\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000373648000021376}, "lineno": 748, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_read_equivalence", "outcome": "failed", "keywords": ["test_read_equivalence", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001878260000012233}}, {"call": {"outcome": "passed", "duration": 0.007257499000019152}, "setup": {"outcome": "passed", "duration": 0.0003303189999996903}, "lineno": 759, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_reading_twice_raises_no_warning", "outcome": "passed", "keywords": ["test_reading_twice_raises_no_warning", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018855700000131037}}, {"call": {"outcome": "passed", "duration": 0.003771988000011106}, "setup": {"outcome": "passed", "duration": 0.00039438700000005156}, "lineno": 777, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_read_amplitude_time_window", "outcome": "passed", "keywords": ["test_read_amplitude_time_window", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017810800000006566}}, {"call": {"outcome": "passed", "duration": 0.00525394799998935}, "setup": {"outcome": "passed", "duration": 0.00035563500000534987}, "lineno": 799, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_write_amplitude_time_window", "outcome": "passed", "keywords": ["test_write_amplitude_time_window", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002145949999885488}}, {"call": {"outcome": "passed", "duration": 0.012161192000007759}, "setup": {"outcome": "passed", "duration": 0.00042997200000627345}, "lineno": 839, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_write_with_extra_tags_and_read", "outcome": "passed", "keywords": ["test_write_with_extra_tags_and_read", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020222300000227733}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00042571500000576634, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 990, in test_read_same_file_twice_to_same_variable\n    cat1 = read_events(sio)  # NOQA\n           ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034127899999703004}, "lineno": 954, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_read_same_file_twice_to_same_variable", "outcome": "failed", "keywords": ["test_read_same_file_twice_to_same_variable", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018107399998257279}}, {"call": {"outcome": "passed", "duration": 0.004983109000022523}, "setup": {"outcome": "passed", "duration": 0.00031978900000240174}, "lineno": 996, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_focal_mechanism_write_read", "outcome": "passed", "keywords": ["test_focal_mechanism_write_read", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001697929999977532}}, {"call": {"outcome": "passed", "duration": 0.010068155999988448}, "setup": {"outcome": "passed", "duration": 0.00029560400000150366}, "lineno": 1015, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_avoid_empty_stub_elements", "outcome": "passed", "keywords": ["test_avoid_empty_stub_elements", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020778299997914473}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008630899999957364, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 1060, in test_writing_invalid_quakeml_id\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037939899999628324}, "lineno": 1052, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_writing_invalid_quakeml_id", "outcome": "failed", "keywords": ["test_writing_invalid_quakeml_id", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018654400000173155}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007802570000023934, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 1083, in test_reading_invalid_enums\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034085799998706534}, "lineno": 1075, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_reading_invalid_enums", "outcome": "failed", "keywords": ["test_reading_invalid_enums", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002071720000174082}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012094380000178262, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 1101, in test_issue_2339\n    cat1 = Catalog(events=[read_events()[0]])\n                           ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029806899999584857}, "lineno": 1093, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_issue_2339", "outcome": "failed", "keywords": ["test_issue_2339", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001861730000030093}}, {"call": {"outcome": "passed", "duration": 0.0020432629999902474}, "setup": {"outcome": "passed", "duration": 0.0002928689999919243}, "lineno": 1115, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_native_namespace_in_extra", "outcome": "passed", "keywords": ["test_native_namespace_in_extra", "filterwarnings", "TestQuakeML", "test_quakeml.py", "tests", "quakeml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003105620000098952}}, {"call": {"outcome": "failed", "duration": 0.009601675999988402, "longrepr": "044 .KW1..EH0 | 2015-10-09T22:51:11.675000Z - ... | 200.0 Hz, 2743 samples\n045 .KW1..EH1 | 2015-10-09T22:50:51.000000Z - ... | 200.0 Hz, 3107 samples\n046 .KW1..EH1 | 2015-10-09T22:51:05.925000Z - ... | 200.0 Hz, 768 samples\n047 .KW1..EH1 | 2015-10-09T22:51:10.765000Z - ... | 200.0 Hz, 2925 samples\n048 .KW1..EH2 | 2015-10-09T22:50:51.000000Z - ... | 200.0 Hz, 3405 samples\n049 .KW1..EH2 | 2015-10-09T22:51:08.415000Z - ... | 200.0 Hz, 3395 samples\n050 \n051 Network, location and component codes can be specified during reading:\n052 \n053 >>> st = read(\"/path/to/225051000_00008656\", network=\"BW\", location=\"\",\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.reftek[4]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/reftek/__init__.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008126269999877422}, "lineno": 1, "nodeid": "io/reftek/__init__.py::obspy.io.reftek", "outcome": "failed", "keywords": ["obspy.io.reftek", "filterwarnings", "__init__.py", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023484299998699498}}, {"call": {"outcome": "passed", "duration": 0.022950185000013335}, "setup": {"outcome": "passed", "duration": 0.0014492800000027728}, "lineno": 121, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_read_reftek130_steim1", "outcome": "passed", "keywords": ["test_read_reftek130_steim1", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000259859000010465}}, {"call": {"outcome": "passed", "duration": 0.004354640999991943}, "setup": {"outcome": "passed", "duration": 0.0004945910000060394}, "lineno": 135, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_read_reftek130_steim2", "outcome": "passed", "keywords": ["test_read_reftek130_steim2", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020768299998508155}}, {"call": {"outcome": "passed", "duration": 0.026747169000003623}, "setup": {"outcome": "passed", "duration": 0.0004527839999752814}, "lineno": 162, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_read_reftek130_no_component_codes_specified", "outcome": "passed", "keywords": ["test_read_reftek130_no_component_codes_specified", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002581249999877855}}, {"call": {"outcome": "passed", "duration": 0.000588103000012552}, "setup": {"outcome": "passed", "duration": 0.0005110520000073393}, "lineno": 190, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_is_reftek130", "outcome": "passed", "keywords": ["test_is_reftek130", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019618199999626995}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008680680000168195, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/reftek/tests/test_core.py\", line 203, in test_integration_with_obspy_core\n    st_reftek = obspy.read(\n                ^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044389799998612034}, "lineno": 198, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_integration_with_obspy_core", "outcome": "failed", "keywords": ["test_integration_with_obspy_core", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000202813000015567}}, {"call": {"outcome": "passed", "duration": 0.0008052629999895089}, "setup": {"outcome": "passed", "duration": 0.00041663800001856544}, "lineno": 207, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_error_no_packets_read", "outcome": "passed", "keywords": ["test_error_no_packets_read", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022575599999186124}}, {"call": {"outcome": "passed", "duration": 0.01396007499999996}, "setup": {"outcome": "passed", "duration": 0.00040405400000054215}, "lineno": 220, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_warning_disturbed_packet_sequence", "outcome": "passed", "keywords": ["test_warning_disturbed_packet_sequence", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022327100001007238}}, {"call": {"outcome": "passed", "duration": 0.026289486999985456}, "setup": {"outcome": "passed", "duration": 0.00047555599999782316}, "lineno": 241, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_read_file_perturbed_packet_sequence", "outcome": "passed", "keywords": ["test_read_file_perturbed_packet_sequence", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023598499998911393}}, {"call": {"outcome": "passed", "duration": 0.01881434699998863}, "setup": {"outcome": "passed", "duration": 0.000495032000003448}, "lineno": 276, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_drop_not_implemented_packets", "outcome": "passed", "keywords": ["test_drop_not_implemented_packets", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023501300000816627}}, {"call": {"outcome": "passed", "duration": 0.02095331699999292}, "setup": {"outcome": "passed", "duration": 0.0004742030000102204}, "lineno": 316, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_missing_event_trailer_packet", "outcome": "passed", "keywords": ["test_missing_event_trailer_packet", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002440590000105658}}, {"call": {"outcome": "passed", "duration": 0.02527280399999654}, "setup": {"outcome": "passed", "duration": 0.0005073550000247451}, "lineno": 340, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_truncated_last_packet", "outcome": "passed", "keywords": ["test_truncated_last_packet", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023429099999816572}}, {"call": {"outcome": "passed", "duration": 0.004529513999983692}, "setup": {"outcome": "passed", "duration": 0.0005010029999823473}, "lineno": 373, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_no_eh_et_packet", "outcome": "passed", "keywords": ["test_no_eh_et_packet", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001942979999967065}}, {"call": {"outcome": "passed", "duration": 0.0017168720000029225}, "setup": {"outcome": "passed", "duration": 0.0004621610000015153}, "lineno": 394, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_data_unpacking_steim1", "outcome": "passed", "keywords": ["test_data_unpacking_steim1", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001873049999971954}}, {"call": {"outcome": "passed", "duration": 0.0015994959999829916}, "setup": {"outcome": "passed", "duration": 0.00042929999997909363}, "lineno": 406, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_data_unpacking_steim2", "outcome": "passed", "keywords": ["test_data_unpacking_steim2", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018654300001230695}}, {"call": {"outcome": "passed", "duration": 0.002777085000019497}, "setup": {"outcome": "passed", "duration": 0.000433117999989463}, "lineno": 418, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_string_representations", "outcome": "passed", "keywords": ["test_string_representations", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018507000001477536}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014381489999948371, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/reftek/tests/test_core.py\", line 508, in test_reading_packet_with_vpu_float_string\n    st = obspy.read(self.reftek_file_vpu,\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043967999999949825}, "lineno": 493, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_reading_packet_with_vpu_float_string", "outcome": "failed", "keywords": ["test_reading_packet_with_vpu_float_string", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019379700000854427}}, {"call": {"outcome": "passed", "duration": 0.025323576999994657}, "setup": {"outcome": "passed", "duration": 0.00043634400000769347}, "lineno": 515, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_reading_file_with_multiple_events", "outcome": "passed", "keywords": ["test_reading_file_with_multiple_events", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021361299999966832}}, {"call": {"outcome": "passed", "duration": 0.0025004259999832357}, "setup": {"outcome": "passed", "duration": 0.0004475439999964692}, "lineno": 537, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_reading_file_with_no_data_in_channel_zero", "outcome": "passed", "keywords": ["test_reading_file_with_no_data_in_channel_zero", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002161390000026131}}, {"call": {"outcome": "passed", "duration": 0.004287487999988571}, "setup": {"outcome": "passed", "duration": 0.000409423999997216}, "lineno": 560, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_reading_file_with_encoding_32", "outcome": "passed", "keywords": ["test_reading_file_with_encoding_32", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019762400000900016}}, {"call": {"outcome": "passed", "duration": 0.00438990600000011}, "setup": {"outcome": "passed", "duration": 0.0004323869999893759}, "lineno": 577, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_reading_file_with_encoding_16", "outcome": "passed", "keywords": ["test_reading_file_with_encoding_16", "filterwarnings", "TestReftek", "test_core.py", "tests", "reftek", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00047298100000148224}}, {"call": {"outcome": "failed", "duration": 0.009848301000005222, "longrepr": "044 Several key word arguments are available: ``headonly``, ``starttime``,\n045 ``endtime``, ``merge``, ``contacts_north``, ``details``. They are passed to the\n046 :func:`obspy.io.rg16.core._read_rg16` function so refer to it for details to\n047 each parameter.\n048 \n049 >>> import obspy\n050 >>> from obspy.core.util import get_example_file\n051 >>> filename = get_example_file('three_chans_six_traces.fcnt')\n052 >>> # these are all equivalent:\n053 >>> st = obspy.read(filename)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.rg16[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/rg16/__init__.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000868991000004371}, "lineno": 0, "nodeid": "io/rg16/__init__.py::obspy.io.rg16", "outcome": "failed", "keywords": ["obspy.io.rg16", "filterwarnings", "__init__.py", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020599900000206617}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008285059999764144, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/rg16/tests/test_read_rg16.py\", line 31, in test_reading_rg16_files\n    st_1 = read(fcnt_file)\n           ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0012878629999875102}, "lineno": 24, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_reading_rg16_files", "outcome": "failed", "keywords": ["test_reading_rg16_files", "filterwarnings", "TestReadRG16", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019564999999488464}}, {"call": {"outcome": "passed", "duration": 0.0008961499999884381}, "setup": {"outcome": "passed", "duration": 0.00042866900000149144}, "lineno": 43, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_rg16_files_identified", "outcome": "passed", "keywords": ["test_rg16_files_identified", "filterwarnings", "TestReadRG16", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017698600001381237}}, {"call": {"outcome": "passed", "duration": 0.00026764300000081676}, "setup": {"outcome": "passed", "duration": 0.0003948869999987892}, "lineno": 52, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_empty_buffer", "outcome": "passed", "keywords": ["test_empty_buffer", "filterwarnings", "TestReadRG16", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017275799999083574}}, {"call": {"outcome": "passed", "duration": 0.005238019000017857}, "setup": {"outcome": "passed", "duration": 0.00037708399997882225}, "lineno": 59, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_headonly_option", "outcome": "passed", "keywords": ["test_headonly_option", "filterwarnings", "TestReadRG16", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018060200000036275}}, {"call": {"outcome": "passed", "duration": 0.01026897599999188}, "setup": {"outcome": "passed", "duration": 0.00040261200001623365}, "lineno": 68, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_starttime_endtime_option", "outcome": "passed", "keywords": ["test_starttime_endtime_option", "filterwarnings", "TestReadRG16", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002064999999902284}}, {"call": {"outcome": "passed", "duration": 0.008845604999976331}, "setup": {"outcome": "passed", "duration": 0.0004329770000026656}, "lineno": 86, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_intrablock_starttime_endtime", "outcome": "passed", "keywords": ["test_intrablock_starttime_endtime", "filterwarnings", "TestReadRG16", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019473799997626884}}, {"call": {"outcome": "passed", "duration": 0.027294608999994807}, "setup": {"outcome": "passed", "duration": 0.000431684999995241}, "lineno": 104, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_merge", "outcome": "passed", "keywords": ["test_merge", "filterwarnings", "TestReadRG16", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025776499998642066}}, {"call": {"outcome": "passed", "duration": 0.011489573999995173}, "setup": {"outcome": "passed", "duration": 0.0005328809999980422}, "lineno": 115, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_contacts_north_and_merge", "outcome": "passed", "keywords": ["test_contacts_north_and_merge", "filterwarnings", "TestReadRG16", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022002499997597624}}, {"call": {"outcome": "passed", "duration": 0.0008793990000128815}, "setup": {"outcome": "passed", "duration": 0.00046194100002594496}, "lineno": 124, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_make_stats", "outcome": "passed", "keywords": ["test_make_stats", "filterwarnings", "TestReadRG16", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019754400000238093}}, {"call": {"outcome": "passed", "duration": 0.00035129700000879893}, "setup": {"outcome": "passed", "duration": 0.0004215969999847857}, "lineno": 154, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_cmp_nbr_headers", "outcome": "passed", "keywords": ["test_cmp_nbr_headers", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001886380000257759}}, {"call": {"outcome": "passed", "duration": 0.002319722999999385}, "setup": {"outcome": "passed", "duration": 0.00041496399998663946}, "lineno": 165, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_cmp_nbr_records", "outcome": "passed", "keywords": ["test_cmp_nbr_records", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021498600000313672}}, {"call": {"outcome": "passed", "duration": 0.0002635160000181713}, "setup": {"outcome": "passed", "duration": 0.00038862599998878977}, "lineno": 176, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_cmp_jump", "outcome": "passed", "keywords": ["test_cmp_jump", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018275700000458528}}, {"call": {"outcome": "passed", "duration": 0.0003201300000057472}, "setup": {"outcome": "passed", "duration": 0.0003801999999950567}, "lineno": 184, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header", "outcome": "passed", "keywords": ["test_read_trace_header", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018496100000220395}}, {"call": {"outcome": "passed", "duration": 0.0002746659999957046}, "setup": {"outcome": "passed", "duration": 0.000406247999990228}, "lineno": 193, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_1", "outcome": "passed", "keywords": ["test_read_trace_header_1", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018026199998644188}}, {"call": {"outcome": "passed", "duration": 0.00034216099999184735}, "setup": {"outcome": "passed", "duration": 0.00038728300000911986}, "lineno": 204, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_2", "outcome": "passed", "keywords": ["test_read_trace_header_2", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018857699998875432}}, {"call": {"outcome": "passed", "duration": 0.00042226800002254095}, "setup": {"outcome": "passed", "duration": 0.0004176399999948899}, "lineno": 221, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_3", "outcome": "passed", "keywords": ["test_read_trace_header_3", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019232500000043729}}, {"call": {"outcome": "passed", "duration": 0.00033288200000924917}, "setup": {"outcome": "passed", "duration": 0.00038126199999055643}, "lineno": 233, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_4", "outcome": "passed", "keywords": ["test_read_trace_header_4", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001779780000106257}}, {"call": {"outcome": "passed", "duration": 0.00032467799999835734}, "setup": {"outcome": "passed", "duration": 0.0003797800000029383}, "lineno": 251, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_5", "outcome": "passed", "keywords": ["test_read_trace_header_5", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018281699999533885}}, {"call": {"outcome": "passed", "duration": 0.0002985099999932572}, "setup": {"outcome": "passed", "duration": 0.0004055070000106298}, "lineno": 266, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_6", "outcome": "passed", "keywords": ["test_read_trace_header_6", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001787900000067566}}, {"call": {"outcome": "passed", "duration": 0.0003243470000029447}, "setup": {"outcome": "passed", "duration": 0.0003783669999961603}, "lineno": 281, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_7", "outcome": "passed", "keywords": ["test_read_trace_header_7", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017969099999959326}}, {"call": {"outcome": "passed", "duration": 0.00031850700000291}, "setup": {"outcome": "passed", "duration": 0.0004017510000267066}, "lineno": 296, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_8", "outcome": "passed", "keywords": ["test_read_trace_header_8", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002036150000037651}}, {"call": {"outcome": "passed", "duration": 0.0003407769999910215}, "setup": {"outcome": "passed", "duration": 0.0003719649999993635}, "lineno": 312, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_9", "outcome": "passed", "keywords": ["test_read_trace_header_9", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018221599998469173}}, {"call": {"outcome": "passed", "duration": 0.000275156999975934}, "setup": {"outcome": "passed", "duration": 0.00037954900000158887}, "lineno": 333, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_10", "outcome": "passed", "keywords": ["test_read_trace_header_10", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018347799999673953}}, {"call": {"outcome": "passed", "duration": 0.001257687000020269}, "setup": {"outcome": "passed", "duration": 0.0003916309999851819}, "lineno": 344, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_make_trace", "outcome": "passed", "keywords": ["test_make_trace", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018808599998010322}}, {"call": {"outcome": "passed", "duration": 0.010609212999980855}, "setup": {"outcome": "passed", "duration": 0.0003862010000261762}, "lineno": 365, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_can_write", "outcome": "passed", "keywords": ["test_can_write", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020575899998220848}}, {"call": {"outcome": "passed", "duration": 0.000621254999998655}, "setup": {"outcome": "passed", "duration": 0.0004249229999970794}, "lineno": 379, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_general_header_1", "outcome": "passed", "keywords": ["test_read_general_header_1", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019108099999698425}}, {"call": {"outcome": "passed", "duration": 0.00028715899998132954}, "setup": {"outcome": "passed", "duration": 0.00039329399999132875}, "lineno": 401, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_general_header_2", "outcome": "passed", "keywords": ["test_read_general_header_2", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001829770000085773}}, {"call": {"outcome": "passed", "duration": 0.0011601670000231934}, "setup": {"outcome": "passed", "duration": 0.0003994260000013128}, "lineno": 415, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_channel_sets", "outcome": "passed", "keywords": ["test_read_channel_sets", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001939070000105403}}, {"call": {"outcome": "passed", "duration": 0.0007149770000012268}, "setup": {"outcome": "passed", "duration": 0.00038697299999057577}, "lineno": 423, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_channel_set", "outcome": "passed", "keywords": ["test_read_channel_set", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018461999999885848}}, {"call": {"outcome": "passed", "duration": 0.0006563089999929161}, "setup": {"outcome": "passed", "duration": 0.0004160659999854488}, "lineno": 452, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_extended_header_1", "outcome": "passed", "keywords": ["test_read_extended_header_1", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000175664000011011}}, {"call": {"outcome": "passed", "duration": 0.00033565799998314105}, "setup": {"outcome": "passed", "duration": 0.0003831459999901199}, "lineno": 466, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_extended_header_2", "outcome": "passed", "keywords": ["test_read_extended_header_2", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017392999998833147}}, {"call": {"outcome": "passed", "duration": 0.0002877009999906477}, "setup": {"outcome": "passed", "duration": 0.0003943970000079844}, "lineno": 486, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_extended_header_3", "outcome": "passed", "keywords": ["test_read_extended_header_3", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001696829999957572}}, {"call": {"outcome": "passed", "duration": 0.0006721480000067004}, "setup": {"outcome": "passed", "duration": 0.00038172300000383075}, "lineno": 502, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_bad_alias_filter", "outcome": "passed", "keywords": ["test_bad_alias_filter", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017593399999782378}}, {"call": {"outcome": "passed", "duration": 0.0016055069999936222}, "setup": {"outcome": "passed", "duration": 0.00038148299998397306}, "lineno": 512, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_3_channel_header", "outcome": "passed", "keywords": ["test_3_channel_header", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0005744989999811878}}, {"call": {"outcome": "passed", "duration": 0.0013265230000172323}, "setup": {"outcome": "passed", "duration": 0.0004484559999866633}, "lineno": 17, "nodeid": "io/rg16/tests/test_util.py::TestRG16Util::test_read_bcd", "outcome": "passed", "keywords": ["test_read_bcd", "filterwarnings", "TestRG16Util", "test_util.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018136400001367292}}, {"call": {"outcome": "passed", "duration": 0.0002821190000190654}, "setup": {"outcome": "passed", "duration": 0.0002850749999936397}, "lineno": 30, "nodeid": "io/rg16/tests/test_util.py::TestRG16Util::test_read_binary", "outcome": "passed", "keywords": ["test_read_binary", "filterwarnings", "TestRG16Util", "test_util.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016007499999659558}}, {"call": {"outcome": "passed", "duration": 0.00022741899999800808}, "setup": {"outcome": "passed", "duration": 0.00031303599999432663}, "lineno": 44, "nodeid": "io/rg16/tests/test_util.py::TestRG16Util::test_read", "outcome": "passed", "keywords": ["test_read", "filterwarnings", "TestRG16Util", "test_util.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016410199998517783}}, {"call": {"outcome": "failed", "duration": 0.009964705000015783, "longrepr": "017 (LANL) and copyrighted for Los Alamos National Security, LLC under\n018 LA-CC-15-051.\n019 \n020 Reading\n021 -------\n022 Similar to reading any other waveform data format using\n023 :func:`~obspy.core.stream.read()`:\n024 \n025 >>> from obspy import read\n026 >>> st = read('/path/to/test.sac', debug_headers=True)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/__init__.py:26: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008284459999856608}, "lineno": 1, "nodeid": "io/sac/__init__.py::obspy.io.sac", "outcome": "failed", "keywords": ["obspy.io.sac", "filterwarnings", "__init__.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018029200001024037}}, {"call": {"outcome": "failed", "duration": 0.009545393999985663, "longrepr": "236         microseconds before calculating sampling rate to avoid floating point\n237         accuracy issues with some SAC files (see #3408)\n238     :type round_sampling_interval: bool\n239     :rtype: :class:`~obspy.core.stream.Stream`\n240     :return: A ObsPy Stream object.\n241 \n242     .. rubric:: Example\n243 \n244     >>> from obspy import read\n245     >>> st = read(\"/path/to/testxy.sac\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._internal_read_sac_xy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:245: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00045293499999843334}, "lineno": 215, "nodeid": "io/sac/core.py::obspy.io.sac.core._internal_read_sac_xy", "outcome": "failed", "keywords": ["obspy.io.sac.core._internal_read_sac_xy", "filterwarnings", "core.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019293599999059552}}, {"call": {"outcome": "passed", "duration": 0.011017073999994409}, "setup": {"outcome": "passed", "duration": 0.0003267120000032264}, "lineno": 21, "nodeid": "io/sac/core.py::obspy.io.sac.core._is_sac", "outcome": "passed", "keywords": ["obspy.io.sac.core._is_sac", "filterwarnings", "core.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017055399999321708}}, {"call": {"outcome": "passed", "duration": 0.01205754999998021}, "setup": {"outcome": "passed", "duration": 0.00035147700000948134}, "lineno": 114, "nodeid": "io/sac/core.py::obspy.io.sac.core._is_sac_xy", "outcome": "passed", "keywords": ["obspy.io.sac.core._is_sac_xy", "filterwarnings", "core.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017665600000782433}}, {"call": {"outcome": "failed", "duration": 0.009032918999992035, "longrepr": "343         microseconds before calculating sampling rate to avoid floating point\n344         accuracy issues with some SAC files (see #3408)\n345     :type round_sampling_interval: bool\n346     :rtype: :class:`~obspy.core.stream.Stream`\n347     :return: A ObsPy Stream object.\n348 \n349     .. rubric:: Example\n350 \n351     >>> from obspy import read\n352     >>> st = read(\"/path/to/test.sac\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._read_sac[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:352: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00035078599998428217}, "lineno": 319, "nodeid": "io/sac/core.py::obspy.io.sac.core._read_sac", "outcome": "failed", "keywords": ["obspy.io.sac.core._read_sac", "filterwarnings", "core.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018850699999006792}}, {"call": {"outcome": "failed", "duration": 0.00894525699999349, "longrepr": "191         microseconds before calculating sampling rate to avoid floating point\n192         accuracy issues with some SAC files (see #3408)\n193     :type round_sampling_interval: bool\n194     :rtype: :class:`~obspy.core.stream.Stream`\n195     :return: A ObsPy Stream object.\n196 \n197     .. rubric:: Example\n198 \n199     >>> from obspy import read\n200     >>> st = read(\"/path/to/testxy.sac\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._read_sac_xy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:200: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003355989999818121}, "lineno": 170, "nodeid": "io/sac/core.py::obspy.io.sac.core._read_sac_xy", "outcome": "failed", "keywords": ["obspy.io.sac.core._read_sac_xy", "filterwarnings", "core.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019402800000989373}}, {"call": {"outcome": "failed", "duration": 0.005814501000003247, "longrepr": "439     :type filename: str, open file, or file-like object\n440     :param byteorder: Must be either ``0`` or ``'<'`` for LSBF or\n441         little-endian, ``1`` or ``'>'`` for MSBF or big-endian.\n442         Defaults to little endian.\n443     :type byteorder: int or str\n444 \n445     .. rubric:: Example\n446 \n447     >>> from obspy import read\n448     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._write_sac[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:448: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032729399998743247}, "lineno": 423, "nodeid": "io/sac/core.py::obspy.io.sac.core._write_sac", "outcome": "failed", "keywords": ["obspy.io.sac.core._write_sac", "filterwarnings", "core.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017860899998822788}}, {"call": {"outcome": "failed", "duration": 0.00578174000000331, "longrepr": "267         file-like object is passed, this function only supports writing\n268         Stream objects containing a single Trace. This is a limitation of\n269         the SAC file format. An exception will be raised in case it's\n270         necessary.\n271     :type filename: str, open file, or file-like object\n272 \n273     .. rubric:: Example\n274 \n275     >>> from obspy import read\n276     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._write_sac_xy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:276: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032461800000760377}, "lineno": 255, "nodeid": "io/sac/core.py::obspy.io.sac.core._write_sac_xy", "outcome": "error", "keywords": ["obspy.io.sac.core._write_sac_xy", "filterwarnings", "core.py", "sac", "io", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00021390400002019305, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/traceback.py\", line 665, in emit\n    def emit(self, text_gen, margin_char=None):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "passed", "duration": 0.0030500690000110353}, "setup": {"outcome": "passed", "duration": 0.0004540770000005523}, "lineno": 122, "nodeid": "io/sac/sacpz.py::obspy.io.sac.sacpz.attach_paz", "outcome": "passed", "keywords": ["obspy.io.sac.sacpz.attach_paz", "filterwarnings", "sacpz.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017733600000724437}}, {"call": {"outcome": "passed", "duration": 0.003917757000010624}, "setup": {"outcome": "passed", "duration": 0.0003419999999891843}, "lineno": 295, "nodeid": "io/sac/sacpz.py::obspy.io.sac.sacpz.attach_resp", "outcome": "passed", "keywords": ["obspy.io.sac.sacpz.attach_resp", "filterwarnings", "sacpz.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018219500000782318}}, {"call": {"outcome": "failed", "duration": 0.00901858299999958, "longrepr": "260     * IA (12): First arrival time\n261     * ITn (13-22): User defined time pick n, n=0,9\n262 \n263 Convert to/from ObsPy Traces\n264 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n265 \n266 .. rubric:: Example\n267 \n268 >>> from obspy import read\n269 >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.sactrace[17]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/sactrace.py:269: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00044309599999792226}, "lineno": 1, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace", "outcome": "failed", "keywords": ["obspy.io.sac.sactrace", "filterwarnings", "sactrace.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018655399998124267}}, {"call": {"outcome": "passed", "duration": 0.003134343999988687}, "setup": {"outcome": "passed", "duration": 0.0003320419999965907}, "lineno": 827, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace.__init__", "outcome": "passed", "keywords": ["obspy.io.sac.sactrace.SACTrace.__init__", "filterwarnings", "sactrace.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017345899999554604}}, {"call": {"outcome": "passed", "duration": 0.008654322000012371}, "setup": {"outcome": "passed", "duration": 0.00031402799999113995}, "lineno": 1506, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace._allt", "outcome": "passed", "keywords": ["obspy.io.sac.sactrace.SACTrace._allt", "filterwarnings", "sactrace.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017516200000500248}}, {"call": {"outcome": "passed", "duration": 0.002661513000020932}, "setup": {"outcome": "passed", "duration": 0.0003146790000130295}, "lineno": 1145, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace._from_arrays", "outcome": "passed", "keywords": ["obspy.io.sac.sactrace.SACTrace._from_arrays", "filterwarnings", "sactrace.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017033400001764676}}, {"call": {"outcome": "passed", "duration": 0.008392700000001696}, "setup": {"outcome": "passed", "duration": 0.0003195979999759402}, "lineno": 1419, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace.listhdr", "outcome": "passed", "keywords": ["obspy.io.sac.sactrace.SACTrace.listhdr", "filterwarnings", "sactrace.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001820649999899615}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00934613600000489, "longrepr": ".0 = <generator object FloatingFormat.fillFormat.<locals>.<genexpr> at 0x7f20f8bd2ce0>\n\n>   frac_strs, _, exp_strs = zip(*(s.partition('e') for s in strs))\n                                   ^^^^^^^^^^^^^^^^\nE   ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\n../numpy/_core/arrayprint.py:1039: ResourceWarning\n\nThe above exception was the direct cause of the following exception:\n\ncls = <class '_pytest.runner.CallInfo'>\nfunc = <function call_and_report.<locals>.<lambda> at 0x7f20e81e13a0>\nwhen = 'call'\nreraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)\n\n    @classmethod\n    def from_call(\n        cls,\n        func: Callable[[], TResult],\n        when: Literal[\"collect\", \"setup\", \"call\", \"teardown\"],\n        reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None,\n    ) -> CallInfo[TResult]:\n        \"\"\"Call func, wrapping the result in a CallInfo.\n    \n        :param func:\n            The function to call. Called without arguments.\n        :type func: Callable[[], _pytest.runner.TResult]\n        :param when:\n            The phase in which the function is called.\n        :param reraise:\n            Exception or exceptions that shall propagate if raised by the\n            function, instead of being wrapped in the CallInfo.\n        \"\"\"\n        excinfo = None\n        instant = timing.Instant()\n        try:\n>           result: TResult | None = func()\n                                     ^^^^^^\n\n../_pytest/runner.py:353: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\n>       lambda: runtest_hook(item=item, **kwds),\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        when=when,\n        reraise=get_reraise_exceptions(item.config),\n    )\n\n../_pytest/runner.py:245: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <HookCaller 'pytest_runtest_call'>\nkwargs = {'item': <DoctestItem obspy.io.sac.sactrace.SACTrace.read>}\nfirstresult = False\n\n    def __call__(self, **kwargs: object) -> Any:\n        \"\"\"Call the hook.\n    \n        Only accepts keyword arguments, which should match the hook\n        specification.\n    \n        Returns the result(s) of calling all registered plugins, see\n        :ref:`calling`.\n        \"\"\"\n        assert not self.is_historic(), (\n            \"Cannot directly call a historic hook - use call_historic instead.\"\n        )\n        self._verify_all_args_are_provided(kwargs)\n        firstresult = self.spec.opts.get(\"firstresult\", False) if self.spec else False\n        # Copy because plugins may register other plugins during iteration (#438).\n>       return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_hooks.py:512: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <_pytest.config.PytestPluginManager object at 0x7f20ecd2df40>\nhook_name = 'pytest_runtest_call'\nmethods = [<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>>, ...]\nkwargs = {'item': <DoctestItem obspy.io.sac.sactrace.SACTrace.read>}\nfirstresult = False\n\n    def _hookexec(\n        self,\n        hook_name: str,\n        methods: Sequence[HookImpl],\n        kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        # called from all hookcaller instances.\n        # enable_tracing will set its own wrapping function at self._inner_hookexec\n>       return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_manager.py:120: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.io.sac.sactrace.SACTrace.read>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n                            teardown.throw(exception)\n                        except RuntimeError as re:\n                            # StopIteration from generator causes RuntimeError\n                            # even for coroutine usage - see #544\n                            if (\n                                isinstance(exception, StopIteration)\n                                and re.__cause__ is exception\n                            ):\n                                teardown.close()\n                                continue\n                            else:\n                                raise\n                    else:\n                        teardown.send(result)\n                    # Following is unreachable for a well behaved hook wrapper.\n                    # Try to force finalizers otherwise postponed till GC action.\n                    # Note: close() may raise if generator handles GeneratorExit.\n                    teardown.close()\n                except StopIteration as si:\n                    result = si.value\n                    exception = None\n                    continue\n                except BaseException as e:\n                    exception = e\n                    continue\n                _raise_wrapfail(teardown, \"has second yield\")\n    \n        if exception is not None:\n>           raise exception\n\n../pluggy/_callers.py:167: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.io.sac.sactrace.SACTrace.read>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <_pytest.logging.LoggingPlugin object at 0x7f20e4249880>\nitem = <DoctestItem obspy.io.sac.sactrace.SACTrace.read>\n\n    @hookimpl(wrapper=True)\n    def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]:\n        self.log_cli_handler.set_when(\"call\")\n    \n        with self._runtest_for(item, \"call\"):\n>           yield\n\n../_pytest/logging.py:850: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.io.sac.sactrace.SACTrace.read>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_impl = <HookImpl plugin_name='_cov', plugin=<pytest_cov.plugin.CovPlugin object at 0x7f20ecdf1130>>\nhook_name = 'pytest_runtest_call'\nargs = [<DoctestItem obspy.io.sac.sactrace.SACTrace.read>]\n\n    def run_old_style_hookwrapper(\n        hook_impl: HookImpl, hook_name: str, args: Sequence[object]\n    ) -> Teardown:\n        \"\"\"\n        backward compatibility wrapper to run a old style hookwrapper as a wrapper\n        \"\"\"\n    \n        teardown: Teardown = cast(Teardown, hook_impl.function(*args))\n        try:\n            next(teardown)\n        except StopIteration:\n            _raise_wrapfail(teardown, \"did not yield\")\n        try:\n            res = yield\n            result = Result(res, None)\n        except BaseException as exc:\n            result = Result(None, exc)\n        try:\n            teardown.send(result)\n        except StopIteration:\n            pass\n        except BaseException as e:\n            _warn_teardown_exception(hook_name, hook_impl, e)\n            raise\n        else:\n            _raise_wrapfail(teardown, \"has second yield\")\n        finally:\n            teardown.close()\n>       return result.get_result()\n               ^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_callers.py:53: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <pluggy._result.Result object at 0x7f20f8a14c80>\n\n    def get_result(self) -> ResultType:\n        \"\"\"Get the result(s) for this hook call.\n    \n        If the hook was marked as a ``firstresult`` only a single value\n        will be returned, otherwise a list of results.\n        \"\"\"\n        __tracebackhide__ = True\n        exc = self._exception\n        tb = self._traceback\n        if exc is None:\n            return cast(ResultType, self._result)\n        else:\n>           raise exc.with_traceback(tb)\n\n../pluggy/_result.py:103: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_impl = <HookImpl plugin_name='_cov', plugin=<pytest_cov.plugin.CovPlugin object at 0x7f20ecdf1130>>\nhook_name = 'pytest_runtest_call'\nargs = [<DoctestItem obspy.io.sac.sactrace.SACTrace.read>]\n\n    def run_old_style_hookwrapper(\n        hook_impl: HookImpl, hook_name: str, args: Sequence[object]\n    ) -> Teardown:\n        \"\"\"\n        backward compatibility wrapper to run a old style hookwrapper as a wrapper\n        \"\"\"\n    \n        teardown: Teardown = cast(Teardown, hook_impl.function(*args))\n        try:\n            next(teardown)\n        except StopIteration:\n            _raise_wrapfail(teardown, \"did not yield\")\n        try:\n>           res = yield\n                  ^^^^^\n\n../pluggy/_callers.py:38: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.io.sac.sactrace.SACTrace.read>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <CaptureManager _method='fd' _global_capturing=<MultiCapture out=<FDCapture 1 oldfd=5 _state='suspended' tmpfile=<_io....xtIOWrapper name='/dev/null' mode='r' encoding='utf-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>\nitem = <DoctestItem obspy.io.sac.sactrace.SACTrace.read>\n\n    @hookimpl(wrapper=True)\n    def pytest_runtest_call(self, item: Item) -> Generator[None]:\n        with self.item_capture(\"call\", item):\n>           return (yield)\n                    ^^^^^\n\n../_pytest/capture.py:900: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.io.sac.sactrace.SACTrace.read>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_impl = <HookImpl plugin_name='139780185669120', plugin=<pytest_jsonreport.plugin.JSONReport object at 0x7f211c503e00>>\nhook_name = 'pytest_runtest_call'\nargs = [<DoctestItem obspy.io.sac.sactrace.SACTrace.read>]\n\n    def run_old_style_hookwrapper(\n        hook_impl: HookImpl, hook_name: str, args: Sequence[object]\n    ) -> Teardown:\n        \"\"\"\n        backward compatibility wrapper to run a old style hookwrapper as a wrapper\n        \"\"\"\n    \n        teardown: Teardown = cast(Teardown, hook_impl.function(*args))\n        try:\n            next(teardown)\n        except StopIteration:\n            _raise_wrapfail(teardown, \"did not yield\")\n        try:\n            res = yield\n            result = Result(res, None)\n        except BaseException as exc:\n            result = Result(None, exc)\n        try:\n            teardown.send(result)\n        except StopIteration:\n            pass\n        except BaseException as e:\n            _warn_teardown_exception(hook_name, hook_impl, e)\n            raise\n        else:\n            _raise_wrapfail(teardown, \"has second yield\")\n        finally:\n            teardown.close()\n>       return result.get_result()\n               ^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_callers.py:53: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <pluggy._result.Result object at 0x7f20f8a05980>\n\n    def get_result(self) -> ResultType:\n        \"\"\"Get the result(s) for this hook call.\n    \n        If the hook was marked as a ``firstresult`` only a single value\n        will be returned, otherwise a list of results.\n        \"\"\"\n        __tracebackhide__ = True\n        exc = self._exception\n        tb = self._traceback\n        if exc is None:\n            return cast(ResultType, self._result)\n        else:\n>           raise exc.with_traceback(tb)\n\n../pluggy/_result.py:103: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_impl = <HookImpl plugin_name='139780185669120', plugin=<pytest_jsonreport.plugin.JSONReport object at 0x7f211c503e00>>\nhook_name = 'pytest_runtest_call'\nargs = [<DoctestItem obspy.io.sac.sactrace.SACTrace.read>]\n\n    def run_old_style_hookwrapper(\n        hook_impl: HookImpl, hook_name: str, args: Sequence[object]\n    ) -> Teardown:\n        \"\"\"\n        backward compatibility wrapper to run a old style hookwrapper as a wrapper\n        \"\"\"\n    \n        teardown: Teardown = cast(Teardown, hook_impl.function(*args))\n        try:\n            next(teardown)\n        except StopIteration:\n            _raise_wrapfail(teardown, \"did not yield\")\n        try:\n>           res = yield\n                  ^^^^^\n\n../pluggy/_callers.py:38: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.io.sac.sactrace.SACTrace.read>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n                        res = hook_impl.function(*args)\n                        if res is not None:\n                            results.append(res)\n                            if firstresult:  # halt further impl calls\n                                break\n            except BaseException as exc:\n                exception = exc\n        finally:\n            if firstresult:  # first result hooks return a single value\n                result = results[0] if results else None\n            else:\n                result = results\n    \n            # run all wrapper post-yield blocks\n            for teardown in reversed(teardowns):\n                try:\n                    if exception is not None:\n                        try:\n>                           teardown.throw(exception)\n\n../pluggy/_callers.py:139: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nitem = <DoctestItem obspy.io.sac.sactrace.SACTrace.read>\n\n    @hookimpl(wrapper=True)\n    def pytest_runtest_call(item: Item) -> Generator[None]:\n        xfailed = item.stash.get(xfailed_key, None)\n        if xfailed is None:\n            item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)\n    \n        if xfailed and not item.config.option.runxfail and not xfailed.run:\n            xfail(\"[NOTRUN] \" + xfailed.reason)\n    \n        try:\n>           return (yield)\n                    ^^^^^\n\n../_pytest/skipping.py:268: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nhook_name = 'pytest_runtest_call'\nhook_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>>, ...]\ncaller_kwargs = {'item': <DoctestItem obspy.io.sac.sactrace.SACTrace.read>}\nfirstresult = False\n\n    def _multicall(\n        hook_name: str,\n        hook_impls: Sequence[HookImpl],\n        caller_kwargs: Mapping[str, object],\n        firstresult: bool,\n    ) -> object | list[object]:\n        \"\"\"Execute a call into multiple python functions/methods and return the\n        result(s).\n    \n        ``caller_kwargs`` comes from HookCaller.__call__().\n        \"\"\"\n        __tracebackhide__ = True\n        results: list[object] = []\n        exception = None\n        try:  # run impl and wrapper setup functions in a loop\n            teardowns: list[Teardown] = []\n            try:\n                for hook_impl in reversed(hook_impls):\n                    try:\n                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]\n                    except KeyError as e:\n                        # coverage bug - this is tested\n                        for argname in hook_impl.argnames:  # pragma: no cover\n                            if argname not in caller_kwargs:\n                                raise HookCallError(\n                                    f\"hook call must provide argument {argname!r}\"\n                                ) from e\n    \n                    if hook_impl.hookwrapper:\n                        function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)\n    \n                        next(function_gen)  # first yield\n                        teardowns.append(function_gen)\n    \n                    elif hook_impl.wrapper:\n                        try:\n                            # If this cast is not valid, a type error is raised below,\n                            # which is the desired response.\n                            res = hook_impl.function(*args)\n                            function_gen = cast(Generator[None, object, object], res)\n                            next(function_gen)  # first yield\n                            teardowns.append(function_gen)\n                        except StopIteration:\n                            _raise_wrapfail(function_gen, \"did not yield\")\n                    else:\n>                       res = hook_impl.function(*args)\n                              ^^^^^^^^^^^^^^^^^^^^^^^^^\n\n../pluggy/_callers.py:121: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nitem = <DoctestItem obspy.io.sac.sactrace.SACTrace.read>\n\n    @pytest.hookimpl(trylast=True)\n    def pytest_runtest_call(item: Item) -> None:\n>       collect_unraisable(item.config)\n\n../_pytest/unraisableexception.py:158: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nconfig = <_pytest.config.Config object at 0x7f20ecf708c0>\n\n    def collect_unraisable(config: Config) -> None:\n        pop_unraisable = config.stash[unraisable_exceptions].pop\n        errors: list[pytest.PytestUnraisableExceptionWarning | RuntimeError] = []\n        meta = None\n        hook_error = None\n        try:\n            while True:\n                try:\n                    meta = pop_unraisable()\n                except IndexError:\n                    break\n    \n                if isinstance(meta, BaseException):\n                    hook_error = RuntimeError(\"Failed to process unraisable exception\")\n                    hook_error.__cause__ = meta\n                    errors.append(hook_error)\n                    continue\n    \n                msg = meta.msg\n                try:\n                    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n                except pytest.PytestUnraisableExceptionWarning as e:\n                    # This except happens when the warning is treated as an error (e.g. `-Werror`).\n                    if meta.exc_value is not None:\n                        # Exceptions have a better way to show the traceback, but\n                        # warnings do not, so hide the traceback from the msg and\n                        # set the cause so the traceback shows up in the right place.\n                        e.args = (meta.cause_msg,)\n                        e.__cause__ = meta.exc_value\n                    errors.append(e)\n    \n            if len(errors) == 1:\n>               raise errors[0]\n\n../_pytest/unraisableexception.py:79: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nconfig = <_pytest.config.Config object at 0x7f20ecf708c0>\n\n    def collect_unraisable(config: Config) -> None:\n        pop_unraisable = config.stash[unraisable_exceptions].pop\n        errors: list[pytest.PytestUnraisableExceptionWarning | RuntimeError] = []\n        meta = None\n        hook_error = None\n        try:\n            while True:\n                try:\n                    meta = pop_unraisable()\n                except IndexError:\n                    break\n    \n                if isinstance(meta, BaseException):\n                    hook_error = RuntimeError(\"Failed to process unraisable exception\")\n                    hook_error.__cause__ = meta\n                    errors.append(hook_error)\n                    continue\n    \n                msg = meta.msg\n                try:\n>                   warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\nE                   pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nE                   Enable tracemalloc to get traceback where the object was allocated.\nE                   See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n\n../_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning", "traceback": [{"path": "../_pytest/runner.py", "lineno": 353, "message": ""}, {"path": "../_pytest/runner.py", "lineno": 245, "message": ""}, {"path": "../pluggy/_hooks.py", "lineno": 512, "message": ""}, {"path": "../pluggy/_manager.py", "lineno": 120, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 167, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../_pytest/logging.py", "lineno": 850, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 53, "message": ""}, {"path": "../pluggy/_result.py", "lineno": 103, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 38, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../_pytest/capture.py", "lineno": 900, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 53, "message": ""}, {"path": "../pluggy/_result.py", "lineno": 103, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 38, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 139, "message": ""}, {"path": "../_pytest/skipping.py", "lineno": 268, "message": ""}, {"path": "../pluggy/_callers.py", "lineno": 121, "message": ""}, {"path": "../_pytest/unraisableexception.py", "lineno": 158, "message": ""}, {"path": "../_pytest/unraisableexception.py", "lineno": 79, "message": ""}, {"path": "../_pytest/unraisableexception.py", "lineno": 67, "message": "PytestUnraisableExceptionWarning"}]}, "setup": {"outcome": "passed", "duration": 0.0003201199999978144}, "lineno": 1032, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace.read", "outcome": "failed", "keywords": ["obspy.io.sac.sactrace.SACTrace.read", "filterwarnings", "sactrace.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003152810000131012}}, {"call": {"outcome": "passed", "duration": 0.009572032999983549}, "setup": {"outcome": "passed", "duration": 0.00040394399999854613}, "lineno": 1251, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace.to_obspy_trace", "outcome": "passed", "keywords": ["obspy.io.sac.sactrace.SACTrace.to_obspy_trace", "filterwarnings", "sactrace.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019984799999406277}}, {"call": {"outcome": "passed", "duration": 0.008956749000020636}, "setup": {"outcome": "passed", "duration": 0.0003690799999844785}, "lineno": 1310, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace.validate", "outcome": "passed", "keywords": ["obspy.io.sac.sactrace.SACTrace.validate", "filterwarnings", "sactrace.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020478700000126082}}, {"call": {"outcome": "passed", "duration": 0.0027499649999924713}, "setup": {"outcome": "passed", "duration": 0.0015336749999903532}, "lineno": 39, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_via_obspy", "outcome": "passed", "keywords": ["test_read_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019867700001441335}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003998064999990447, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 63, in test_read_write_via_obspy\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004142029999911756}, "lineno": 54, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_write_via_obspy", "outcome": "failed", "keywords": ["test_read_write_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002273890000026313}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0047957830000200374, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 81, in test_read_xy_write_xy_via_obspy\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004363329999819143}, "lineno": 72, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_xy_write_xy_via_obspy", "outcome": "failed", "keywords": ["test_read_xy_write_xy_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021771199999420787}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004798379000021669, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 96, in test_read_write_xy_via_obspy\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006626410000194483}, "lineno": 87, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_write_xy_via_obspy", "outcome": "failed", "keywords": ["test_read_write_xy_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002213779999920007}}, {"call": {"outcome": "passed", "duration": 0.002431037999997443}, "setup": {"outcome": "passed", "duration": 0.000434660999985681}, "lineno": 106, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_big_endian_via_obspy", "outcome": "passed", "keywords": ["test_read_big_endian_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018696500001169625}}, {"call": {"outcome": "passed", "duration": 0.014185550999997076}, "setup": {"outcome": "passed", "duration": 0.0004132909999725598}, "lineno": 121, "nodeid": "io/sac/tests/test_core.py::TestCore::test_swap_bytes_via_obspy", "outcome": "passed", "keywords": ["test_swap_bytes_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002144150000162881}}, {"call": {"outcome": "passed", "duration": 0.0022259609999935037}, "setup": {"outcome": "passed", "duration": 0.0004610389999868403}, "lineno": 147, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_head_via_obspy", "outcome": "passed", "keywords": ["test_read_head_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018127400002754257}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002239215000003014, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 170, in test_write_via_obspy\n    tr = read(tempfile)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042251800002190976}, "lineno": 161, "nodeid": "io/sac/tests/test_core.py::TestCore::test_write_via_obspy", "outcome": "failed", "keywords": ["test_write_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002161779999880764}}, {"call": {"outcome": "passed", "duration": 0.0037316439999983686}, "setup": {"outcome": "passed", "duration": 0.00047163900001123693}, "lineno": 172, "nodeid": "io/sac/tests/test_core.py::TestCore::test_set_version", "outcome": "passed", "keywords": ["test_set_version", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019084199999497287}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008551450000027216, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 190, in test_read_and_write_via_obspy\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041689799999744537}, "lineno": 184, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_and_write_via_obspy", "outcome": "failed", "keywords": ["test_read_and_write_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021263200000021243}}, {"call": {"outcome": "passed", "duration": 0.005108469999981935}, "setup": {"outcome": "passed", "duration": 0.00040975500002105036}, "lineno": 210, "nodeid": "io/sac/tests/test_core.py::TestCore::test_convert_to_sac", "outcome": "passed", "keywords": ["test_convert_to_sac", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019703299997786416}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008152419999873928, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 249, in test_iztype11\n    tr = read(sod_file)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004634340000109205}, "lineno": 245, "nodeid": "io/sac/tests/test_core.py::TestCore::test_iztype11", "outcome": "failed", "keywords": ["test_iztype11", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001927849999958653}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007903859999771612, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 266, in test_default_values\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004205639999952382}, "lineno": 264, "nodeid": "io/sac/tests/test_core.py::TestCore::test_default_values", "outcome": "failed", "keywords": ["test_default_values", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002132920000121885}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00120843600001308, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 278, in test_reference_time\n    tr = read(self.fileseis)[0]\n         ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042533300000968666}, "lineno": 270, "nodeid": "io/sac/tests/test_core.py::TestCore::test_reference_time", "outcome": "failed", "keywords": ["test_reference_time", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020071000000143613}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008186480000063057, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 305, in test_undefined_b\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043123400001832124}, "lineno": 297, "nodeid": "io/sac/tests/test_core.py::TestCore::test_undefined_b", "outcome": "failed", "keywords": ["test_undefined_b", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021359400000164896}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025350200000104905, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 336, in test_issue_156\n    st = read(sac_file)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004178199999955723}, "lineno": 324, "nodeid": "io/sac/tests/test_core.py::TestCore::test_issue_156", "outcome": "failed", "keywords": ["test_issue_156", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021526700001572863}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.009033189999996694, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 360, in test_write_sac_xy_with_minimum_stats\n    st = read(sac_file)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004245119999950475}, "lineno": 349, "nodeid": "io/sac/tests/test_core.py::TestCore::test_write_sac_xy_with_minimum_stats", "outcome": "failed", "keywords": ["test_write_sac_xy_with_minimum_stats", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002359750000096028}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007969979999984389, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 368, in test_not_used_but_given_headers\n    tr1 = read(self.file)[0]\n          ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00046077899997953864}, "lineno": 363, "nodeid": "io/sac/tests/test_core.py::TestCore::test_not_used_but_given_headers", "outcome": "failed", "keywords": ["test_not_used_but_given_headers", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001965519999771459}}, {"call": {"outcome": "passed", "duration": 0.0038866900000016358}, "setup": {"outcome": "passed", "duration": 0.0004508199999975204}, "lineno": 380, "nodeid": "io/sac/tests/test_core.py::TestCore::test_writing_micro_seconds", "outcome": "passed", "keywords": ["test_writing_micro_seconds", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018550199999367578}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007965469999930974, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 407, in test_null_terminated_strings\n    tr = read(null_file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044721299997263486}, "lineno": 400, "nodeid": "io/sac/tests/test_core.py::TestCore::test_null_terminated_strings", "outcome": "failed", "keywords": ["test_null_terminated_strings", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019349699999793302}}, {"call": {"outcome": "passed", "duration": 0.0392685249999829}, "setup": {"outcome": "passed", "duration": 0.0004140929999891796}, "lineno": 411, "nodeid": "io/sac/tests/test_core.py::TestCore::test_write_small_trace", "outcome": "passed", "keywords": ["test_write_small_trace", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002395909999961532}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008968630000083522, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 432, in test_issue390\n    tr = read(self.file, headonly=True, debug_headers=True)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004812960000037947}, "lineno": 426, "nodeid": "io/sac/tests/test_core.py::TestCore::test_issue390", "outcome": "failed", "keywords": ["test_issue390", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022347099999819875}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008969919999799458, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 469, in test_read_with_fsize\n    read(longer_file)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045547899998155117}, "lineno": 459, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_with_fsize", "outcome": "failed", "keywords": ["test_read_with_fsize", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001917329999798767}}, {"call": {"outcome": "passed", "duration": 0.002823570999993308}, "setup": {"outcome": "passed", "duration": 0.0004234499999995478}, "lineno": 497, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_sac_from_bytes_io", "outcome": "passed", "keywords": ["test_read_sac_from_bytes_io", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001824160000012398}}, {"call": {"outcome": "passed", "duration": 0.0022544920000200364}, "setup": {"outcome": "passed", "duration": 0.0004047349999893868}, "lineno": 515, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_sac_from_open_file", "outcome": "passed", "keywords": ["test_read_sac_from_open_file", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017937999999162457}}, {"call": {"outcome": "passed", "duration": 0.002878352000010409}, "setup": {"outcome": "passed", "duration": 0.00042712600000527345}, "lineno": 528, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_write_bytes_io", "outcome": "passed", "keywords": ["test_read_write_bytes_io", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001909210000121675}}, {"call": {"outcome": "passed", "duration": 0.002922783999991907}, "setup": {"outcome": "passed", "duration": 0.0004364940000129991}, "lineno": 547, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_write_open_file", "outcome": "passed", "keywords": ["test_read_write_open_file", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020996699998931945}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023237699999754113, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 569, in test_writing_to_obj_with_multiple_traces_fails\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000421547000001965}, "lineno": 563, "nodeid": "io/sac/tests/test_core.py::TestCore::test_writing_to_obj_with_multiple_traces_fails", "outcome": "failed", "keywords": ["test_writing_to_obj_with_multiple_traces_fails", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022706799998672977}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002367981999981339, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 578, in test_writing_to_io_string_io_fails\n    st = read()[:1]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004830590000040047}, "lineno": 573, "nodeid": "io/sac/tests/test_core.py::TestCore::test_writing_to_io_string_io_fails", "outcome": "failed", "keywords": ["test_writing_to_io_string_io_fails", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021007700001973717}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003101333000017803, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 594, in test_read_via_obspy_from_bytes_io\n    tr = read(buf)[0]\n         ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00047351200001344296}, "lineno": 582, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_via_obspy_from_bytes_io", "outcome": "error", "keywords": ["test_read_via_obspy_from_bytes_io", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00031420799999182236, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/stash.py\", line 86, in get\n    |     def get(self, key: StashKey[T], default: D) -> T | D:\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    |     result: TResult | None = func()\n    |                              ^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    |     lambda: runtest_hook(item=item, **kwds),\n    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    |     raise exception\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    |     teardown.throw(exception)\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    |     yield\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    |     teardown.throw(exception)\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    |     return result.get_result()\n    |            ^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    |     raise exc.with_traceback(tb)\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    |     res = yield\n    |           ^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    |     teardown.throw(exception)\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    |     return (yield)\n    |             ^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    |     teardown.throw(exception)\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    |     return result.get_result()\n    |            ^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    |     raise exc.with_traceback(tb)\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    |     res = yield\n    |           ^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    |     teardown.throw(exception)\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    |     return (yield)\n    |             ^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    |     res = hook_impl.function(*args)\n    |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    |     item.runtest()\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    |     self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    |     raise exception\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    |     res = hook_impl.function(*args)\n    |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    |     result = testfunction(**testargs)\n    |              ^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 594, in test_read_via_obspy_from_bytes_io\n    |     tr = read(buf)[0]\n    |          ^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    |     return caller(func, *(extras + args), **kw)\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    |     return func(*args, **kwargs)\n    |            ^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    |     st = _generic_reader(pathname_or_url, _read, **kwargs)\n    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    |     generic = callback_func(pathname_or_url, **kwargs)\n    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    |     return caller(func, *(extras + args), **kw)\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    |     return func(filename, *args, **kwargs)\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    |     stream, format = _read_from_plugin('waveform', filename, format=format,\n    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    |     if format.upper() == 'SC3ML':\n    |        ^^^^^^^^^^^^\n    | AttributeError: 'NoneType' object has no attribute 'upper'\n    | \n    | During handling of the above exception, another exception occurred:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/stash.py\", line 86, in get\n    |     def get(self, key: StashKey[T], default: D) -> T | D:\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000900768999997581, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 605, in test_write_via_obspy_to_bytes_io\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005202680000024884}, "lineno": 600, "nodeid": "io/sac/tests/test_core.py::TestCore::test_write_via_obspy_to_bytes_io", "outcome": "failed", "keywords": ["test_write_via_obspy_to_bytes_io", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020153099998765356}}, {"call": {"outcome": "passed", "duration": 0.0037217249999912383}, "setup": {"outcome": "passed", "duration": 0.00045547799999212657}, "lineno": 617, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_xy_write_xy_from_bytes_io", "outcome": "passed", "keywords": ["test_read_xy_write_xy_from_bytes_io", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018825699999069911}}, {"call": {"outcome": "passed", "duration": 0.003922935999980837}, "setup": {"outcome": "passed", "duration": 0.0005035179999879347}, "lineno": 635, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_xy_write_xy_from_open_file_binary_mode", "outcome": "passed", "keywords": ["test_read_xy_write_xy_from_open_file_binary_mode", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022099700001376732}}, {"call": {"outcome": "passed", "duration": 0.0003274030000000039}, "setup": {"outcome": "passed", "duration": 0.0004379670000105307}, "lineno": 652, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sac_bytes_io", "outcome": "passed", "keywords": ["test_is_sac_bytes_io", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017565299998523187}}, {"call": {"outcome": "passed", "duration": 0.0003838469999948302}, "setup": {"outcome": "passed", "duration": 0.0004123299999889696}, "lineno": 671, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sac_string_io_raises", "outcome": "passed", "keywords": ["test_is_sac_string_io_raises", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017528300000435593}}, {"call": {"outcome": "passed", "duration": 0.00026626100000726183}, "setup": {"outcome": "passed", "duration": 0.0004433569999946485}, "lineno": 681, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sac_open_file", "outcome": "passed", "keywords": ["test_is_sac_open_file", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019413699999404344}}, {"call": {"outcome": "passed", "duration": 0.00033102000000440057}, "setup": {"outcome": "passed", "duration": 0.000649998000000096}, "lineno": 688, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sacxy_bytes_io", "outcome": "passed", "keywords": ["test_is_sacxy_bytes_io", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017581399998789493}}, {"call": {"outcome": "passed", "duration": 0.0003346169999929316}, "setup": {"outcome": "passed", "duration": 0.0004050160000019787}, "lineno": 707, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sacxy_string_io_raises", "outcome": "passed", "keywords": ["test_is_sacxy_string_io_raises", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017186700000593191}}, {"call": {"outcome": "passed", "duration": 0.00031979899998191286}, "setup": {"outcome": "passed", "duration": 0.00042491300001756827}, "lineno": 720, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sacxy_open_file_binary_mode", "outcome": "passed", "keywords": ["test_is_sacxy_open_file_binary_mode", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019200300002353288}}, {"call": {"outcome": "passed", "duration": 0.00029995299999541203}, "setup": {"outcome": "passed", "duration": 0.0003926730000216594}, "lineno": 730, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sacxy_open_file_text_mode_fails", "outcome": "passed", "keywords": ["test_is_sacxy_open_file_text_mode_fails", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000172358000014583}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024339729999951487, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 744, in test_writing_to_file_like_objects_with_obspy\n    st = read()[:1]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039993599997956153}, "lineno": 738, "nodeid": "io/sac/tests/test_core.py::TestCore::test_writing_to_file_like_objects_with_obspy", "outcome": "failed", "keywords": ["test_writing_to_file_like_objects_with_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019742399999245208}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023970850000125665, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 788, in test_valid_sac_from_minimal_existing_sac_header\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041675699998222626}, "lineno": 762, "nodeid": "io/sac/tests/test_core.py::TestCore::test_valid_sac_from_minimal_existing_sac_header", "outcome": "failed", "keywords": ["test_valid_sac_from_minimal_existing_sac_header", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001980240000136746}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0008569480000062413, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/inspect.py\", line 2448, in _signature_from_function\n    for offset, name in enumerate(positional[non_default_count:]):\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 153, in pytest_runtest_setup\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "lineno": 809, "nodeid": "io/sac/tests/test_core.py::TestCore::test_merge_sac_obspy_headers", "outcome": "error", "keywords": ["test_merge_sac_obspy_headers", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019062100000155624}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.009834405000020752, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 838, in test_decimate_resample\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004372450000005301}, "lineno": 827, "nodeid": "io/sac/tests/test_core.py::TestCore::test_decimate_resample", "outcome": "failed", "keywords": ["test_decimate_resample", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025290600001426355}}, {"call": {"outcome": "passed", "duration": 0.004481404000017619}, "setup": {"outcome": "passed", "duration": 0.0004903539999929762}, "lineno": 841, "nodeid": "io/sac/tests/test_core.py::TestCore::test_invalid_header_field", "outcome": "passed", "keywords": ["test_invalid_header_field", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031047199999534314}}, {"call": {"outcome": "passed", "duration": 0.0024449029999971117}, "setup": {"outcome": "passed", "duration": 0.0004882190000046194}, "lineno": 864, "nodeid": "io/sac/tests/test_core.py::TestCore::test_not_ascii", "outcome": "passed", "keywords": ["test_not_ascii", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021369399999571215}}, {"call": {"outcome": "passed", "duration": 0.0005148179999991953}, "setup": {"outcome": "passed", "duration": 0.00044529999999554093}, "lineno": 874, "nodeid": "io/sac/tests/test_core.py::TestCore::test_sac_booleans_from_trace", "outcome": "passed", "keywords": ["test_sac_booleans_from_trace", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017835899998885907}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015053129999955672, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 897, in test_sac_file_from_new_header\n    tr1 = read(tf)[0]\n          ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004201039999998102}, "lineno": 884, "nodeid": "io/sac/tests/test_core.py::TestCore::test_sac_file_from_new_header", "outcome": "failed", "keywords": ["test_sac_file_from_new_header", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021624900000460912}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016712180000126864, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 920, in test_always_sac_reftime\n    tr1 = read(tf)[0]\n          ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00046939499998188694}, "lineno": 901, "nodeid": "io/sac/tests/test_core.py::TestCore::test_always_sac_reftime", "outcome": "failed", "keywords": ["test_always_sac_reftime", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002070609999975659}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009165779999875667, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 929, in test_wrong_encoding\n    tr0 = read(self.file_encode)[0]\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004696649999971214}, "lineno": 924, "nodeid": "io/sac/tests/test_core.py::TestCore::test_wrong_encoding", "outcome": "failed", "keywords": ["test_wrong_encoding", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020068999998557047}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008597639999834428, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 936, in test_encoding_flag\n    tr0 = read(self.file_encode, encoding='cp1252')[0]\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045469799999864335}, "lineno": 931, "nodeid": "io/sac/tests/test_core.py::TestCore::test_encoding_flag", "outcome": "failed", "keywords": ["test_encoding_flag", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019636199999695236}}, {"call": {"outcome": "passed", "duration": 0.17115463600001135}, "setup": {"outcome": "passed", "duration": 0.00044893699998738157}, "lineno": 938, "nodeid": "io/sac/tests/test_core.py::TestCore::test_write_keep_sac_header_false", "outcome": "passed", "keywords": ["test_write_keep_sac_header_false", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026366599999505524}}, {"call": {"outcome": "passed", "duration": 0.014320799999978817}, "setup": {"outcome": "passed", "duration": 0.0005110520000073393}, "lineno": 1024, "nodeid": "io/sac/tests/test_core.py::TestCore::test_sampling_rate_float_issue", "outcome": "passed", "keywords": ["test_sampling_rate_float_issue", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0008331740000073751}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008609049999961371, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 47, in test_write_sacpz_single_channel\n    inv = read_inventory(path)\n          ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010536409999986063}, "lineno": 42, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_write_sacpz_single_channel", "outcome": "failed", "keywords": ["test_write_sacpz_single_channel", "filterwarnings", "TestSACPZ", "test_sacpz.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002266580000025442}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000824359000006325, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 65, in test_write_sacpz_multiple_channels\n    inv = read_inventory(path)\n          ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042392000000290864}, "lineno": 60, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_write_sacpz_multiple_channels", "outcome": "failed", "keywords": ["test_write_sacpz_multiple_channels", "filterwarnings", "TestSACPZ", "test_sacpz.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001950390000047264}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010806409999872812, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 82, in test_write_sacpz_soh\n    inv = read_inventory(path)\n          ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043032199999970544}, "lineno": 78, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_write_sacpz_soh", "outcome": "failed", "keywords": ["test_write_sacpz_soh", "filterwarnings", "TestSACPZ", "test_sacpz.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020716100002005078}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011622509999824615, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 100, in test_write_sacpz_no_sensor\n    inv = read_inventory(\"/path/to/IU_ANMO_00_BHZ.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006498670000212314}, "lineno": 94, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_write_sacpz_no_sensor[None]", "outcome": "failed", "keywords": ["test_write_sacpz_no_sensor[None]", "parametrize", "pytestmark", "None", "filterwarnings", "TestSACPZ", "test_sacpz.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021583800000257725}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010561449999784145, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 100, in test_write_sacpz_no_sensor\n    inv = read_inventory(\"/path/to/IU_ANMO_00_BHZ.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004977969999799825}, "lineno": 94, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_write_sacpz_no_sensor[sensor1]", "outcome": "failed", "keywords": ["test_write_sacpz_no_sensor[sensor1]", "parametrize", "pytestmark", "sensor1", "filterwarnings", "TestSACPZ", "test_sacpz.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021251100000085899}}, {"call": {"outcome": "passed", "duration": 0.0005523680000010245}, "setup": {"outcome": "passed", "duration": 0.00043269700000792}, "lineno": 110, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_attach_paz", "outcome": "passed", "keywords": ["test_attach_paz", "filterwarnings", "TestSACPZ", "test_sacpz.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018655400000966438}}, {"call": {"outcome": "passed", "duration": 0.0004705469999919387}, "setup": {"outcome": "passed", "duration": 0.00040793099998381877}, "lineno": 127, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_attach_paz_diff_order", "outcome": "passed", "keywords": ["test_attach_paz_diff_order", "filterwarnings", "TestSACPZ", "test_sacpz.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002072720000114714}}, {"call": {"outcome": "passed", "duration": 0.00042596500000513515}, "setup": {"outcome": "passed", "duration": 0.0003921530000070561}, "lineno": 136, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_sacpaz_from_dataless", "outcome": "passed", "keywords": ["test_sacpaz_from_dataless", "filterwarnings", "TestSACPZ", "test_sacpz.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018527099999232632}}, {"call": {"outcome": "passed", "duration": 0.008005717999992612}, "setup": {"outcome": "passed", "duration": 0.00038207399998668734}, "lineno": 158, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_sacpaz_from_resp", "outcome": "passed", "keywords": ["test_sacpaz_from_resp", "filterwarnings", "TestSACPZ", "test_sacpz.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023208700000054705}}, {"call": {"outcome": "passed", "duration": 0.022574714000000995}, "setup": {"outcome": "passed", "duration": 0.00044256499998596155}, "lineno": 216, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_writing_sacpz_hertz_to_radians", "outcome": "passed", "keywords": ["test_writing_sacpz_hertz_to_radians", "filterwarnings", "TestSACPZ", "test_sacpz.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0004766579999966325}}, {"call": {"outcome": "passed", "duration": 0.001006393999972488}, "setup": {"outcome": "passed", "duration": 0.0010751599999991868}, "lineno": 34, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_read_binary", "outcome": "passed", "keywords": ["test_read_binary", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001965820000009444}}, {"call": {"outcome": "passed", "duration": 0.0005988339999873915}, "setup": {"outcome": "passed", "duration": 0.00041193900000280337}, "lineno": 50, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_read_binary_headonly", "outcome": "passed", "keywords": ["test_read_binary_headonly", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018612299999176685}}, {"call": {"outcome": "passed", "duration": 0.0013767760000007456}, "setup": {"outcome": "passed", "duration": 0.0003994959999999992}, "lineno": 61, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_read_sac_byteorder", "outcome": "passed", "keywords": ["test_read_sac_byteorder", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017954099999428763}}, {"call": {"outcome": "passed", "duration": 0.0013640530000031958}, "setup": {"outcome": "passed", "duration": 0.000418280000019422}, "lineno": 80, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_write_sac", "outcome": "passed", "keywords": ["test_write_sac", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019304599999259153}}, {"call": {"outcome": "passed", "duration": 0.0018607880000161003}, "setup": {"outcome": "passed", "duration": 0.00043453999998632753}, "lineno": 93, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_write_binary_headonly", "outcome": "passed", "keywords": ["test_write_binary_headonly", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019025099999225858}}, {"call": {"outcome": "passed", "duration": 0.0007734049999896797}, "setup": {"outcome": "passed", "duration": 0.0004517219999797817}, "lineno": 125, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_read_sac_ascii", "outcome": "passed", "keywords": ["test_read_sac_ascii", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018127399999912086}}, {"call": {"outcome": "passed", "duration": 0.0015385240000114209}, "setup": {"outcome": "passed", "duration": 0.00042663600001446866}, "lineno": 140, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_reftime", "outcome": "passed", "keywords": ["test_reftime", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018261700000721248}}, {"call": {"outcome": "passed", "duration": 0.0013090320000230804}, "setup": {"outcome": "passed", "duration": 0.0004404409999949621}, "lineno": 156, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_reftime_relative_times", "outcome": "passed", "keywords": ["test_reftime_relative_times", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020184199999562225}}, {"call": {"outcome": "passed", "duration": 0.0015099630000179332}, "setup": {"outcome": "passed", "duration": 0.000469374999994443}, "lineno": 175, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_lcalda", "outcome": "passed", "keywords": ["test_lcalda", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018646399999511232}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000929802999991125, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sactrace.py\", line 219, in test_propagate_modified_stats_strings_to_sactrace\n    tr = read(self.fileseis)[0]\n         ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004060379999941688}, "lineno": 211, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_propagate_modified_stats_strings_to_sactrace", "outcome": "failed", "keywords": ["test_propagate_modified_stats_strings_to_sactrace", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019396700000129385}}, {"call": {"outcome": "passed", "duration": 0.0006600869999999759}, "setup": {"outcome": "passed", "duration": 0.00044270500001175606}, "lineno": 227, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_reftime_incomplete", "outcome": "passed", "keywords": ["test_reftime_incomplete", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001752029999977367}}, {"call": {"outcome": "passed", "duration": 0.001017354999987674}, "setup": {"outcome": "passed", "duration": 0.0004245830000115802}, "lineno": 246, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_floatheader", "outcome": "passed", "keywords": ["test_floatheader", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001757640000050742}}, {"call": {"outcome": "passed", "duration": 0.0025607790000208297}, "setup": {"outcome": "passed", "duration": 0.00040075799998362527}, "lineno": 276, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_relative_time_headers", "outcome": "passed", "keywords": ["test_relative_time_headers", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018101300000239462}}, {"call": {"outcome": "passed", "duration": 0.0005115529999955015}, "setup": {"outcome": "passed", "duration": 0.0010966920000043956}, "lineno": 295, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_int_headers", "outcome": "passed", "keywords": ["test_int_headers", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002423770000063996}}, {"call": {"outcome": "passed", "duration": 0.0005924719999939043}, "setup": {"outcome": "passed", "duration": 0.0004084720000037123}, "lineno": 320, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_bool_headers", "outcome": "passed", "keywords": ["test_bool_headers", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001927849999958653}}, {"call": {"outcome": "passed", "duration": 0.006734911999984661}, "setup": {"outcome": "passed", "duration": 0.0004135320000102638}, "lineno": 332, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_enumheader", "outcome": "passed", "keywords": ["test_enumheader", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002347430000213535}}, {"call": {"outcome": "passed", "duration": 0.0011454710000009527}, "setup": {"outcome": "passed", "duration": 0.00045920699997736847}, "lineno": 351, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_string_headers", "outcome": "passed", "keywords": ["test_string_headers", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019015999998828192}}, {"call": {"outcome": "passed", "duration": 0.00035650699999223434}, "setup": {"outcome": "passed", "duration": 0.000410506999998006}, "lineno": 385, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_kevnm", "outcome": "passed", "keywords": ["test_kevnm", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018407999999681124}}, {"call": {"outcome": "passed", "duration": 0.0005835449999835873}, "setup": {"outcome": "passed", "duration": 0.00041376300001161326}, "lineno": 402, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_data_headers", "outcome": "passed", "keywords": ["test_data_headers", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001881469999887031}}, {"call": {"outcome": "passed", "duration": 0.00040594800000803843}, "setup": {"outcome": "passed", "duration": 0.00042005399998856774}, "lineno": 430, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_char_header_padding", "outcome": "passed", "keywords": ["test_char_header_padding", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00046915499999045096}}, {"call": {"outcome": "failed", "duration": 0.010275167000003194, "longrepr": "013     GNU Lesser General Public License, Version 3\n014     (https://www.gnu.org/copyleft/lesser.html)\n015 \n016 Example\n017 -------\n018 \n019 It works by utilizing ObsPy's :func:`~obspy.core.event.read_events` function.\n020 \n021 >>> import obspy\n022 >>> cat = obspy.read_events(\"/path/to/test.scardec\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.scardec[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/scardec/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008493859999987308}, "lineno": 2, "nodeid": "io/scardec/__init__.py::obspy.io.scardec", "outcome": "failed", "keywords": ["obspy.io.scardec", "filterwarnings", "__init__.py", "scardec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023697699998592725}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009051090000014028, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/scardec/tests/test_core.py\", line 33, in test_read_and_write_scardec_from_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00130833100001837}, "lineno": 19, "nodeid": "io/scardec/tests/test_core.py::TestScardec::test_read_and_write_scardec_from_files", "outcome": "failed", "keywords": ["test_read_and_write_scardec_from_files", "filterwarnings", "TestScardec", "test_core.py", "tests", "scardec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001874759999793696}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00043232600000919774, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/scardec/tests/test_core.py\", line 83, in test_read_and_write_scardec_from_open_files\n    cat = obspy.read_events(fh)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003675680000014836}, "lineno": 71, "nodeid": "io/scardec/tests/test_core.py::TestScardec::test_read_and_write_scardec_from_open_files", "outcome": "failed", "keywords": ["test_read_and_write_scardec_from_open_files", "filterwarnings", "TestScardec", "test_core.py", "tests", "scardec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001905709999903138}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004362139999898318, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/scardec/tests/test_core.py\", line 129, in test_read_and_write_scardec_from_bytes_io\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003680680000002212}, "lineno": 112, "nodeid": "io/scardec/tests/test_core.py::TestScardec::test_read_and_write_scardec_from_bytes_io", "outcome": "failed", "keywords": ["test_read_and_write_scardec_from_bytes_io", "filterwarnings", "TestScardec", "test_core.py", "tests", "scardec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031905800000231466}}, {"call": {"outcome": "passed", "duration": 0.00491404600001033}, "setup": {"outcome": "passed", "duration": 0.00041160899999681533}, "lineno": 158, "nodeid": "io/scardec/tests/test_core.py::TestScardec::test_is_scardec", "outcome": "passed", "keywords": ["test_is_scardec", "filterwarnings", "TestScardec", "test_core.py", "tests", "scardec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025983900002302107}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014988220000020647, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seg2/tests/test_seg2.py\", line 91, in test_read_data_format_2\n    st = read(basename + \".seg2.gz\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0013858540000057928}, "lineno": 82, "nodeid": "io/seg2/tests/test_seg2.py::TestSEG2::test_read_data_format_2", "outcome": "failed", "keywords": ["test_read_data_format_2", "filterwarnings", "TestSEG2", "test_seg2.py", "tests", "seg2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018606300000101328}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008492750000073102, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seg2/tests/test_seg2.py\", line 114, in test_read_data_format_3\n    st = read(basename + \".seg2\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004200439999806349}, "lineno": 105, "nodeid": "io/seg2/tests/test_seg2.py::TestSEG2::test_read_data_format_3", "outcome": "failed", "keywords": ["test_read_data_format_3", "filterwarnings", "TestSEG2", "test_seg2.py", "tests", "seg2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024027300000284413}}, {"call": {"outcome": "passed", "duration": 0.013507944999986421}, "setup": {"outcome": "passed", "duration": 0.0008008759999995618}, "lineno": 1, "nodeid": "io/segy/__init__.py::obspy.io.segy", "outcome": "passed", "keywords": ["obspy.io.segy", "filterwarnings", "__init__.py", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022163799999930234}}, {"call": {"outcome": "failed", "duration": 0.010396511000010378, "longrepr": "156         enhance performance and especially memory usage with large files. The\n157         header values can still be accessed and will be calculated on the fly\n158         but tab completion will no longer work. Look in the headers.py for a\n159         list of all possible trace header values. Defaults to ``False``.\n160     :returns: A ObsPy :class:`~obspy.core.stream.Stream` object.\n161 \n162     .. rubric:: Example\n163 \n164     >>> from obspy import read\n165     >>> st = read(\"/path/to/00001034.sgy_first_trace\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.segy.core._read_segy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/core.py:165: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005607539999914479}, "lineno": 131, "nodeid": "io/segy/core.py::obspy.io.segy.core._read_segy", "outcome": "failed", "keywords": ["obspy.io.segy.core._read_segy", "filterwarnings", "core.py", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019675299998311857}}, {"call": {"outcome": "failed", "duration": 0.010321402000016633, "longrepr": "446         enhance performance and especially memory usage with large files. The\n447         header values can still be accessed and will be calculated on the fly\n448         but tab completion will no longer work. Look in the headers.py for a\n449         list of all possible trace header values. Defaults to ``False``.\n450     :returns: A ObsPy :class:`~obspy.core.stream.Stream` object.\n451 \n452     .. rubric:: Example\n453 \n454     >>> from obspy import read\n455     >>> st = read(\"/path/to/1.su_first_trace\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.segy.core._read_su[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/core.py:455: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005488920000118469}, "lineno": 425, "nodeid": "io/segy/core.py::obspy.io.segy.core._read_su", "outcome": "failed", "keywords": ["obspy.io.segy.core._read_su", "filterwarnings", "core.py", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002176819999988311}}, {"call": {"outcome": "passed", "duration": 0.009097757000006368}, "setup": {"outcome": "passed", "duration": 0.0004900229999975636}, "lineno": 986, "nodeid": "io/segy/segy.py::obspy.io.segy.segy.iread_segy", "outcome": "passed", "keywords": ["obspy.io.segy.segy.iread_segy", "filterwarnings", "segy.py", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020074000002523462}}, {"call": {"outcome": "passed", "duration": 0.008811168999983465}, "setup": {"outcome": "passed", "duration": 0.00035260000001358094}, "lineno": 1072, "nodeid": "io/segy/segy.py::obspy.io.segy.segy.iread_su", "outcome": "passed", "keywords": ["obspy.io.segy.segy.iread_su", "filterwarnings", "segy.py", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020670099999620106}}, {"call": {"outcome": "passed", "duration": 0.0006812160000038148}, "setup": {"outcome": "passed", "duration": 0.0013525929999786968}, "lineno": 29, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_is_segy_file", "outcome": "passed", "keywords": ["test_is_segy_file", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016186899998160698}}, {"call": {"outcome": "passed", "duration": 0.0006946999999968284}, "setup": {"outcome": "passed", "duration": 0.00035383200000183024}, "lineno": 44, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_is_su_file", "outcome": "passed", "keywords": ["test_is_su_file", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015996499999459957}}, {"call": {"outcome": "passed", "duration": 0.0017472310000243851}, "setup": {"outcome": "passed", "duration": 0.0003456970000002002}, "lineno": 62, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_read_head_only", "outcome": "passed", "keywords": ["test_read_head_only", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001700029999938124}}, {"call": {"outcome": "passed", "duration": 0.001461052999985668}, "setup": {"outcome": "passed", "duration": 0.00035303000001363216}, "lineno": 77, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_enforcing_textual_header_encoding_while_reading", "outcome": "passed", "keywords": ["test_enforcing_textual_header_encoding_while_reading", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017965099999628364}}, {"call": {"outcome": "passed", "duration": 0.004672440999996752}, "setup": {"outcome": "passed", "duration": 0.00032777399999872614}, "lineno": 99, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_enforcing_endianness_while_writing", "outcome": "passed", "keywords": ["test_enforcing_endianness_while_writing", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017618399999719259}}, {"call": {"outcome": "passed", "duration": 0.002976205000010168}, "setup": {"outcome": "passed", "duration": 0.00033748200002037265}, "lineno": 122, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_setting_data_encoding_works", "outcome": "passed", "keywords": ["test_setting_data_encoding_works", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017166599999995924}}, {"call": {"outcome": "passed", "duration": 0.005076284999972813}, "setup": {"outcome": "passed", "duration": 0.0003311700000097062}, "lineno": 148, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_reading_and_writing_different_data_encodings", "outcome": "passed", "keywords": ["test_reading_and_writing_different_data_encodings", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017107499999724496}}, {"call": {"outcome": "passed", "duration": 0.0009249050000050829}, "setup": {"outcome": "passed", "duration": 0.0003634899999838126}, "lineno": 177, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_not_matching_data_encoding_and_dtype_raises", "outcome": "passed", "keywords": ["test_not_matching_data_encoding_and_dtype_raises", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016317099999696438}}, {"call": {"outcome": "passed", "duration": 0.0009339210000121057}, "setup": {"outcome": "passed", "duration": 0.0003258899999991627}, "lineno": 195, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_invalid_data_encoding_raises", "outcome": "passed", "keywords": ["test_invalid_data_encoding_raises", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016593600000192055}}, {"call": {"outcome": "passed", "duration": 0.004612291000000823}, "setup": {"outcome": "passed", "duration": 0.00032717300001650074}, "lineno": 208, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_enforcing_textual_header_encoding_while_writing", "outcome": "passed", "keywords": ["test_enforcing_textual_header_encoding_while_writing", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001752430000010463}}, {"call": {"outcome": "passed", "duration": 0.001228985000011562}, "setup": {"outcome": "passed", "duration": 0.00034676900000363275}, "lineno": 255, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_enforcing_endianness_while_reading", "outcome": "passed", "keywords": ["test_enforcing_endianness_while_reading", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017046400000708672}}, {"call": {"outcome": "passed", "duration": 0.005380726999987928}, "setup": {"outcome": "passed", "duration": 0.00033058899998650304}, "lineno": 276, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_reading_using_core", "outcome": "passed", "keywords": ["test_reading_using_core", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016898200001946861}}, {"call": {"outcome": "passed", "duration": 0.018493564000010565}, "setup": {"outcome": "passed", "duration": 0.0003384839999966971}, "lineno": 314, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_using_core", "outcome": "passed", "keywords": ["test_writing_using_core", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019886699999460689}}, {"call": {"outcome": "passed", "duration": 0.0003821550000111529}, "setup": {"outcome": "passed", "duration": 0.00038449899997772263}, "lineno": 344, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_invalid_values_for_textual_header_encoding", "outcome": "passed", "keywords": ["test_invalid_values_for_textual_header_encoding", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016610599999467013}}, {"call": {"outcome": "passed", "duration": 0.0011513719999811656}, "setup": {"outcome": "passed", "duration": 0.0003607149999993453}, "lineno": 352, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_setting_delta_and_sampling_rate_in_stats", "outcome": "passed", "keywords": ["test_setting_delta_and_sampling_rate_in_stats", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001653539999892928}}, {"call": {"outcome": "passed", "duration": 0.00284182799998689}, "setup": {"outcome": "passed", "duration": 0.00032942699999694014}, "lineno": 367, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_new_sampling_rate", "outcome": "passed", "keywords": ["test_writing_new_sampling_rate", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016993300002354772}}, {"call": {"outcome": "passed", "duration": 0.0011989300000152525}, "setup": {"outcome": "passed", "duration": 0.0003374619999760853}, "lineno": 385, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_reading_date", "outcome": "passed", "keywords": ["test_reading_date", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016421200001559555}}, {"call": {"outcome": "passed", "duration": 0.0033931540000082805}, "setup": {"outcome": "passed", "duration": 0.0003491129999986242}, "lineno": 400, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_large_sample_rate_interval_raises", "outcome": "passed", "keywords": ["test_large_sample_rate_interval_raises", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018619300001887495}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023234820000084255, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_core.py\", line 441, in test_writing_su_file_with_no_header\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002986099999873204}, "lineno": 432, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_su_file_with_no_header", "outcome": "failed", "keywords": ["test_writing_su_file_with_no_header", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017940099999691483}}, {"call": {"outcome": "passed", "duration": 0.0038379640000130166}, "setup": {"outcome": "passed", "duration": 0.00033657000000175685}, "lineno": 464, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_modified_date", "outcome": "passed", "keywords": ["test_writing_modified_date", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016369200000099227}}, {"call": {"outcome": "passed", "duration": 0.0034551180000050863}, "setup": {"outcome": "passed", "duration": 0.00032517900001494127}, "lineno": 488, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_starttime_timestamp_0", "outcome": "passed", "keywords": ["test_writing_starttime_timestamp_0", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001666569999940748}}, {"call": {"outcome": "passed", "duration": 0.0012909099999944829}, "setup": {"outcome": "passed", "duration": 0.00035618699999417913}, "lineno": 545, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_two_digit_years_segy", "outcome": "passed", "keywords": ["test_two_digit_years_segy", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018448000000148568}}, {"call": {"outcome": "passed", "duration": 0.0009609020000027613}, "setup": {"outcome": "passed", "duration": 0.00032236399999874266}, "lineno": 561, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_two_digit_years_su", "outcome": "passed", "keywords": ["test_two_digit_years_su", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016184800000473842}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.014418012000021463, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/coverage/collector.py\", line 239, in lock_data\n    def lock_data(self) -> None:\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0003202799999826311}, "lineno": 573, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_issue_377", "outcome": "failed", "keywords": ["test_issue_377", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022537500001362787}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010039900000151647, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_core.py\", line 597, in test_comparing_still_packed_trace_headers\n    header_a = read(file)[0].stats.segy.trace_header\n               ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042578400001502814}, "lineno": 587, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_comparing_still_packed_trace_headers", "outcome": "failed", "keywords": ["test_comparing_still_packed_trace_headers", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018194500000845437}}, {"call": {"outcome": "passed", "duration": 0.014443207999988772}, "setup": {"outcome": "passed", "duration": 0.0002996329999973568}, "lineno": 600, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_reading_and_writing_with_unset_dates", "outcome": "passed", "keywords": ["test_reading_and_writing_with_unset_dates", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019480899999280155}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0027275870000096347, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_core.py\", line 640, in test_writing_text_and_binary_textual_file_headers\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039969700000597186}, "lineno": 631, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_text_and_binary_textual_file_headers", "outcome": "failed", "keywords": ["test_writing_text_and_binary_textual_file_headers", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020222300000227733}}, {"call": {"outcome": "passed", "duration": 0.0068398760000150105}, "setup": {"outcome": "passed", "duration": 0.0003028680000056738}, "lineno": 655, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_too_long_trace", "outcome": "passed", "keywords": ["test_writing_too_long_trace", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002713810000045669}}, {"call": {"outcome": "passed", "duration": 0.0023520549999886953}, "setup": {"outcome": "passed", "duration": 0.0009416450000117038}, "lineno": 30, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_unpack_segy_data", "outcome": "passed", "keywords": ["test_unpack_segy_data", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017833900000141512}}, {"call": {"outcome": "passed", "duration": 0.002279440999984672}, "setup": {"outcome": "passed", "duration": 0.00034733000001097025}, "lineno": 53, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_pack_segy_data", "outcome": "passed", "keywords": ["test_pack_segy_data", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016509499999983746}}, {"call": {"outcome": "passed", "duration": 0.04550568599998428}, "setup": {"outcome": "passed", "duration": 0.00031430999999315645}, "lineno": 169, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_pack_and_unpack_ibm_float", "outcome": "passed", "keywords": ["test_pack_and_unpack_ibm_float", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024073400001611844}}, {"call": {"outcome": "passed", "duration": 0.03724059399999646}, "setup": {"outcome": "passed", "duration": 0.0003933849999953054}, "lineno": 200, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_pack_and_unpack_very_small_ibm_floats", "outcome": "passed", "keywords": ["test_pack_and_unpack_very_small_ibm_floats", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023222800001576616}}, {"call": {"outcome": "passed", "duration": 0.0006151729999999134}, "setup": {"outcome": "passed", "duration": 0.0003829460000019935}, "lineno": 230, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_pack_and_unpack_ibm_special_cases", "outcome": "passed", "keywords": ["test_pack_and_unpack_ibm_special_cases", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017572400000176458}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0009784730000035324, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/inspect.py\", line 3076, in <genexpr>\n    params = OrderedDict((param.name, param) for param in parameters)\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 153, in pytest_runtest_setup\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "lineno": 258, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_and_write_binary_file_header", "outcome": "error", "keywords": ["test_read_and_write_binary_file_header", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002019629999949757}}, {"call": {"outcome": "passed", "duration": 0.0007989430000066022}, "setup": {"outcome": "passed", "duration": 0.0003301889999818286}, "lineno": 280, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_and_write_textual_file_header", "outcome": "passed", "keywords": ["test_read_and_write_textual_file_header", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017484199997852556}}, {"call": {"outcome": "passed", "duration": 0.002731193000016674}, "setup": {"outcome": "passed", "duration": 0.0003249389999950836}, "lineno": 316, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_and_write_trace_header", "outcome": "passed", "keywords": ["test_read_and_write_trace_header", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017817800002717377}}, {"call": {"outcome": "passed", "duration": 0.010382754999994859}, "setup": {"outcome": "passed", "duration": 0.0004533650000269063}, "lineno": 338, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_and_write_segy[True]", "outcome": "passed", "keywords": ["test_read_and_write_segy[True]", "parametrize", "pytestmark", "True", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027045800001701537}}, {"call": {"outcome": "passed", "duration": 0.007632515999972611}, "setup": {"outcome": "passed", "duration": 0.000525247999973999}, "lineno": 338, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_and_write_segy[False]", "outcome": "passed", "keywords": ["test_read_and_write_segy[False]", "parametrize", "pytestmark", "False", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024236600000904218}}, {"call": {"outcome": "passed", "duration": 0.000734483999991653}, "setup": {"outcome": "passed", "duration": 0.00041122800001858195}, "lineno": 382, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_unpack_binary_file_header", "outcome": "passed", "keywords": ["test_unpack_binary_file_header", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016086700000528253}}, {"call": {"outcome": "passed", "duration": 0.003293240000004971}, "setup": {"outcome": "passed", "duration": 0.00034673900000825597}, "lineno": 426, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_unpack_trace_header", "outcome": "passed", "keywords": ["test_unpack_trace_header", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018245600000454942}}, {"call": {"outcome": "passed", "duration": 0.0010086489999991954}, "setup": {"outcome": "passed", "duration": 0.0003275830000006863}, "lineno": 534, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_bytes_io", "outcome": "passed", "keywords": ["test_read_bytes_io", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017399099999693135}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000907583000014256, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_segy.py\", line 576, in test_iterative_reading\n    st = obspy.read(filename, unpack_trace_headers=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032113200001049336}, "lineno": 569, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_iterative_reading", "outcome": "failed", "keywords": ["test_iterative_reading", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001872960000071089}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022351089999972373, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_segy.py\", line 595, in test_revision_number_in_binary_file_header\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029476299999942057}, "lineno": 588, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_revision_number_in_binary_file_header", "outcome": "failed", "keywords": ["test_revision_number_in_binary_file_header", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001851510000108192}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021573559999978897, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_segy.py\", line 615, in test_textual_header_has_the_right_fields_at_the_end\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003028280000023642}, "lineno": 610, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_textual_header_has_the_right_fields_at_the_end", "outcome": "failed", "keywords": ["test_textual_header_has_the_right_fields_at_the_end", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018179500000314874}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021244560000184265, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_segy.py\", line 744, in test_packing_raises_nice_error_messages\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003266719999999168}, "lineno": 738, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_packing_raises_nice_error_messages", "outcome": "failed", "keywords": ["test_packing_raises_nice_error_messages", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030294900000171765}}, {"call": {"outcome": "passed", "duration": 0.0015380549999974846}, "setup": {"outcome": "passed", "duration": 0.0009252849999938917}, "lineno": 22, "nodeid": "io/segy/tests/test_su.py::TestSU::test_read_and_write_su", "outcome": "passed", "keywords": ["test_read_and_write_su", "filterwarnings", "TestSU", "test_su.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016981299998519717}}, {"call": {"outcome": "passed", "duration": 0.0005390640000086933}, "setup": {"outcome": "passed", "duration": 0.0003337650000219128}, "lineno": 41, "nodeid": "io/segy/tests/test_su.py::TestSU::test_enforcing_byteorders_while_reading", "outcome": "passed", "keywords": ["test_enforcing_byteorders_while_reading", "filterwarnings", "TestSU", "test_su.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001602250000019012}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.002479199999982029, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/coverage/collector.py\", line 239, in lock_data\n    |     def lock_data(self) -> None:\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/coverage/collector.py\", line 239, in lock_data\n    |     def lock_data(self) -> None:\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}, "setup": {"outcome": "passed", "duration": 0.00032432700001550074}, "lineno": 60, "nodeid": "io/segy/tests/test_su.py::TestSU::test_reading_and_writing_different_byteorders", "outcome": "failed", "keywords": ["test_reading_and_writing_different_byteorders", "filterwarnings", "TestSU", "test_su.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020884500000306616}}, {"call": {"outcome": "passed", "duration": 0.0006736410000200976}, "setup": {"outcome": "passed", "duration": 0.0003570180000167511}, "lineno": 92, "nodeid": "io/segy/tests/test_su.py::TestSU::test_unpacking_su_data", "outcome": "passed", "keywords": ["test_unpacking_su_data", "filterwarnings", "TestSU", "test_su.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019210400000702066}}, {"call": {"outcome": "passed", "duration": 0.0003583999999818843}, "setup": {"outcome": "passed", "duration": 0.0003289969999968889}, "lineno": 106, "nodeid": "io/segy/tests/test_su.py::TestSU::test_read_bytes_io", "outcome": "passed", "keywords": ["test_read_bytes_io", "filterwarnings", "TestSU", "test_su.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001621590000127071}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009344730000009349, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_su.py\", line 124, in test_iterative_reading\n    st = obspy.read(filename, unpack_trace_headers=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003566069999862975}, "lineno": 117, "nodeid": "io/segy/tests/test_su.py::TestSU::test_iterative_reading", "outcome": "failed", "keywords": ["test_iterative_reading", "filterwarnings", "TestSU", "test_su.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025185399999827496}}, {"call": {"outcome": "failed", "duration": 0.01070850500002507, "longrepr": "014 \n015 Reading\n016 -------\n017 Importing SEISAN files is done similar to reading any other waveform data\n018 format within ObsPy by using the :func:`~obspy.core.stream.read()` method of\n019 the :mod:`obspy.core` module. Example seismogram files may be found at\n020 https://examples.obspy.org.\n021 \n022 >>> from obspy import read\n023 >>> st = read(\"/path/to/2001-01-13-1742-24S.KONO__004\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.seisan[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seisan/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000873619999993025}, "lineno": 1, "nodeid": "io/seisan/__init__.py::obspy.io.seisan", "outcome": "failed", "keywords": ["obspy.io.seisan", "filterwarnings", "__init__.py", "seisan", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022565599999779806}}, {"call": {"outcome": "skipped", "duration": 0.0002226809999967827, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0005081060000122761}, "lineno": 19, "nodeid": "io/seisan/core.py::obspy.io.seisan.core._is_seisan", "outcome": "skipped", "keywords": ["obspy.io.seisan.core._is_seisan", "filterwarnings", "core.py", "seisan", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016210900000146466}}, {"call": {"outcome": "failed", "duration": 0.011363433000013856, "longrepr": "114 \n115     :type filename: str\n116     :param filename: SEISAN file to be read.\n117     :rtype: :class:`~obspy.core.stream.Stream`\n118     :return: A ObsPy Stream object.\n119 \n120     .. rubric:: Example\n121 \n122     >>> from obspy import read\n123     >>> st = read(\"/path/to/2001-01-13-1742-24S.KONO__004\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.seisan.core._read_seisan[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seisan/core.py:123: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00039588999999295993}, "lineno": 107, "nodeid": "io/seisan/core.py::obspy.io.seisan.core._read_seisan", "outcome": "failed", "keywords": ["obspy.io.seisan.core._read_seisan", "filterwarnings", "core.py", "seisan", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002176810000094065}}, {"call": {"outcome": "passed", "duration": 0.00033681099998261743}, "setup": {"outcome": "passed", "duration": 0.0012871829999880902}, "lineno": 15, "nodeid": "io/seisan/tests/test_core.py::TestCore::test_get_version", "outcome": "passed", "keywords": ["test_get_version", "filterwarnings", "TestCore", "test_core.py", "tests", "seisan", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015968400001042937}}, {"call": {"outcome": "passed", "duration": 0.00031275599999958104}, "setup": {"outcome": "passed", "duration": 0.00035384299999918767}, "lineno": 37, "nodeid": "io/seisan/tests/test_core.py::TestCore::test_is_seisan", "outcome": "passed", "keywords": ["test_is_seisan", "filterwarnings", "TestCore", "test_core.py", "tests", "seisan", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017728699998542652}}, {"call": {"outcome": "passed", "duration": 0.022316719999992074}, "setup": {"outcome": "passed", "duration": 0.0003213519999860637}, "lineno": 57, "nodeid": "io/seisan/tests/test_core.py::TestCore::test_read_seisan", "outcome": "passed", "keywords": ["test_read_seisan", "filterwarnings", "TestCore", "test_core.py", "tests", "seisan", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002252150000003894}}, {"call": {"outcome": "passed", "duration": 0.022978929999993625}, "setup": {"outcome": "passed", "duration": 0.00040126999999756663}, "lineno": 116, "nodeid": "io/seisan/tests/test_core.py::TestCore::test_read_seisan_head_only", "outcome": "passed", "keywords": ["test_read_seisan_head_only", "filterwarnings", "TestCore", "test_core.py", "tests", "seisan", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022637700001837402}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010275130000252375, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seisan/tests/test_core.py\", line 202, in test_read_obspy\n    st1 = read(testdata['2011-09-06-1311-36S.A1032_001BH_Z'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042718800000329793}, "lineno": 196, "nodeid": "io/seisan/tests/test_core.py::TestCore::test_read_obspy", "outcome": "failed", "keywords": ["test_read_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "seisan", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030394099999853097}}, {"call": {"outcome": "failed", "duration": 0.01125210699999002, "longrepr": "064         restriction, this ID prefix allows to convert the IDs to a well\n065         formatted QuakeML ID. You can modify the default ID prefix with the\n066         reverse DNS name of your institute.\n067     :rtype: :class:`~obspy.core.event.Catalog`\n068     :return: An ObsPy Catalog object.\n069 \n070     .. rubric:: Example\n071 \n072     >>> from obspy import read_events\n073     >>> cat = read_events('/path/to/iris_events.sc3ml')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.seiscomp.event._read_scml[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/event.py:73: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0009073629999818422}, "lineno": 46, "nodeid": "io/seiscomp/event.py::obspy.io.seiscomp.event._read_scml", "outcome": "failed", "keywords": ["obspy.io.seiscomp.event._read_scml", "filterwarnings", "event.py", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023121600000308717}}, {"call": {"outcome": "passed", "duration": 0.004826675000003888}, "setup": {"outcome": "passed", "duration": 0.0006063769999968827}, "lineno": 49, "nodeid": "io/seiscomp/inventory.py::obspy.io.seiscomp.inventory._get_schema_namespace", "outcome": "passed", "keywords": ["obspy.io.seiscomp.inventory._get_schema_namespace", "filterwarnings", "inventory.py", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00035967299999128954}}, {"call": {"outcome": "passed", "duration": 0.003395197000003236}, "setup": {"outcome": "passed", "duration": 0.0017569579999872076}, "lineno": 24, "nodeid": "io/seiscomp/tests/test_core.py::TestCore::test_scml_versions", "outcome": "passed", "keywords": ["test_scml_versions", "filterwarnings", "TestCore", "test_core.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018936899999744128}}, {"call": {"outcome": "passed", "duration": 0.0003085980000037125}, "setup": {"outcome": "passed", "duration": 0.00038658299999383416}, "lineno": 32, "nodeid": "io/seiscomp/tests/test_core.py::TestCore::test_scml_no_version_attribute", "outcome": "passed", "keywords": ["test_scml_no_version_attribute", "filterwarnings", "TestCore", "test_core.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017184700001848796}}, {"call": {"outcome": "passed", "duration": 0.012973779999981616}, "setup": {"outcome": "passed", "duration": 0.00034286199999655764}, "lineno": 36, "nodeid": "io/seiscomp/tests/test_core.py::TestCore::test_validate", "outcome": "passed", "keywords": ["test_validate", "filterwarnings", "TestCore", "test_core.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002847239999823614}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009145859999932782, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 200, in test_scml_versions\n    read_events(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0041862150000042675}, "lineno": 192, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_scml_versions", "outcome": "failed", "keywords": ["test_scml_versions", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021320299998706105}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.04015060700001527}, "setup": {"outcome": "passed", "duration": 0.0004968560000122579}, "lineno": 217, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_event", "outcome": "passed", "keywords": ["test_read_xslt_event", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028118800000243027}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03992546200001357}, "setup": {"outcome": "passed", "duration": 0.0005974409999964791}, "lineno": 221, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_origin", "outcome": "passed", "keywords": ["test_read_xslt_origin", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002781119999895054}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03895023499998729}, "setup": {"outcome": "passed", "duration": 0.0005955279999909635}, "lineno": 225, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_magnitude", "outcome": "passed", "keywords": ["test_read_xslt_magnitude", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026672199999211443}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.039641739000018106}, "setup": {"outcome": "passed", "duration": 0.0005782249999981559}, "lineno": 229, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_station_magnitude_contribution", "outcome": "passed", "keywords": ["test_read_xslt_station_magnitude_contribution", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002533169999878737}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03881623800000966}, "setup": {"outcome": "passed", "duration": 0.0005562749999796779}, "lineno": 234, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_station_magnitude", "outcome": "passed", "keywords": ["test_read_xslt_station_magnitude", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027456600000164144}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.039890426999988904}, "setup": {"outcome": "passed", "duration": 0.0006226779999849441}, "lineno": 238, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_data_used_in_moment_tensor", "outcome": "passed", "keywords": ["test_read_xslt_data_used_in_moment_tensor", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002852359999963028}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.040653924000025654}, "setup": {"outcome": "passed", "duration": 0.0005675459999849863}, "lineno": 242, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_arrival", "outcome": "passed", "keywords": ["test_read_xslt_arrival", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002958549999902971}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.041387536999991426}, "setup": {"outcome": "passed", "duration": 0.0005716340000105902}, "lineno": 246, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_pick", "outcome": "passed", "keywords": ["test_read_xslt_pick", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002846149999982117}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.042788758999989795}, "setup": {"outcome": "passed", "duration": 0.0005722049999974388}, "lineno": 250, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_focalmechanism", "outcome": "passed", "keywords": ["test_read_xslt_focalmechanism", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030970100002036816}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.041687668999998095}, "setup": {"outcome": "passed", "duration": 0.0005876829999920119}, "lineno": 254, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_amplitude", "outcome": "passed", "keywords": ["test_read_xslt_amplitude", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027509700001360216}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.040281007000004365}, "setup": {"outcome": "passed", "duration": 0.000647552999993195}, "lineno": 259, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_iris_events", "outcome": "passed", "keywords": ["test_read_xslt_iris_events", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002604499999847576}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.0416666209999903}, "setup": {"outcome": "passed", "duration": 0.0005925619999800347}, "lineno": 263, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_example", "outcome": "passed", "keywords": ["test_read_xslt_example", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026687199999742006}}, {"call": {"outcome": "passed", "duration": 0.006096415000001798}, "setup": {"outcome": "passed", "duration": 0.0006068280000022241}, "lineno": 267, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_example", "outcome": "passed", "keywords": ["test_read_example", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022707800002308431}}, {"call": {"outcome": "passed", "duration": 0.006121301999996831}, "setup": {"outcome": "passed", "duration": 0.0005485810000038782}, "lineno": 274, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_id_prefix", "outcome": "passed", "keywords": ["test_read_id_prefix", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023665600002686915}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00045268499999906453, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 311, in test_read_string\n    catalog = read_events(data)\n              ^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 730, in _generic_reader\n    return callback_func(io.BytesIO(pathname_or_url), **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005350459999817758}, "lineno": 302, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_string", "outcome": "failed", "keywords": ["test_read_string", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022064699999191362}}, {"call": {"outcome": "passed", "duration": 0.014633008999993535}, "setup": {"outcome": "passed", "duration": 0.0005323410000244166}, "lineno": 313, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_quakeml", "outcome": "passed", "keywords": ["test_read_quakeml", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002843240000061087}}, {"call": {"outcome": "passed", "duration": 0.007782743999996455}, "setup": {"outcome": "passed", "duration": 0.0006145129999879373}, "lineno": 322, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_scml_fields", "outcome": "passed", "keywords": ["test_read_scml_fields", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00029898100001446437}}, {"call": {"outcome": "passed", "duration": 0.009430510000015602}, "setup": {"outcome": "passed", "duration": 0.0005734570000015538}, "lineno": 350, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_event", "outcome": "passed", "keywords": ["test_write_xslt_event", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025604199998952026}}, {"call": {"outcome": "passed", "duration": 0.011303341999990835}, "setup": {"outcome": "passed", "duration": 0.0005473089999838976}, "lineno": 356, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_origin", "outcome": "passed", "keywords": ["test_write_xslt_origin", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026328600000624647}}, {"call": {"outcome": "passed", "duration": 0.010691264000001865}, "setup": {"outcome": "passed", "duration": 0.0005416479999951207}, "lineno": 362, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_quarryblast", "outcome": "passed", "keywords": ["test_write_xslt_quarryblast", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023690699998724085}}, {"call": {"outcome": "passed", "duration": 0.009136297999987164}, "setup": {"outcome": "passed", "duration": 0.000548831000003247}, "lineno": 367, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_magnitude", "outcome": "passed", "keywords": ["test_write_xslt_magnitude", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023739799999589195}}, {"call": {"outcome": "passed", "duration": 0.00875185999998962}, "setup": {"outcome": "passed", "duration": 0.0004988489999959711}, "lineno": 373, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_station_magnitude_contribution", "outcome": "passed", "keywords": ["test_write_xslt_station_magnitude_contribution", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020722200000022895}}, {"call": {"outcome": "passed", "duration": 0.008576176000019586}, "setup": {"outcome": "passed", "duration": 0.000502326000002995}, "lineno": 381, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_station_magnitude", "outcome": "passed", "keywords": ["test_write_xslt_station_magnitude", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021256099998367972}}, {"call": {"outcome": "passed", "duration": 0.009212958999995635}, "setup": {"outcome": "passed", "duration": 0.0005035679999991771}, "lineno": 387, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_data_used_in_moment_tensor", "outcome": "passed", "keywords": ["test_write_xslt_data_used_in_moment_tensor", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022636699998201948}}, {"call": {"outcome": "passed", "duration": 0.009600253000002112}, "setup": {"outcome": "passed", "duration": 0.0005347259999837206}, "lineno": 392, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_arrival", "outcome": "passed", "keywords": ["test_write_xslt_arrival", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021391399999970417}}, {"call": {"outcome": "passed", "duration": 0.010693519000000151}, "setup": {"outcome": "passed", "duration": 0.0005526189999898179}, "lineno": 397, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_pick", "outcome": "passed", "keywords": ["test_write_xslt_pick", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023353099999212645}}, {"call": {"outcome": "passed", "duration": 0.04011782699998889}, "setup": {"outcome": "passed", "duration": 0.0005018850000055863}, "lineno": 402, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_012_events", "outcome": "passed", "keywords": ["test_write_xslt_012_events", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027023800001302334}}, {"call": {"outcome": "passed", "duration": 0.03971723800000859}, "setup": {"outcome": "passed", "duration": 0.000556506000009449}, "lineno": 407, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_014_events", "outcome": "passed", "keywords": ["test_write_xslt_014_events", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027428499998904954}}, {"call": {"outcome": "passed", "duration": 0.016996524999996154}, "setup": {"outcome": "passed", "duration": 0.000538101999978835}, "lineno": 412, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_focalmechanism", "outcome": "passed", "keywords": ["test_write_xslt_focalmechanism", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025483899997880144}}, {"call": {"outcome": "passed", "duration": 0.010061282999998866}, "setup": {"outcome": "passed", "duration": 0.0005560550000041076}, "lineno": 418, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_iris_events", "outcome": "passed", "keywords": ["test_write_xslt_iris_events", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023645599998189937}}, {"call": {"outcome": "passed", "duration": 0.03859671299997558}, "setup": {"outcome": "passed", "duration": 0.0005032179999773234}, "lineno": 424, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_neries_events", "outcome": "passed", "keywords": ["test_write_xslt_neries_events", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002750069999990501}}, {"call": {"outcome": "passed", "duration": 0.008118080999992117}, "setup": {"outcome": "passed", "duration": 0.0005320900000072015}, "lineno": 437, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_usgs_events", "outcome": "passed", "keywords": ["test_write_xslt_usgs_events", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020659000000478045}}, {"call": {"outcome": "passed", "duration": 0.010404083999986824}, "setup": {"outcome": "passed", "duration": 0.00047062699999855795}, "lineno": 446, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_example", "outcome": "passed", "keywords": ["test_write_xslt_example", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002016119999836974}}, {"call": {"outcome": "passed", "duration": 0.015942902999995567}, "setup": {"outcome": "passed", "duration": 0.0004879189999940081}, "lineno": 451, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_example", "outcome": "passed", "keywords": ["test_write_example", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028525499999432213}}, {"call": {"outcome": "passed", "duration": 0.015891758000009304}, "setup": {"outcome": "passed", "duration": 0.0005560239999908845}, "lineno": 462, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_remove_events", "outcome": "passed", "keywords": ["test_write_remove_events", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024232699999515717}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008779080000067552, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 476, in test_read_and_write\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005373710000071696}, "lineno": 473, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_and_write", "outcome": "failed", "keywords": ["test_read_and_write", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001998580000019956}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008070780000082323, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 488, in test_read_and_write_scml_fields\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000499770999994098}, "lineno": 482, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_and_write_scml_fields", "outcome": "failed", "keywords": ["test_read_and_write_scml_fields", "filterwarnings", "TestEvent", "test_event.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00058537900000033}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022866840000119737, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 51, in test_scml_versions\n    read_inventory(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.05003524399998582}, "lineno": 39, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_scml_versions", "outcome": "failed", "keywords": ["test_scml_versions", "filterwarnings", "TestSCML", "test_inventory.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024338899999065688}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001013518000007707, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 59, in test_channel_level\n    inv = read_inventory(testdata[\"channel_level.sc3ml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.03555639999999016}, "lineno": 52, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_channel_level", "outcome": "failed", "keywords": ["test_channel_level", "filterwarnings", "pytestmark", "TestSCML", "test_inventory.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002350929999863638}}, {"call": {"outcome": "passed", "duration": 0.03135254200000759}, "setup": {"outcome": "passed", "duration": 0.03618600999999444}, "lineno": 64, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_compare_xml", "outcome": "passed", "keywords": ["test_compare_xml", "filterwarnings", "TestSCML", "test_inventory.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025641300001666423}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010289859999943474, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 117, in test_empty_depth\n    read_inventory(testdata[\"sc3ml_empty_depth_and_id.sc3ml\"])\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.03502650400000107}, "lineno": 110, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_empty_depth", "outcome": "failed", "keywords": ["test_empty_depth", "filterwarnings", "TestSCML", "test_inventory.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022900199999753568}}, {"call": {"outcome": "passed", "duration": 0.00037515099998586265}, "setup": {"outcome": "passed", "duration": 0.03544505499999673}, "lineno": 127, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_compare_upper_level", "outcome": "passed", "keywords": ["test_compare_upper_level", "filterwarnings", "TestSCML", "test_inventory.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019866600001705592}}, {"call": {"outcome": "passed", "duration": 0.016147469999992836}, "setup": {"outcome": "passed", "duration": 0.034638908999994555}, "lineno": 137, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_compare_response", "outcome": "passed", "keywords": ["test_compare_response", "filterwarnings", "TestSCML", "test_inventory.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025146300001210875}}, {"call": {"outcome": "passed", "duration": 0.0004045660000144835}, "setup": {"outcome": "passed", "duration": 0.03571826800001077}, "lineno": 248, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_parse_complex_list", "outcome": "passed", "keywords": ["test_parse_complex_list", "filterwarnings", "TestSCML", "test_inventory.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020707199999492332}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009450919999949292, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 271, in test_stage_empty_poles_and_zeros\n    scml_inv = read_inventory(scml_mbar_path)\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.036067231000004085}, "lineno": 265, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_stage_empty_poles_and_zeros", "outcome": "failed", "keywords": ["test_stage_empty_poles_and_zeros", "filterwarnings", "TestSCML", "test_inventory.py", "tests", "seiscomp", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003793199999790886}}, {"call": {"outcome": "failed", "duration": 0.01086042500000417, "longrepr": "014 \n015 Reading\n016 -------\n017 Importing Q or ASC files is done similar to reading any other waveform data\n018 format within ObsPy by using the :func:`~obspy.core.stream.read()` method of\n019 the :mod:`obspy.core` module. Examples seismograms files may be found at\n020 https://examples.obspy.org.\n021 \n022 >>> from obspy import read\n023 >>> st = read(\"/path/to/QFILE-TEST-ASC.ASC\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sh[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0009275300000126663}, "lineno": 0, "nodeid": "io/sh/__init__.py::obspy.io.sh", "outcome": "failed", "keywords": ["obspy.io.sh", "filterwarnings", "__init__.py", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020307399998387154}}, {"call": {"outcome": "skipped", "duration": 0.00021980500000040593, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0005188869999983581}, "lineno": 68, "nodeid": "io/sh/core.py::obspy.io.sh.core._is_asc", "outcome": "skipped", "keywords": ["obspy.io.sh.core._is_asc", "filterwarnings", "core.py", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020079999998756648}}, {"call": {"outcome": "skipped", "duration": 0.00022185800000329436, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003429820000064865}, "lineno": 299, "nodeid": "io/sh/core.py::obspy.io.sh.core._is_q", "outcome": "skipped", "keywords": ["obspy.io.sh.core._is_q", "filterwarnings", "core.py", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001857219999976678}}, {"call": {"outcome": "failed", "duration": 0.011081683000014664, "longrepr": "113     :type length: int, optional\n114     :param length: If ``skip`` is used, ``length`` defines the number of values\n115         to be read.\n116     :rtype: :class:`~obspy.core.stream.Stream`\n117     :return: A ObsPy Stream object.\n118 \n119     .. rubric:: Example\n120 \n121     >>> from obspy import read\n122     >>> st = read(\"/path/to/QFILE-TEST-ASC.ASC\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sh.core._read_asc[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/core.py:122: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032862500000874206}, "lineno": 94, "nodeid": "io/sh/core.py::obspy.io.sh.core._read_asc", "outcome": "failed", "keywords": ["obspy.io.sh.core._read_asc", "filterwarnings", "core.py", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002123410000081094}}, {"call": {"outcome": "failed", "duration": 0.010589336000009553, "longrepr": "357     ObsPy assumes that the corresponding data file is within the same directory\n358     if the ``data_directory`` parameter is not set. Otherwise it will search\n359     in the given ``data_directory`` for a file with the `QBN` file extension.\n360     This function should NOT be called directly, it registers via the\n361     ObsPy :func:`~obspy.core.stream.read` function, call this instead.\n362 \n363     .. rubric:: Example\n364 \n365     >>> from obspy import read\n366     >>> st = read(\"/path/to/QFILE-TEST.QHD\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sh.core._read_q[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/core.py:366: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00035761000000889}, "lineno": 325, "nodeid": "io/sh/core.py::obspy.io.sh.core._read_q", "outcome": "failed", "keywords": ["obspy.io.sh.core._read_q", "filterwarnings", "core.py", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020445699999527278}}, {"call": {"outcome": "passed", "duration": 0.003100493999994569}, "setup": {"outcome": "passed", "duration": 0.00035270999998715524}, "lineno": 642, "nodeid": "io/sh/core.py::obspy.io.sh.core.from_utcdatetime", "outcome": "passed", "keywords": ["obspy.io.sh.core.from_utcdatetime", "filterwarnings", "core.py", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019626100001346458}}, {"call": {"outcome": "passed", "duration": 0.003192102999975077}, "setup": {"outcome": "passed", "duration": 0.00032242400001791793}, "lineno": 587, "nodeid": "io/sh/core.py::obspy.io.sh.core.to_utcdatetime", "outcome": "passed", "keywords": ["obspy.io.sh.core.to_utcdatetime", "filterwarnings", "core.py", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018229600001973267}}, {"call": {"outcome": "passed", "duration": 0.022078199999981507}, "setup": {"outcome": "passed", "duration": 0.0013035530000138351}, "lineno": 15, "nodeid": "io/sh/tests/test_core.py::TestCore::test_read_101_traces", "outcome": "passed", "keywords": ["test_read_101_traces", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022312199999419136}}, {"call": {"outcome": "passed", "duration": 0.00033533799998508584}, "setup": {"outcome": "passed", "duration": 0.0004215969999847857}, "lineno": 25, "nodeid": "io/sh/tests/test_core.py::TestCore::test_is_asc_file", "outcome": "passed", "keywords": ["test_is_asc_file", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019319599999789716}}, {"call": {"outcome": "passed", "duration": 0.0003026579999811929}, "setup": {"outcome": "passed", "duration": 0.00033860400000662594}, "lineno": 34, "nodeid": "io/sh/tests/test_core.py::TestCore::test_is_q_file", "outcome": "passed", "keywords": ["test_is_q_file", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016808999998829677}}, {"call": {"outcome": "passed", "duration": 0.0013995289999968463}, "setup": {"outcome": "passed", "duration": 0.0003291259999969043}, "lineno": 45, "nodeid": "io/sh/tests/test_core.py::TestCore::test_read_single_channel_asc_file", "outcome": "passed", "keywords": ["test_read_single_channel_asc_file", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001780179999855136}}, {"call": {"outcome": "passed", "duration": 0.013502084000009518}, "setup": {"outcome": "passed", "duration": 0.000355054999999993}, "lineno": 102, "nodeid": "io/sh/tests/test_core.py::TestCore::test_read_and_write_multi_channel_asc_file", "outcome": "passed", "keywords": ["test_read_and_write_multi_channel_asc_file", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022835100000406783}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.011197355999996716, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 142, in test_read_and_write_multi_channel_asc_file_via_obspy\n    stream2 = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004348119999804112}, "lineno": 126, "nodeid": "io/sh/tests/test_core.py::TestCore::test_read_and_write_multi_channel_asc_file_via_obspy", "outcome": "failed", "keywords": ["test_read_and_write_multi_channel_asc_file_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023228800000651972}}, {"call": {"outcome": "passed", "duration": 0.007894228999987263}, "setup": {"outcome": "passed", "duration": 0.0003917319999970914}, "lineno": 145, "nodeid": "io/sh/tests/test_core.py::TestCore::test_read_and_write_multi_channel_q_file", "outcome": "passed", "keywords": ["test_read_and_write_multi_channel_q_file", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019808500002227447}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004839267999983576, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 198, in test_read_and_write_multi_channel_q_file_via_obspy\n    stream2 = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000439419000002772}, "lineno": 182, "nodeid": "io/sh/tests/test_core.py::TestCore::test_read_and_write_multi_channel_q_file_via_obspy", "outcome": "failed", "keywords": ["test_read_and_write_multi_channel_q_file_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002159279999887076}}, {"call": {"outcome": "passed", "duration": 0.0014309569999966243}, "setup": {"outcome": "passed", "duration": 0.0003531210000176088}, "lineno": 219, "nodeid": "io/sh/tests/test_core.py::TestCore::test_skip_asc_lines", "outcome": "passed", "keywords": ["test_skip_asc_lines", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017022299999780444}}, {"call": {"outcome": "passed", "duration": 0.01824239999999122}, "setup": {"outcome": "passed", "duration": 0.00030386000000248714}, "lineno": 234, "nodeid": "io/sh/tests/test_core.py::TestCore::test_write_small_trace", "outcome": "passed", "keywords": ["test_write_small_trace", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021580800000720046}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00224370499998372, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 262, in test_write_long_header\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003620070000067699}, "lineno": 257, "nodeid": "io/sh/tests/test_core.py::TestCore::test_write_long_header", "outcome": "failed", "keywords": ["test_write_long_header", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019111199998178563}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002171432000011464, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 277, in test_header_whitespaces\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003371809999919151}, "lineno": 272, "nodeid": "io/sh/tests/test_core.py::TestCore::test_header_whitespaces", "outcome": "failed", "keywords": ["test_header_whitespaces", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019601099998567406}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0026736270000071727, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 292, in test_append_traces\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003436930000191296}, "lineno": 287, "nodeid": "io/sh/tests/test_core.py::TestCore::test_append_traces", "outcome": "error", "keywords": ["test_append_traces", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.0003214230000025964, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 56, in literal_eval\n    |     def literal_eval(node_or_string):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 56, in literal_eval\n    |     def literal_eval(node_or_string):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"outcome": "passed", "duration": 0.0011630230000037045}, "setup": {"outcome": "passed", "duration": 0.0005920410000044285}, "lineno": 5, "nodeid": "io/sh/tests/test_evt.py::TestEvt::test_is_evt_file", "outcome": "passed", "keywords": ["test_is_evt_file", "filterwarnings", "TestEvt", "test_evt.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000185122000004867}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008285269999817046, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 12, in test_local_event1\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006236490000048889}, "lineno": 9, "nodeid": "io/sh/tests/test_evt.py::TestEvt::test_local_event1", "outcome": "failed", "keywords": ["test_local_event1", "filterwarnings", "TestEvt", "test_evt.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018197600002167746}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007795769999745517, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 17, in test_local_event2\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003367709999793078}, "lineno": 14, "nodeid": "io/sh/tests/test_evt.py::TestEvt::test_local_event2", "outcome": "failed", "keywords": ["test_local_event2", "filterwarnings", "TestEvt", "test_evt.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017778800000201045}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010213319999934356, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 34, in test_tele_event1\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033670999999912965}, "lineno": 31, "nodeid": "io/sh/tests/test_evt.py::TestEvt::test_tele_event1", "outcome": "failed", "keywords": ["test_tele_event1", "filterwarnings", "TestEvt", "test_evt.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018163499998991028}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008587320000117415, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 40, in test_tele_event2\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035887100000309147}, "lineno": 36, "nodeid": "io/sh/tests/test_evt.py::TestEvt::test_tele_event2", "outcome": "failed", "keywords": ["test_tele_event2", "filterwarnings", "TestEvt", "test_evt.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018052300001158983}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.06197801400000458, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 84, in test_populate_waveform_id\n    cat = read_events(fname, inventory=inv,\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003510769999763852}, "lineno": 78, "nodeid": "io/sh/tests/test_evt.py::TestEvt::test_populate_waveform_id", "outcome": "failed", "keywords": ["test_populate_waveform_id", "filterwarnings", "TestEvt", "test_evt.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003130169999963073}}, {"call": {"outcome": "failed", "duration": 0.06419671400001903, "longrepr": "005 This module provides write support for the ESRI shapefile format.\n006 \n007 Write support works via the ObsPy plugin structure for\n008 :class:`~obspy.core.event.Catalog` and\n009 :class:`~obspy.core.inventory.inventory.Inventory`:\n010 \n011 >>> from obspy import read_inventory, read_events\n012 >>> inv = read_inventory()  # load example data\n013 >>> inv.write(\"my_stations.shp\", format=\"SHAPEFILE\")  # doctest: +SKIP\n014 >>> cat = read_events()  # load example data\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.shapefile[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/shapefile/__init__.py:14: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008269539999901099}, "lineno": 1, "nodeid": "io/shapefile/__init__.py::obspy.io.shapefile", "outcome": "failed", "keywords": ["obspy.io.shapefile", "filterwarnings", "__init__.py", "shapefile", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002743159999738509}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005342044999991913, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/shapefile/tests/test_core.py\", line 193, in test_write_catalog_shapefile\n    cat = read_events('/path/to/mchedr.dat')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008958509999956732}, "lineno": 188, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_catalog_shapefile", "outcome": "failed", "keywords": ["test_write_catalog_shapefile", "filterwarnings", "TestShapefile", "skipif", "test_core.py", "tests", "shapefile", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019232399998259098}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005165970000007292, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/shapefile/tests/test_core.py\", line 230, in test_write_catalog_shapefile_with_extra_field\n    cat = read_events('/path/to/mchedr.dat')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000323045000016009}, "lineno": 225, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_catalog_shapefile_with_extra_field", "outcome": "failed", "keywords": ["test_write_catalog_shapefile_with_extra_field", "filterwarnings", "TestShapefile", "skipif", "test_core.py", "tests", "shapefile", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019094199998903605}}, {"call": {"outcome": "passed", "duration": 0.06975329499999816}, "setup": {"outcome": "passed", "duration": 0.0003272630000026311}, "lineno": 288, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_inventory_shapefile_with_extra_field", "outcome": "passed", "keywords": ["test_write_inventory_shapefile_with_extra_field", "filterwarnings", "TestShapefile", "skipif", "test_core.py", "tests", "shapefile", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021696000001725224}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005558785000005173, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/shapefile/tests/test_core.py\", line 339, in test_write_catalog_shapefile_via_plugin\n    cat = read_events('/path/to/mchedr.dat')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003733279999948991}, "lineno": 334, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_catalog_shapefile_via_plugin", "outcome": "failed", "keywords": ["test_write_catalog_shapefile_via_plugin", "filterwarnings", "TestShapefile", "skipif", "test_core.py", "tests", "shapefile", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021190000001070075}}, {"call": {"outcome": "passed", "duration": 0.06011952000000065}, "setup": {"outcome": "passed", "duration": 0.00032411700001944155}, "lineno": 371, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_inventory_shapefile", "outcome": "passed", "keywords": ["test_write_inventory_shapefile", "filterwarnings", "TestShapefile", "skipif", "test_core.py", "tests", "shapefile", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002137849999996888}}, {"call": {"outcome": "passed", "duration": 0.07128920499999936}, "setup": {"outcome": "passed", "duration": 0.0003609860000040044}, "lineno": 400, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_inventory_shapefile_via_plugin", "outcome": "passed", "keywords": ["test_write_inventory_shapefile_via_plugin", "filterwarnings", "TestShapefile", "skipif", "test_core.py", "tests", "shapefile", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023044499999969048}}, {"call": {"outcome": "failed", "duration": 0.01137371199999393, "longrepr": "015 \n016 \n017 Example\n018 -------\n019 \n020 Don't use this module directly but utilize it through the\n021 :func:`~obspy.core.inventory.inventory.read_inventory` function.\n022 \n023 >>> import obspy\n024 >>> inv = obspy.read_inventory(\"/path/to/channel_level_fdsn.txt\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.stationtxt[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0009171100000173737}, "lineno": 2, "nodeid": "io/stationtxt/__init__.py::obspy.io.stationtxt", "outcome": "failed", "keywords": ["obspy.io.stationtxt", "filterwarnings", "__init__.py", "stationtxt", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002280299999881663}}, {"call": {"outcome": "passed", "duration": 0.0018119389999924351}, "setup": {"outcome": "passed", "duration": 0.0012591999999926884}, "lineno": 25, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_is_txt_file", "outcome": "passed", "keywords": ["test_is_txt_file", "filterwarnings", "TestStationText", "test_station_text_parsing.py", "tests", "stationtxt", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016689699998551077}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017597529999875405, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 109, in test_reading_network_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033791299998142676}, "lineno": 85, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_reading_network_file", "outcome": "failed", "keywords": ["test_reading_network_file", "filterwarnings", "TestStationText", "test_station_text_parsing.py", "tests", "stationtxt", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001764350000144077}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021302460000072188, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 194, in test_reading_station_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033084000000371816}, "lineno": 160, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_reading_station_file", "outcome": "failed", "keywords": ["test_reading_station_file", "filterwarnings", "TestStationText", "test_station_text_parsing.py", "tests", "stationtxt", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002015110000002096}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003944219000004523, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 397, in test_reading_channel_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034803100001568055}, "lineno": 245, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_reading_channel_file", "outcome": "failed", "keywords": ["test_reading_channel_file", "filterwarnings", "TestStationText", "test_station_text_parsing.py", "tests", "stationtxt", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018513100002337524}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013706870000191884, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 467, in test_reading_unicode_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004263659999992342}, "lineno": 448, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_reading_unicode_file", "outcome": "failed", "keywords": ["test_reading_unicode_file", "filterwarnings", "TestStationText", "test_station_text_parsing.py", "tests", "stationtxt", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017578399999251815}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015202710000039588, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 557, in test_reading_channel_without_response_info\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033382499998424464}, "lineno": 518, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_reading_channel_without_response_info", "outcome": "failed", "keywords": ["test_reading_channel_without_response_info", "filterwarnings", "TestStationText", "test_station_text_parsing.py", "tests", "stationtxt", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018298800000593474}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002565487999987681, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 619, in test_parsing_faulty_header_at_channel_level\n    inv_obs_good = obspy.read_inventory(good_file)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003558559999987665}, "lineno": 608, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_parsing_faulty_header_at_channel_level", "outcome": "failed", "keywords": ["test_parsing_faulty_header_at_channel_level", "filterwarnings", "TestStationText", "test_station_text_parsing.py", "tests", "stationtxt", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019777399998588407}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001235487000002422, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 648, in test_parsing_files_with_no_endtime\n    inv_obs_a = obspy.read_inventory(file_a)\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037106400000652684}, "lineno": 632, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_parsing_files_with_no_endtime", "outcome": "failed", "keywords": ["test_parsing_files_with_no_endtime", "filterwarnings", "TestStationText", "test_station_text_parsing.py", "tests", "stationtxt", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020965600000977247}}, {"call": {"outcome": "passed", "duration": 0.015108214000008502}, "setup": {"outcome": "passed", "duration": 0.0002996919999986858}, "lineno": 670, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_write_stationtxt", "outcome": "passed", "keywords": ["test_write_stationtxt", "filterwarnings", "TestStationText", "test_station_text_parsing.py", "tests", "stationtxt", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021939500001622037}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009069609999983186, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 846, in test_read_write_stationtxt\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000396200000011504}, "lineno": 831, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_read_write_stationtxt", "outcome": "failed", "keywords": ["test_read_write_stationtxt", "filterwarnings", "TestStationText", "test_station_text_parsing.py", "tests", "stationtxt", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030888899999581554}}, {"call": {"outcome": "passed", "duration": 0.001386354999993955}, "setup": {"outcome": "passed", "duration": 0.0018129620000024715}, "lineno": 70, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_is_stationxml", "outcome": "passed", "keywords": ["test_is_stationxml", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018271699997285396}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008956400000101894, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 94, in test_different_write_levels\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003757620000044426}, "lineno": 88, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_different_write_levels", "outcome": "failed", "keywords": ["test_different_write_levels", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017772800001125688}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000749712000015279, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 139, in test_read_and_write_minimal_file\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035915199998726166}, "lineno": 133, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_read_and_write_minimal_file", "outcome": "failed", "keywords": ["test_read_and_write_minimal_file", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018622300001425174}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007635169999957725, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 168, in test_subsecond_read_and_write_minimal_file\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005793379999943227}, "lineno": 160, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_subsecond_read_and_write_minimal_file", "outcome": "failed", "keywords": ["test_subsecond_read_and_write_minimal_file", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018151400001897855}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009071420000168473, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 191, in test_read_and_write_full_file\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003670369999895229}, "lineno": 184, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_read_and_write_full_file", "outcome": "failed", "keywords": ["test_read_and_write_full_file", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019123200002013618}}, {"call": {"outcome": "passed", "duration": 0.0049616949999915505}, "setup": {"outcome": "passed", "duration": 0.00032661200000916324}, "lineno": 292, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_writing_module_tags", "outcome": "passed", "keywords": ["test_writing_module_tags", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018816699997614705}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008189999999785869, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 319, in test_reading_other_module_tags\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036365100001489736}, "lineno": 311, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_other_module_tags", "outcome": "failed", "keywords": ["test_reading_other_module_tags", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018431999998824722}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009597789999986617, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 329, in test_reading_and_writing_full_root_tag\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039238299999055926}, "lineno": 322, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_and_writing_full_root_tag", "outcome": "failed", "keywords": ["test_reading_and_writing_full_root_tag", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018778599999791368}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008836589999816624, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 357, in test_reading_and_writing_full_network_tag\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036424200001761164}, "lineno": 350, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_and_writing_full_network_tag", "outcome": "failed", "keywords": ["test_reading_and_writing_full_network_tag", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019647199999894838}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011279189999982009, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 437, in test_reading_and_writing_full_station_tag\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036132599998950354}, "lineno": 430, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_and_writing_full_station_tag", "outcome": "failed", "keywords": ["test_reading_and_writing_full_station_tag", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001818549999939023}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009335109999994984, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 647, in test_reading_and_writing_channel_with_response\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003847290000180692}, "lineno": 640, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_and_writing_channel_with_response", "outcome": "failed", "keywords": ["test_reading_and_writing_channel_with_response", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018942899998819485}}, {"call": {"outcome": "passed", "duration": 0.006102146000017683}, "setup": {"outcome": "passed", "duration": 0.0005766119999748298}, "lineno": 701, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_stationxml_with_availability", "outcome": "passed", "keywords": ["test_stationxml_with_availability", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001985959999899478}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008050829999888265, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 735, in test_parse_file_with_no_default_namespace\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004183110000042234}, "lineno": 727, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_parse_file_with_no_default_namespace", "outcome": "failed", "keywords": ["test_parse_file_with_no_default_namespace", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020149099998434394}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008158029999947303, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 748, in test_parse_file_with_schema_2\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003835670000000846}, "lineno": 739, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_parse_file_with_schema_2", "outcome": "failed", "keywords": ["test_parse_file_with_schema_2", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018070299998385053}}, {"call": {"outcome": "passed", "duration": 0.065420558999989}, "setup": {"outcome": "passed", "duration": 0.0003431319999833704}, "lineno": 755, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_numbers_are_written_to_poles_and_zeros", "outcome": "passed", "keywords": ["test_numbers_are_written_to_poles_and_zeros", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028836199999204837}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009499109999921984, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 797, in test_write_with_extra_tags_namespace_redef\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000497846999991225}, "lineno": 789, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_write_with_extra_tags_namespace_redef", "outcome": "failed", "keywords": ["test_write_with_extra_tags_namespace_redef", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000237378000008448}}, {"call": {"outcome": "passed", "duration": 0.09688610999998559}, "setup": {"outcome": "passed", "duration": 0.00035963300001640164}, "lineno": 806, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_write_with_extra_tags_without_read_extra", "outcome": "passed", "keywords": ["test_write_with_extra_tags_without_read_extra", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022881200001734214}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009380690000000413, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 922, in test_write_with_extra_tags_and_read\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044798499999387786}, "lineno": 909, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_write_with_extra_tags_and_read", "outcome": "failed", "keywords": ["test_write_with_extra_tags_and_read", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001942979999967065}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000735755999983212, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 1091, in test_reading_file_with_empty_channel_object\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003596530000038456}, "lineno": 1084, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_file_with_empty_channel_object", "outcome": "failed", "keywords": ["test_reading_file_with_empty_channel_object", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018170499998859668}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007345030000180941, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 1104, in test_reading_channel_without_coordinates\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035639699999023833}, "lineno": 1095, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_channel_without_coordinates", "outcome": "failed", "keywords": ["test_reading_channel_without_coordinates", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017616400000974863}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0654207089999943, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 1142, in test_units_during_identity_stage\n    inv_2 = obspy.read_inventory(buf)\n            ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034184000000436754}, "lineno": 1118, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_units_during_identity_stage", "outcome": "failed", "keywords": ["test_units_during_identity_stage", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024000199999818506}}, {"call": {"outcome": "passed", "duration": 0.046540182000001096}, "setup": {"outcome": "passed", "duration": 0.00045324500001697743}, "lineno": 1199, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_full_stationxml_1_0_file", "outcome": "passed", "keywords": ["test_reading_full_stationxml_1_0_file", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002242639999963103}}, {"call": {"outcome": "passed", "duration": 0.009513913999995793}, "setup": {"outcome": "passed", "duration": 0.0004415539999911289}, "lineno": 1211, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_read_with_level", "outcome": "passed", "keywords": ["test_read_with_level", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018664399999579473}}, {"call": {"outcome": "passed", "duration": 0.0022137690000079147}, "setup": {"outcome": "passed", "duration": 0.0003969720000043253}, "lineno": 1246, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_read_basic_responsestage_with_decimation", "outcome": "passed", "keywords": ["test_read_basic_responsestage_with_decimation", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018085300001757787}}, {"call": {"outcome": "passed", "duration": 0.0029652940000062245}, "setup": {"outcome": "passed", "duration": 0.00032401699999695666}, "lineno": 1260, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_do_not_write_None_IO_units", "outcome": "passed", "keywords": ["test_do_not_write_None_IO_units", "filterwarnings", "TestStationXML", "test_stationxml.py", "tests", "stationxml", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00034427400001391106}}, {"call": {"outcome": "failed", "duration": 0.011557028999988006, "longrepr": "013 \n014 Reading\n015 -------\n016 Importing WAV files is done similar to reading any other waveform data\n017 format within ObsPy by using the :func:`~obspy.core.stream.read()` method of\n018 the :mod:`obspy.core` module. Examples seismograms files may be found at\n019 https://examples.obspy.org.\n020 \n021 >>> from obspy import read\n022 >>> st = read(\"/path/to/3cssan.near.8.1.RNON.wav\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.wav[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008445459999961713}, "lineno": 0, "nodeid": "io/wav/__init__.py::obspy.io.wav", "outcome": "failed", "keywords": ["obspy.io.wav", "filterwarnings", "__init__.py", "wav", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019880600001442872}}, {"call": {"outcome": "skipped", "duration": 0.0002097759999912796, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0004790429999843582}, "lineno": 37, "nodeid": "io/wav/core.py::obspy.io.wav.core._is_wav", "outcome": "skipped", "keywords": ["obspy.io.wav.core._is_wav", "filterwarnings", "core.py", "wav", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001986960000124327}}, {"call": {"outcome": "failed", "duration": 0.010514438000001292, "longrepr": "075 \n076     :type filename: str\n077     :param filename: Audio WAV file to be read.\n078     :rtype: :class:`~obspy.core.stream.Stream`\n079     :return: A ObsPy Stream object.\n080 \n081     .. rubric:: Example\n082 \n083     >>> from obspy import read\n084     >>> st = read(\"/path/to/3cssan.near.8.1.RNON.wav\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.wav.core._read_wav[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/core.py:84: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003056030000152532}, "lineno": 65, "nodeid": "io/wav/core.py::obspy.io.wav.core._read_wav", "outcome": "failed", "keywords": ["obspy.io.wav.core._read_wav", "filterwarnings", "core.py", "wav", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000181985000011764}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007968280000056893, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/tests/test_core.py\", line 30, in test_read_via_obspy\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001446626000017659}, "lineno": 23, "nodeid": "io/wav/tests/test_core.py::TestCore::test_read_via_obspy", "outcome": "failed", "keywords": ["test_read_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "wav", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021277199999758523}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007854170000030081, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/tests/test_core.py\", line 43, in test_read_head_via_obspy\n    tr = read(self.file, headonly=True)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004265459999999166}, "lineno": 38, "nodeid": "io/wav/tests/test_core.py::TestCore::test_read_head_via_obspy", "outcome": "failed", "keywords": ["test_read_head_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "wav", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020308399999180438}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00329822899999499, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/tests/test_core.py\", line 67, in test_read_and_write_via_obspy\n    tr3 = read(testfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004260249999958887}, "lineno": 47, "nodeid": "io/wav/tests/test_core.py::TestCore::test_read_and_write_via_obspy", "outcome": "failed", "keywords": ["test_read_and_write_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "wav", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001931360000071436}}, {"call": {"outcome": "passed", "duration": 0.009077158999986068}, "setup": {"outcome": "passed", "duration": 0.0004167280000046958}, "lineno": 70, "nodeid": "io/wav/tests/test_core.py::TestCore::test_rescale_on_write", "outcome": "passed", "keywords": ["test_rescale_on_write", "filterwarnings", "TestCore", "test_core.py", "tests", "wav", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001937670000131675}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0030443610000077115, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/tests/test_core.py\", line 112, in test_write_stream_via_obspy\n    tr30 = read(testfile0)[0]\n           ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004234799999949246}, "lineno": 90, "nodeid": "io/wav/tests/test_core.py::TestCore::test_write_stream_via_obspy", "outcome": "failed", "keywords": ["test_write_stream_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "wav", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003076469999996334}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008303209999951378, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/win/tests/test_core.py\", line 21, in test_read_via_obspy\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0015904409999905056}, "lineno": 14, "nodeid": "io/win/tests/test_core.py::TestCore::test_read_via_obspy", "outcome": "failed", "keywords": ["test_read_via_obspy", "filterwarnings", "TestCore", "test_core.py", "tests", "win", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018109399999843845}}, {"call": {"outcome": "passed", "duration": 0.04708698000001732}, "setup": {"outcome": "passed", "duration": 0.0003369410000004791}, "lineno": 34, "nodeid": "io/win/tests/test_core.py::TestCore::test_read_via_module", "outcome": "passed", "keywords": ["test_read_via_module", "filterwarnings", "TestCore", "test_core.py", "tests", "win", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022221000000399727}}, {"call": {"outcome": "passed", "duration": 0.06478465699998992}, "setup": {"outcome": "passed", "duration": 0.00039540899999224166}, "lineno": 54, "nodeid": "io/win/tests/test_core.py::TestCore::test_read_05_byte_data", "outcome": "passed", "keywords": ["test_read_05_byte_data", "filterwarnings", "TestCore", "test_core.py", "tests", "win", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002418859999977485}}, {"call": {"outcome": "passed", "duration": 0.05226401100000544}, "setup": {"outcome": "passed", "duration": 0.00039322500001048866}, "lineno": 78, "nodeid": "io/win/tests/test_core.py::TestCore::test_read_1kHz_data", "outcome": "passed", "keywords": ["test_read_1kHz_data", "filterwarnings", "TestCore", "test_core.py", "tests", "win", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022537500001362787}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009425069999906555, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/win/tests/test_core.py\", line 89, in test_read_24bit_data\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003924730000051113}, "lineno": 85, "nodeid": "io/win/tests/test_core.py::TestCore::test_read_24bit_data", "outcome": "failed", "keywords": ["test_read_24bit_data", "filterwarnings", "TestCore", "test_core.py", "tests", "win", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002506720000212681}}, {"call": {"outcome": "passed", "duration": 0.02077441700001259}, "setup": {"outcome": "passed", "duration": 0.0010636099999885573}, "lineno": 1, "nodeid": "io/xseed/__init__.py::obspy.io.xseed", "outcome": "passed", "keywords": ["obspy.io.xseed", "filterwarnings", "__init__.py", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021115899997425913}}, {"call": {"outcome": "passed", "duration": 0.011368110999995906}, "setup": {"outcome": "passed", "duration": 0.0005128460000207724}, "lineno": 2462, "nodeid": "io/xseed/parser.py::obspy.io.xseed.parser.is_xseed", "outcome": "passed", "keywords": ["obspy.io.xseed.parser.is_xseed", "filterwarnings", "parser.py", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021532599998863589}}, {"call": {"outcome": "passed", "duration": 0.0005389639999862084}, "setup": {"outcome": "passed", "duration": 0.0009039260000065497}, "lineno": 19, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_invalid_blockette_length", "outcome": "passed", "keywords": ["test_invalid_blockette_length", "filterwarnings", "TestBlockette", "test_blockettes.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000172778999996126}}, {"call": {"outcome": "passed", "duration": 0.03104704899999433}, "setup": {"outcome": "passed", "duration": 0.0004668500000093445}, "lineno": 169, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_all_blockettes", "outcome": "passed", "keywords": ["test_all_blockettes", "filterwarnings", "TestBlockette", "test_blockettes.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002231320000021242}}, {"call": {"outcome": "passed", "duration": 0.003202391999991505}, "setup": {"outcome": "passed", "duration": 0.0004018610000002809}, "lineno": 193, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_all_blockettes_get_resp", "outcome": "passed", "keywords": ["test_all_blockettes_get_resp", "filterwarnings", "TestBlockette", "test_blockettes.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001781189999974231}}, {"call": {"outcome": "passed", "duration": 0.00025024100000337057}, "setup": {"outcome": "passed", "duration": 0.0003016560000048685}, "lineno": 241, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_blockette60_has_blockette_id", "outcome": "passed", "keywords": ["test_blockette60_has_blockette_id", "filterwarnings", "TestBlockette", "test_blockettes.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016856100000950391}}, {"call": {"outcome": "passed", "duration": 0.001797602999999981}, "setup": {"outcome": "passed", "duration": 0.00030524199999604207}, "lineno": 250, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_issue701", "outcome": "passed", "keywords": ["test_issue701", "filterwarnings", "TestBlockette", "test_blockettes.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017828800000074807}}, {"call": {"outcome": "passed", "duration": 0.00029655699998443197}, "setup": {"outcome": "passed", "duration": 0.0003142289999971126}, "lineno": 285, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_equality_and_unequality", "outcome": "passed", "keywords": ["test_equality_and_unequality", "filterwarnings", "TestBlockette", "test_blockettes.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002077320000068994}}, {"call": {"outcome": "passed", "duration": 0.0006854130000135683}, "setup": {"outcome": "passed", "duration": 0.0014288330000056249}, "lineno": 73, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_is_seed", "outcome": "passed", "keywords": ["test_is_seed", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018896799997492053}}, {"call": {"outcome": "passed", "duration": 0.002235730999984753}, "setup": {"outcome": "passed", "duration": 0.0006431150000025809}, "lineno": 86, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_is_xseed", "outcome": "passed", "keywords": ["test_is_xseed", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021226100000149017}}, {"call": {"outcome": "passed", "duration": 0.001587515000011308}, "setup": {"outcome": "passed", "duration": 0.0006403499999976248}, "lineno": 99, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_is_resp", "outcome": "passed", "keywords": ["test_is_resp", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019926699999928132}}, {"call": {"outcome": "passed", "duration": 0.12989585599999032}, "setup": {"outcome": "passed", "duration": 0.0006346290000180943}, "lineno": 112, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_simple_read_resp", "outcome": "passed", "keywords": ["test_simple_read_resp", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002539879999972072}}, {"call": {"outcome": "passed", "duration": 0.8596653889999857}, "setup": {"outcome": "passed", "duration": 0.0007478180000077828}, "lineno": 120, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_simple_read_seed", "outcome": "passed", "keywords": ["test_simple_read_seed", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028224999999793}}, {"call": {"outcome": "passed", "duration": 0.03928209599999377}, "setup": {"outcome": "passed", "duration": 0.0007736860000022716}, "lineno": 131, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_simple_read_xseed", "outcome": "passed", "keywords": ["test_simple_read_xseed", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002831220000132362}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001191955999985339, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 147, in test_read_resp_metadata\n    inv = obspy.read_inventory(filename_a)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008286470000200552}, "lineno": 139, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_read_resp_metadata", "outcome": "failed", "keywords": ["test_read_resp_metadata", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022246000000336608}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001014620999995941, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 292, in test_read_seed_metainformation\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006894010000166872}, "lineno": 285, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_read_seed_metainformation", "outcome": "failed", "keywords": ["test_read_seed_metainformation", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021657900001059716}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009273789999895143, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 404, in test_response_calculation_from_resp_files\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006774290000066685}, "lineno": 382, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_calculation_from_resp_files", "outcome": "failed", "keywords": ["test_response_calculation_from_resp_files", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021267200000352204}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.02129722000000811, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 438, in test_response_calculation_from_seed_and_xseed\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006537350000144215}, "lineno": 415, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_calculation_from_seed_and_xseed", "outcome": "failed", "keywords": ["test_response_calculation_from_seed_and_xseed", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028832099999931415}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00542429600000105, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 515, in test_warning_when_blockette_54_is_not_followed_by_57\n    obspy.read_inventory(filename, skip_invalid_responses=False)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007751089999885608}, "lineno": 506, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_warning_when_blockette_54_is_not_followed_by_57", "outcome": "failed", "keywords": ["test_warning_when_blockette_54_is_not_followed_by_57", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022611700001107238}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004901673999995637, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 548, in test_warning_when_blockette_57_is_not_followed_by_58\n    obspy.read_inventory(filename, skip_invalid_responses=False)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007193060000076912}, "lineno": 539, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_warning_when_blockette_57_is_not_followed_by_58", "outcome": "failed", "keywords": ["test_warning_when_blockette_57_is_not_followed_by_58", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002094559999932244}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 946, "message": "AssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "outcome": "failed", "duration": 0.0008444759999974849, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 567, in test_warning_with_multiple_blockettes_58_in_stage_0\n    obspy.read_inventory(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 566, in test_warning_with_multiple_blockettes_58_in_stage_0\n    with CatchAndAssertWarnings(expected=[(Warning, msg)]):\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 946, in _assert_warnings\n    raise AssertionError(msg % (category.__name__, regex))\nAssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "setup": {"outcome": "passed", "duration": 0.0007090059999939058}, "lineno": 558, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_warning_with_multiple_blockettes_58_in_stage_0", "outcome": "failed", "keywords": ["test_warning_with_multiple_blockettes_58_in_stage_0", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022483499998315892}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 946, "message": "AssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple different blockettes 58 for stage 0. The last one will be chosen - this is a faulty file - try to fix it!)"}, "outcome": "failed", "duration": 0.0008502070000133699, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 579, in test_warning_with_multiple_differing_blockettes_58_in_stage_0\n    obspy.read_inventory(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 578, in test_warning_with_multiple_differing_blockettes_58_in_stage_0\n    with CatchAndAssertWarnings(expected=[(Warning, msg)]):\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 946, in _assert_warnings\n    raise AssertionError(msg % (category.__name__, regex))\nAssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple different blockettes 58 for stage 0. The last one will be chosen - this is a faulty file - try to fix it!)"}, "setup": {"outcome": "passed", "duration": 0.000667940999989014}, "lineno": 568, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_warning_with_multiple_differing_blockettes_58_in_stage_0", "outcome": "failed", "keywords": ["test_warning_with_multiple_differing_blockettes_58_in_stage_0", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002045280000118055}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003138533999987203, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 589, in test_blkts_53_and_54_in_one_stage\n    obspy.read_inventory(filename, skip_invalid_responses=False)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006737220000161415}, "lineno": 580, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_blkts_53_and_54_in_one_stage", "outcome": "failed", "keywords": ["test_blkts_53_and_54_in_one_stage", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020592000001329325}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000988100999990138, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 611, in test_reconstructing_stage_0_from_other_blockettes\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006619689999922684}, "lineno": 599, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_reconstructing_stage_0_from_other_blockettes", "outcome": "failed", "keywords": ["test_reconstructing_stage_0_from_other_blockettes", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020424699999921359}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008200510000051509, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 628, in test_parsing_blockette_62\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010409089999825483}, "lineno": 625, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_parsing_blockette_62", "outcome": "failed", "keywords": ["test_parsing_blockette_62", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021310299999299787}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000837252999986049, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 653, in test_parsing_blockette_62_as_stage_0\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006746839999891563}, "lineno": 647, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_parsing_blockette_62_as_stage_0", "outcome": "failed", "keywords": ["test_parsing_blockette_62_as_stage_0", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023096600000371836}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 946, "message": "AssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "outcome": "failed", "duration": 0.0008824569999887899, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 670, in test_warning_with_no_blockettes_58\n    obspy.read_inventory(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 669, in test_warning_with_no_blockettes_58\n    with CatchAndAssertWarnings(expected=[(Warning, msg)]):\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 946, in _assert_warnings\n    raise AssertionError(msg % (category.__name__, regex))\nAssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "setup": {"outcome": "passed", "duration": 0.0006875969999953213}, "lineno": 661, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_warning_with_no_blockettes_58", "outcome": "failed", "keywords": ["test_warning_with_no_blockettes_58", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002324579999992693}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011200239999880068, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 680, in test_paz_with_no_actual_values\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006884190000278068}, "lineno": 671, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_paz_with_no_actual_values", "outcome": "failed", "keywords": ["test_paz_with_no_actual_values", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022991399998772977}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009230409999929634, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 696, in test_response_of_strain_meter\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000705850999992208}, "lineno": 687, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_of_strain_meter", "outcome": "failed", "keywords": ["test_response_of_strain_meter", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020779199999765297}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008989460000066174, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 717, in test_response_multiple_gain_blockettes\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006422339999971882}, "lineno": 703, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_multiple_gain_blockettes", "outcome": "failed", "keywords": ["test_response_multiple_gain_blockettes", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020377600000642815}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008569489999956659, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 736, in test_response_regression_1\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006457300000022315}, "lineno": 724, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_regression_1", "outcome": "failed", "keywords": ["test_response_regression_1", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021246099998961654}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0029063960000144107, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 758, in test_response_regression_2\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006368539999925815}, "lineno": 743, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_regression_2", "outcome": "failed", "keywords": ["test_response_regression_2", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020821300000761767}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008760639999820796, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 781, in test_response_regression_segfault\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006484649999833891}, "lineno": 762, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_regression_segfault", "outcome": "failed", "keywords": ["test_response_regression_segfault", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022076599998399615}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022603159999903255, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 799, in test_response_lots_zero_frequency_gains\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006844309999962661}, "lineno": 784, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_lots_zero_frequency_gains", "outcome": "failed", "keywords": ["test_response_lots_zero_frequency_gains", "filterwarnings", "TestCore", "test_core.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0004874790000144458}}, {"call": {"outcome": "passed", "duration": 0.0002827120000006289}, "setup": {"outcome": "passed", "duration": 0.0006848820000016076}, "lineno": 13, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_format_exponential", "outcome": "passed", "keywords": ["test_format_exponential", "filterwarnings", "TestFields", "test_fields.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017887999999288695}}, {"call": {"outcome": "passed", "duration": 0.003444228000006433}, "setup": {"outcome": "passed", "duration": 0.00030941100001768973}, "lineno": 17, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_read_date_time", "outcome": "passed", "keywords": ["test_read_date_time", "filterwarnings", "TestFields", "test_fields.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018365799999742194}}, {"call": {"outcome": "passed", "duration": 0.003335327000002053}, "setup": {"outcome": "passed", "duration": 0.00032116099998802383}, "lineno": 75, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_read_compact_date_time", "outcome": "passed", "keywords": ["test_read_compact_date_time", "filterwarnings", "TestFields", "test_fields.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001854409999850759}}, {"call": {"outcome": "passed", "duration": 0.000276941000009856}, "setup": {"outcome": "passed", "duration": 0.00030266699999970115}, "lineno": 152, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_wrong_spaces", "outcome": "passed", "keywords": ["test_wrong_spaces", "filterwarnings", "TestFields", "test_fields.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001601559999926394}}, {"call": {"outcome": "passed", "duration": 0.001317077999999583}, "setup": {"outcome": "passed", "duration": 0.0003028179999944314}, "lineno": 161, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_fixed_string_any_punctuation", "outcome": "passed", "keywords": ["test_fixed_string_any_punctuation", "filterwarnings", "TestFields", "test_fields.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016985299998850678}}, {"call": {"outcome": "passed", "duration": 0.0006099139999946601}, "setup": {"outcome": "passed", "duration": 0.0002892130000020643}, "lineno": 171, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_variable_string_any_punctuation", "outcome": "passed", "keywords": ["test_variable_string_any_punctuation", "filterwarnings", "TestFields", "test_fields.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017728700001384823}}, {"call": {"outcome": "passed", "duration": 0.006243036000000757}, "setup": {"outcome": "passed", "duration": 0.0012051209999981438}, "lineno": 34, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue165", "outcome": "passed", "keywords": ["test_issue165", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021757099997898877}}, {"call": {"outcome": "passed", "duration": 0.00038263500002244655}, "setup": {"outcome": "passed", "duration": 0.00045969699999659497}, "lineno": 54, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_invalid_start_header", "outcome": "passed", "keywords": ["test_invalid_start_header", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018387899999083857}}, {"call": {"outcome": "passed", "duration": 0.00033446599999820137}, "setup": {"outcome": "passed", "duration": 0.00041607700001122794}, "lineno": 63, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_invalid_start_blockette", "outcome": "passed", "keywords": ["test_invalid_start_blockette", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017774799999870083}}, {"call": {"outcome": "passed", "duration": 0.0017994860000101198}, "setup": {"outcome": "passed", "duration": 0.00042725700001255973}, "lineno": 72, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_newline_between_blockettes", "outcome": "passed", "keywords": ["test_newline_between_blockettes", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020096099999022954}}, {"call": {"outcome": "passed", "duration": 0.007798492000006263}, "setup": {"outcome": "passed", "duration": 0.0004482459999906041}, "lineno": 81, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_string", "outcome": "passed", "keywords": ["test_string", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022033599998394493}}, {"call": {"outcome": "passed", "duration": 0.007818087999993395}, "setup": {"outcome": "passed", "duration": 0.00046373500001095636}, "lineno": 102, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_get_inventory", "outcome": "passed", "keywords": ["test_get_inventory", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023577400000363014}}, {"call": {"outcome": "passed", "duration": 0.0004035030000011375}, "setup": {"outcome": "passed", "duration": 0.00045539999999277825}, "lineno": 141, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_non_existing_file_name", "outcome": "passed", "keywords": ["test_non_existing_file_name", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019087199999034965}}, {"call": {"outcome": "passed", "duration": 0.0018720700000187662}, "setup": {"outcome": "passed", "duration": 0.0004141329999924892}, "lineno": 148, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_blockette_starts_after_record", "outcome": "passed", "keywords": ["test_blockette_starts_after_record", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026528899999789246}}, {"call": {"outcome": "passed", "duration": 0.002904593000010891}, "setup": {"outcome": "passed", "duration": 0.0004307340000195836}, "lineno": 171, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_multiple_continued_station_control_header", "outcome": "passed", "keywords": ["test_multiple_continued_station_control_header", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018706399998791312}}, {"call": {"outcome": "passed", "duration": 0.0006209439999906863}, "setup": {"outcome": "passed", "duration": 0.000431645999981356}, "lineno": 218, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_blockette_longer_than_record_length", "outcome": "passed", "keywords": ["test_blockette_longer_than_record_length", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017809799999213283}}, {"call": {"outcome": "passed", "duration": 0.04799565500002245}, "setup": {"outcome": "passed", "duration": 0.0005720540000027086}, "lineno": 250, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_read_and_write_seed", "outcome": "passed", "keywords": ["test_read_and_write_seed", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028258099999334263}}, {"call": {"outcome": "passed", "duration": 0.38865226900000494}, "setup": {"outcome": "passed", "duration": 0.0005348459999936495}, "lineno": 283, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_create_read_assert_and_write_xseed", "outcome": "passed", "keywords": ["test_create_read_assert_and_write_xseed", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027190200000859477}}, {"call": {"outcome": "passed", "duration": 0.002989589999998543}, "setup": {"outcome": "passed", "duration": 0.0005289149999896381}, "lineno": 327, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_read_full_seed", "outcome": "passed", "keywords": ["test_read_full_seed", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021566699999198136}}, {"call": {"outcome": "passed", "duration": 0.08557427200000234}, "setup": {"outcome": "passed", "duration": 0.0004784520000100656}, "lineno": 342, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_get_paz", "outcome": "passed", "keywords": ["test_get_paz", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002799660000221138}}, {"call": {"outcome": "passed", "duration": 0.03853941799999916}, "setup": {"outcome": "passed", "duration": 0.0005552529999874878}, "lineno": 461, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_get_paz_from_xseed", "outcome": "passed", "keywords": ["test_get_paz_from_xseed", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002795750000075259}}, {"call": {"outcome": "passed", "duration": 0.1075603320000198}, "setup": {"outcome": "passed", "duration": 0.0005285440000193375}, "lineno": 479, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_get_coordinates", "outcome": "passed", "keywords": ["test_get_coordinates", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027893399999356916}}, {"call": {"outcome": "passed", "duration": 0.021856821999989506}, "setup": {"outcome": "passed", "duration": 0.0005524590000050011}, "lineno": 506, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_select_does_not_change_the_parser_format", "outcome": "passed", "keywords": ["test_select_does_not_change_the_parser_format", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002918080000142709}}, {"call": {"outcome": "passed", "duration": 0.034425314999992906}, "setup": {"outcome": "passed", "duration": 0.0005410770000082721}, "lineno": 516, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_create_resp_from_xseed", "outcome": "passed", "keywords": ["test_create_resp_from_xseed", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027594899998462097}}, {"call": {"outcome": "passed", "duration": 0.03164171500000634}, "setup": {"outcome": "passed", "duration": 0.0005554340000060165}, "lineno": 545, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_read_resp", "outcome": "passed", "keywords": ["test_read_resp", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002811580000070535}}, {"call": {"outcome": "passed", "duration": 0.03155257099999176}, "setup": {"outcome": "passed", "duration": 0.0005278830000179369}, "lineno": 559, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_read_resp_data", "outcome": "passed", "keywords": ["test_read_resp_data", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028515500000025895}}, {"call": {"outcome": "passed", "duration": 0.010810563999996248}, "setup": {"outcome": "passed", "duration": 0.0005406260000029306}, "lineno": 575, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_read_resp_paz_uncertainties", "outcome": "passed", "keywords": ["test_read_resp_paz_uncertainties", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002457829999968908}}, {"call": {"outcome": "passed", "duration": 0.012352163999992172}, "setup": {"outcome": "passed", "duration": 0.0004942500000026939}, "lineno": 609, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_resp_round_trip", "outcome": "passed", "keywords": ["test_resp_round_trip", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025368699999717137}}, {"call": {"outcome": "passed", "duration": 0.0017395469999996749}, "setup": {"outcome": "passed", "duration": 0.0004878089999920121}, "lineno": 629, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_compare_blockettes", "outcome": "passed", "keywords": ["test_compare_blockettes", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002130430000022443}}, {"call": {"outcome": "passed", "duration": 0.0015938669999968624}, "setup": {"outcome": "passed", "duration": 0.00043425999999158194}, "lineno": 650, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_missing_required_date_times", "outcome": "passed", "keywords": ["test_missing_required_date_times", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001895589999776348}}, {"call": {"outcome": "passed", "duration": 0.019462328000003026}, "setup": {"outcome": "passed", "duration": 0.0004164880000132598}, "lineno": 682, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue_298a", "outcome": "passed", "keywords": ["test_issue_298a", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003137989999970614}}, {"call": {"outcome": "passed", "duration": 0.03295543600000883}, "setup": {"outcome": "passed", "duration": 0.0005326309999986734}, "lineno": 690, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue_298b", "outcome": "passed", "keywords": ["test_issue_298b", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00033991600000149447}}, {"call": {"outcome": "passed", "duration": 0.011249483000000282}, "setup": {"outcome": "passed", "duration": 0.0005494430000112516}, "lineno": 698, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue_319", "outcome": "passed", "keywords": ["test_issue_319", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022532500000238542}}, {"call": {"outcome": "passed", "duration": 0.015091593000022385}, "setup": {"outcome": "passed", "duration": 0.0004722300000139512}, "lineno": 717, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue_157", "outcome": "passed", "keywords": ["test_issue_157", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022339099999157952}}, {"call": {"outcome": "passed", "duration": 0.022568062999994254}, "setup": {"outcome": "passed", "duration": 0.0004761269999846718}, "lineno": 740, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue_358", "outcome": "passed", "keywords": ["test_issue_358", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002549999999814645}}, {"call": {"outcome": "passed", "duration": 0.005631368000024395}, "setup": {"outcome": "passed", "duration": 0.0004984990000025391}, "lineno": 750, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue_361", "outcome": "passed", "keywords": ["test_issue_361", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021472500000641048}}, {"call": {"outcome": "passed", "duration": 0.021192748000004258}, "setup": {"outcome": "passed", "duration": 0.0004629729999976462}, "lineno": 769, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_split_stations_dataless_to_xseed", "outcome": "passed", "keywords": ["test_split_stations_dataless_to_xseed", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002635849999990114}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009970179999925222, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_parser.py\", line 789, in test_rotation_to_zne\n    st = read(testdata[\"II_COCO_three_channel_borehole.mseed\"])\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005294659999890428}, "lineno": 784, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_rotation_to_zne", "outcome": "failed", "keywords": ["test_rotation_to_zne", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022048600001767227}}, {"call": {"outcome": "passed", "duration": 0.002456367000007731}, "setup": {"outcome": "passed", "duration": 0.00044598199997381016}, "lineno": 830, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_underline_in_site_name", "outcome": "passed", "keywords": ["test_underline_in_site_name", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019717300000365867}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.02005056300001229, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_parser.py\", line 858, in test_parsing_resp_file_without_clear_blkt_separation\n    obs_r = obspy.read_inventory(filename)[0][0][0].response\\\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042181700001719946}, "lineno": 840, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_parsing_resp_file_without_clear_blkt_separation", "outcome": "failed", "keywords": ["test_parsing_resp_file_without_clear_blkt_separation", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027886300000545816}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010487330000046313, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_parser.py\", line 868, in test_parsing_resp_file_with_mutiple_blockette55\n    inv_xml = obspy.read_inventory(testdata['issue3275.xml'])\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005154300000071999}, "lineno": 863, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_parsing_resp_file_with_mutiple_blockette55", "outcome": "failed", "keywords": ["test_parsing_resp_file_with_mutiple_blockette55", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0006318040000223846}}, {"call": {"outcome": "passed", "duration": 0.011753000999988217}, "setup": {"outcome": "passed", "duration": 0.0012583589999906053}, "lineno": 28, "nodeid": "io/xseed/tests/test_scripts.py::TestScript::test_dataless2resp", "outcome": "passed", "keywords": ["test_dataless2resp", "filterwarnings", "TestScript", "test_scripts.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024938999999335465}}, {"call": {"outcome": "passed", "duration": 0.011804434999987734}, "setup": {"outcome": "passed", "duration": 0.0005281830000001264}, "lineno": 44, "nodeid": "io/xseed/tests/test_scripts.py::TestScript::test_dataless2resp_zipped", "outcome": "passed", "keywords": ["test_dataless2resp_zipped", "filterwarnings", "TestScript", "test_scripts.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022610700000313955}}, {"call": {"outcome": "passed", "duration": 0.018534007999988944}, "setup": {"outcome": "passed", "duration": 0.00048103599999649305}, "lineno": 68, "nodeid": "io/xseed/tests/test_scripts.py::TestScript::test_dataless2xseed", "outcome": "passed", "keywords": ["test_dataless2xseed", "filterwarnings", "TestScript", "test_scripts.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027859400000807}}, {"call": {"outcome": "passed", "duration": 0.049182353000020385}, "setup": {"outcome": "passed", "duration": 0.0005321909999906893}, "lineno": 87, "nodeid": "io/xseed/tests/test_scripts.py::TestScript::test_dataless2xseed_split", "outcome": "passed", "keywords": ["test_dataless2xseed_split", "filterwarnings", "TestScript", "test_scripts.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027323300000148265}}, {"call": {"outcome": "passed", "duration": 0.047975317000009454}, "setup": {"outcome": "passed", "duration": 0.00047673900002109804}, "lineno": 112, "nodeid": "io/xseed/tests/test_scripts.py::TestScript::test_xseed2dataless", "outcome": "passed", "keywords": ["test_xseed2dataless", "filterwarnings", "TestScript", "test_scripts.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000353881999984651}}, {"call": {"outcome": "passed", "duration": 0.00024397999999337117}, "setup": {"outcome": "passed", "duration": 0.0004480759999978545}, "lineno": 10, "nodeid": "io/xseed/tests/test_utils.py::TestUtils::test_to_tag", "outcome": "passed", "keywords": ["test_to_tag", "filterwarnings", "TestUtils", "test_utils.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016800000000216642}}, {"call": {"outcome": "passed", "duration": 0.0006528730000070482}, "setup": {"outcome": "passed", "duration": 0.0002981890000057774}, "lineno": 14, "nodeid": "io/xseed/tests/test_utils.py::TestUtils::test_datetime_to_string", "outcome": "passed", "keywords": ["test_datetime_to_string", "filterwarnings", "TestUtils", "test_utils.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001702440000030947}}, {"call": {"outcome": "passed", "duration": 0.00046418599998787613}, "setup": {"outcome": "passed", "duration": 0.00028690899998196073}, "lineno": 32, "nodeid": "io/xseed/tests/test_utils.py::TestUtils::test_datetime_to_string_compact", "outcome": "passed", "keywords": ["test_datetime_to_string_compact", "filterwarnings", "TestUtils", "test_utils.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016829000000484484}}, {"call": {"outcome": "passed", "duration": 0.003959426999983862}, "setup": {"outcome": "passed", "duration": 0.0003083889999970779}, "lineno": 44, "nodeid": "io/xseed/tests/test_utils.py::TestUtils::test_is_resp", "outcome": "passed", "keywords": ["test_is_resp", "filterwarnings", "TestUtils", "test_utils.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000182625999997299}}, {"call": {"outcome": "skipped", "duration": 0.00022766999998680149, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.000789405000006127}, "lineno": 104, "nodeid": "io/y/core.py::obspy.io.y.core._is_y", "outcome": "skipped", "keywords": ["obspy.io.y.core._is_y", "filterwarnings", "core.py", "y", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016343199999369062}}, {"call": {"outcome": "failed", "duration": 0.012292774999991707, "longrepr": "140     :type headonly: bool, optional\n141     :param headonly: If set to True, read only the head. This is most useful\n142         for scanning available data in huge (temporary) data sets.\n143     :rtype: :class:`~obspy.core.stream.Stream`\n144     :return: A ObsPy Stream object.\n145 \n146     .. rubric:: Example\n147 \n148     >>> from obspy import read\n149     >>> st = read(\"/path/to/YAYT_BHZ_20021223.124800\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.y.core._read_y[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/y/core.py:149: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031163399998490604}, "lineno": 130, "nodeid": "io/y/core.py::obspy.io.y.core._read_y", "outcome": "failed", "keywords": ["obspy.io.y.core._read_y", "filterwarnings", "core.py", "y", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020990699999856588}}, {"call": {"outcome": "passed", "duration": 0.00030615500000408247}, "setup": {"outcome": "passed", "duration": 0.0011759670000230926}, "lineno": 10, "nodeid": "io/y/tests/test_core.py::TestCore::test_is_y_file", "outcome": "passed", "keywords": ["test_is_y_file", "filterwarnings", "TestCore", "test_core.py", "tests", "y", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018982000000278276}}, {"call": {"outcome": "passed", "duration": 0.002910584000005656}, "setup": {"outcome": "passed", "duration": 0.00033044899998913024}, "lineno": 19, "nodeid": "io/y/tests/test_core.py::TestCore::test_read_y_file", "outcome": "passed", "keywords": ["test_read_y_file", "filterwarnings", "TestCore", "test_core.py", "tests", "y", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001784789999987879}}, {"call": {"outcome": "passed", "duration": 0.00097665999999208}, "setup": {"outcome": "passed", "duration": 0.00033068999999841253}, "lineno": 36, "nodeid": "io/y/tests/test_core.py::TestCore::test_ignore_non_ascii_tag_station_info", "outcome": "passed", "keywords": ["test_ignore_non_ascii_tag_station_info", "filterwarnings", "TestCore", "test_core.py", "tests", "y", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024418099999934384}}, {"call": {"outcome": "failed", "duration": 0.012192621000025383, "longrepr": "013 \n014 \n015 Usage Example\n016 -------------\n017 \n018 The ZMAP reader and writer hooks into the standard ObsPy event handling\n019 mechanisms including format autodetection.\n020 \n021 >>> from obspy.core.event import read_events\n022 >>> cat = read_events('/path/to/zmap_events.txt')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.zmap[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007901660000015909}, "lineno": 1, "nodeid": "io/zmap/__init__.py::obspy.io.zmap", "outcome": "failed", "keywords": ["obspy.io.zmap", "filterwarnings", "__init__.py", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021185999997896943}}, {"call": {"outcome": "passed", "duration": 0.01030248800000777}, "setup": {"outcome": "passed", "duration": 0.0007096669999953065}, "lineno": 342, "nodeid": "io/zmap/core.py::obspy.io.zmap.core._is_zmap", "outcome": "passed", "keywords": ["obspy.io.zmap.core._is_zmap", "filterwarnings", "core.py", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020349500002225795}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001831976999994822, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 36, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_serialize", "outcome": "error", "keywords": ["test_serialize", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020259400000099959}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008697929999925691, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 58, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_plugin_interface", "outcome": "error", "keywords": ["test_plugin_interface", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019139300002279924}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008628909999970347, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 68, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_dump_to_file", "outcome": "error", "keywords": ["test_dump_to_file", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002042170000038368}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008694619999971565, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 78, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_dump_to_filename", "outcome": "error", "keywords": ["test_dump_to_filename", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002042559999893001}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008676189999903272, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 88, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_dump_with_uncertainty", "outcome": "error", "keywords": ["test_dump_with_uncertainty", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002247850000003382}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009153579999860995, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 99, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_ou_hz_error", "outcome": "error", "keywords": ["test_ou_hz_error", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020655099999089543}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010300389999997606, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 119, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_lat_lon_hz_error", "outcome": "error", "keywords": ["test_lat_lon_hz_error", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021316300001217314}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000870644000002585, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 133, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_is_zmap", "outcome": "error", "keywords": ["test_is_zmap", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022392300002138654}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009063599999876715, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 174, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_is_zmap_binary_files", "outcome": "error", "keywords": ["test_is_zmap_binary_files", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020042899998884423}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008702029999767547, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 183, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_deserialize", "outcome": "error", "keywords": ["test_deserialize", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002076629999976376}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008976539999991928, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 211, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_read", "outcome": "error", "keywords": ["test_read", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002045669999972688}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008930259999999635, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 228, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_read_float_seconds", "outcome": "error", "keywords": ["test_read_float_seconds", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020425700000714642}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000904035999980124, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 306, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_no_origin_depth", "outcome": "error", "keywords": ["test_no_origin_depth", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003871639999886156}}, {"call": {"outcome": "failed", "duration": 0.012518380999978262, "longrepr": "058     RtTrace object (step 3) which will automatically process any appended data\n059     chunks.\n060 \n061     1. Read first trace of example SAC data file and extract contained time\n062        offset and epicentral distance of an earthquake::\n063 \n064         >>> from obspy.realtime import RtTrace\n065         >>> from obspy import read\n066         >>> from obspy.realtime.signal import calculate_mwp_mag\n067         >>> data_trace = read(\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.realtime.rttrace.RtTrace[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/realtime/rttrace.py:67: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007462849999910759}, "lineno": 36, "nodeid": "realtime/rttrace.py::obspy.realtime.rttrace.RtTrace", "outcome": "failed", "keywords": ["obspy.realtime.rttrace.RtTrace", "filterwarnings", "rttrace.py", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002252150000003894}}, {"call": {"outcome": "passed", "duration": 0.0006317839999780972}, "setup": {"outcome": "passed", "duration": 0.0008012769999936609}, "lineno": 18, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_eq", "outcome": "passed", "keywords": ["test_eq", "filterwarnings", "TestRtTrace", "test_rttrace.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016429300001163938}}, {"call": {"outcome": "passed", "duration": 0.0005029169999772876}, "setup": {"outcome": "passed", "duration": 0.00030199699997979224}, "lineno": 31, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_ne", "outcome": "passed", "keywords": ["test_ne", "filterwarnings", "TestRtTrace", "test_rttrace.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016153800001461605}}, {"call": {"outcome": "passed", "duration": 0.0005655629999807843}, "setup": {"outcome": "passed", "duration": 0.00033466700000417404}, "lineno": 44, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_register_rt_process", "outcome": "passed", "keywords": ["test_register_rt_process", "filterwarnings", "TestRtTrace", "test_rttrace.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001634609999996428}}, {"call": {"outcome": "passed", "duration": 0.000964717999977438}, "setup": {"outcome": "passed", "duration": 0.000281829000016387}, "lineno": 83, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_append_sanity_checks", "outcome": "passed", "keywords": ["test_append_sanity_checks", "filterwarnings", "TestRtTrace", "test_rttrace.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001644839999812575}}, {"call": {"outcome": "passed", "duration": 0.0006023999999911211}, "setup": {"outcome": "passed", "duration": 0.0002901949999909448}, "lineno": 125, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_append_overlap", "outcome": "passed", "keywords": ["test_append_overlap", "filterwarnings", "TestRtTrace", "test_rttrace.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001794610000160901}}, {"call": {"outcome": "passed", "duration": 0.0006805839999799446}, "setup": {"outcome": "passed", "duration": 0.0002788030000147046}, "lineno": 141, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_append_gap", "outcome": "passed", "keywords": ["test_append_gap", "filterwarnings", "TestRtTrace", "test_rttrace.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001591029999872262}}, {"call": {"outcome": "passed", "duration": 0.0007791659999725198}, "setup": {"outcome": "passed", "duration": 0.0002803470000003472}, "lineno": 159, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_copy", "outcome": "passed", "keywords": ["test_copy", "filterwarnings", "TestRtTrace", "test_rttrace.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001604360000158067}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022649940000007973, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/realtime/tests/test_rttrace.py\", line 181, in test_append_not_float32\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002812680000090495}, "lineno": 176, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_append_not_float32", "outcome": "failed", "keywords": ["test_append_not_float32", "filterwarnings", "TestRtTrace", "test_rttrace.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018274699999665245}}, {"call": {"outcome": "passed", "duration": 0.002164329000009957}, "setup": {"outcome": "passed", "duration": 0.00031814599998369886}, "lineno": 187, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_missing_or_wrong_argument_in_rt_process", "outcome": "passed", "keywords": ["test_missing_or_wrong_argument_in_rt_process", "filterwarnings", "TestRtTrace", "test_rttrace.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017835899998885907}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.011297562000009975, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/copy.py\", line 247, in _reconstruct\n    def _reconstruct(x, memo, func, args,\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0055641049999906045}, "lineno": 39, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_square", "outcome": "failed", "keywords": ["test_square", "filterwarnings", "TestRealTimeSignal", "test_signal.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025786599999833015}}, {"call": {"outcome": "passed", "duration": 0.014673483999985137}, "setup": {"outcome": "passed", "duration": 0.005145574000010811}, "lineno": 52, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_integrate", "outcome": "passed", "keywords": ["test_integrate", "filterwarnings", "TestRealTimeSignal", "test_signal.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025311599998190104}}, {"call": {"outcome": "passed", "duration": 0.013483269000005293}, "setup": {"outcome": "passed", "duration": 0.005181399000008469}, "lineno": 65, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_differentiate", "outcome": "passed", "keywords": ["test_differentiate", "filterwarnings", "TestRealTimeSignal", "test_signal.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024443000000928805}}, {"call": {"outcome": "passed", "duration": 0.031868553999998994}, "setup": {"outcome": "passed", "duration": 0.0051349139999956606}, "lineno": 78, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_boxcar", "outcome": "passed", "keywords": ["test_boxcar", "filterwarnings", "TestRealTimeSignal", "test_signal.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002628040000161036}}, {"call": {"outcome": "passed", "duration": 0.0023054780000109076}, "setup": {"outcome": "passed", "duration": 0.005233163999974977}, "lineno": 94, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_scale", "outcome": "passed", "keywords": ["test_scale", "filterwarnings", "TestRealTimeSignal", "test_signal.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021974499998123065}}, {"call": {"outcome": "passed", "duration": 0.0023134039999774814}, "setup": {"outcome": "passed", "duration": 0.005020942999976796}, "lineno": 110, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_offset", "outcome": "passed", "keywords": ["test_offset", "filterwarnings", "TestRealTimeSignal", "test_signal.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021014700001842357}}, {"call": {"outcome": "passed", "duration": 0.047927278999992495}, "setup": {"outcome": "passed", "duration": 0.004918674999998984}, "lineno": 126, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_kurtosis", "outcome": "passed", "keywords": ["test_kurtosis", "filterwarnings", "TestRealTimeSignal", "test_signal.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026184200001466706}}, {"call": {"outcome": "passed", "duration": 0.01056532200001925}, "setup": {"outcome": "passed", "duration": 0.005236241000005748}, "lineno": 140, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_abs", "outcome": "passed", "keywords": ["test_abs", "filterwarnings", "TestRealTimeSignal", "test_signal.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023292999998147934}}, {"call": {"outcome": "passed", "duration": 0.052324212000002035}, "setup": {"outcome": "passed", "duration": 0.0054253189999826645}, "lineno": 155, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_tauc", "outcome": "passed", "keywords": ["test_tauc", "filterwarnings", "TestRealTimeSignal", "test_signal.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002672420000067177}}, {"call": {"outcome": "passed", "duration": 0.00785969599999703}, "setup": {"outcome": "passed", "duration": 0.005250958000004857}, "lineno": 171, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_mwp_integral", "outcome": "passed", "keywords": ["test_mwp_integral", "filterwarnings", "TestRealTimeSignal", "test_signal.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021512699998993412}}, {"call": {"outcome": "passed", "duration": 0.02076630299998783}, "setup": {"outcome": "passed", "duration": 0.004912663999988354}, "lineno": 189, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_mwp", "outcome": "passed", "keywords": ["test_mwp", "filterwarnings", "TestRealTimeSignal", "test_signal.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024984000000927153}}, {"call": {"outcome": "passed", "duration": 0.027012955000003558}, "setup": {"outcome": "passed", "duration": 0.0050739410000062435}, "lineno": 211, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_combined", "outcome": "passed", "keywords": ["test_combined", "filterwarnings", "TestRealTimeSignal", "test_signal.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00044196400000373615}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016483679999907963, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/scripts/tests/test_print.py\", line 18, in test_print\n    obspy_print(all_files)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/scripts/print.py\", line 31, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0013594950000026529}, "lineno": 15, "nodeid": "scripts/tests/test_print.py::TestPrint::test_print", "outcome": "failed", "keywords": ["test_print", "filterwarnings", "TestPrint", "test_print.py", "tests", "scripts", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018011200000955796}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015100629999835746, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/scripts/tests/test_print.py\", line 27, in test_print_nomerge\n    obspy_print(['--no-merge'] + all_files)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/scripts/print.py\", line 31, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036776800001803167}, "lineno": 24, "nodeid": "scripts/tests/test_print.py::TestPrint::test_print_nomerge", "outcome": "failed", "keywords": ["test_print_nomerge", "filterwarnings", "TestPrint", "test_print.py", "tests", "scripts", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002644669999938287}}, {"call": {"outcome": "failed", "duration": 0.006346987000000581, "longrepr": "031     :class:`numpy.ndarray`) and therefore the ``sampling_rate`` needs to be\n032     also specified. It returns the filtered data.  For\n033     :class:`~obspy.core.stream.Stream` and :class:`~obspy.core.trace.Trace`\n034     objects simply use their respective filtering methods\n035     :meth:`Stream.filter() <obspy.core.stream.Stream.filter>` and\n036     :meth:`Trace.filter() <obspy.core.trace.Trace.filter>`.\n037 \n038 >>> from obspy import read\n039 >>> import obspy.signal\n040 >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/__init__.py:40: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0009787829999936548}, "lineno": 1, "nodeid": "signal/__init__.py::obspy.signal", "outcome": "failed", "keywords": ["obspy.signal", "filterwarnings", "__init__.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001954900000100679}}, {"call": {"outcome": "failed", "duration": 0.005878875000007611, "longrepr": "123             bbbbbbbb\n124 \n125         For odd ``len(a)-len(b)`` the cross-correlation function will\n126         consist of only ``2*shift`` samples because a shift of 0\n127         corresponds to the middle between two samples.\n128 \n129     .. rubric:: Example\n130 \n131     >>> from obspy import read\n132     >>> a = read()[0][450:550]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlate[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:132: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00043007200000033663}, "lineno": 67, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.correlate", "outcome": "failed", "keywords": ["obspy.signal.cross_correlation.correlate", "filterwarnings", "cross_correlation.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001745320000168249}}, {"call": {"outcome": "failed", "duration": 0.006347478000009232, "longrepr": "823 \n824         Use :func:`~obspy.signal.cross_correlation.correlation_detector`\n825         for detecting events based on their similarity.\n826         The returned stream of cross-correlations is suitable for\n827         use with :func:`~obspy.signal.trigger.coincidence_trigger`, though.\n828 \n829     .. rubric:: Example\n830 \n831     >>> from obspy import read, UTCDateTime\n832     >>> data = read().filter('highpass', freq=5)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlate_stream_template[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:832: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032703300001912794}, "lineno": 802, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.correlate_stream_template", "outcome": "error", "keywords": ["obspy.signal.cross_correlation.correlate_stream_template", "filterwarnings", "cross_correlation.py", "signal", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00022778999999673033, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 463, in _read_gzip_header\n    |     def _read_gzip_header(fp):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/gzip.py\", line 463, in _read_gzip_header\n    |     def _read_gzip_header(fp):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"outcome": "failed", "duration": 0.005753984999984141, "longrepr": "223     .. note::\n224         Calling the function with ``demean=True, normalize='full'`` (default)\n225         returns the zero-normalized cross-correlation function.\n226         Calling the function with ``demean=False, normalize='full'``\n227         returns the normalized cross-correlation function.\n228 \n229     .. rubric:: Example\n230 \n231     >>> from obspy import read\n232     >>> data = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlate_template[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:232: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034501599998293386}, "lineno": 187, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.correlate_template", "outcome": "failed", "keywords": ["obspy.signal.cross_correlation.correlate_template", "filterwarnings", "cross_correlation.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019550000001800072}}, {"call": {"outcome": "failed", "duration": 0.005696658999994497, "longrepr": "1038         time, similarity, template_id,\n1039         amplitude_ratio, magnitude (if template_magnitudes is provided),\n1040         template_name (if template_names is provided),\n1041         cross-correlation values, properties returned by find_peaks\n1042         (if details are requested)\n1043 \n1044     .. rubric:: Example\n1045 \n1046     >>> from obspy import read, UTCDateTime\n1047     >>> data = read().filter('highpass', freq=5)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlation_detector[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:1047: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003203100000064296}, "lineno": 986, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.correlation_detector", "outcome": "failed", "keywords": ["obspy.signal.cross_correlation.correlation_detector", "filterwarnings", "cross_correlation.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019949800000063078}}, {"call": {"outcome": "failed", "duration": 0.006299800999983063, "longrepr": "638     - computes cross correlation on each component (one stream serves as\n639       template, one as a longer search stream)\n640     - stack all three and determine best shift in stack\n641     - normalization is a bit problematic so compute the correlation coefficient\n642       afterwards for the best shift to make sure the result is between 0 and 1.\n643 \n644     >>> from obspy import read, UTCDateTime\n645     >>> import numpy as np\n646     >>> np.random.seed(123)  # make test reproducible\n647     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.templates_max_similarity[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:647: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003360199999917768}, "lineno": 622, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.templates_max_similarity", "outcome": "error", "keywords": ["obspy.signal.cross_correlation.templates_max_similarity", "filterwarnings", "cross_correlation.py", "signal", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00022216000002117653, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    |     return compile(source, filename, mode, flags,\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    |     return compile(source, filename, mode, flags,\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"outcome": "passed", "duration": 0.0032811470000240206}, "setup": {"outcome": "passed", "duration": 0.00034384400001385984}, "lineno": 367, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.xcorr_max", "outcome": "passed", "keywords": ["obspy.signal.cross_correlation.xcorr_max", "filterwarnings", "cross_correlation.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017992200000094272}}, {"call": {"outcome": "failed", "duration": 0.005957709000000477, "longrepr": "076 \n077 \n078     .. rubric:: Example\n079 \n080     >>> import obspy\n081     >>> from obspy.signal.detrend import polynomial\n082 \n083     Prepare some example data.\n084 \n085     >>> tr = obspy.read()[0].filter(\"highpass\", freq=2)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.detrend.polynomial[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/detrend.py:85: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00045343600001501727}, "lineno": 60, "nodeid": "signal/detrend.py::obspy.signal.detrend.polynomial", "outcome": "failed", "keywords": ["obspy.signal.detrend.polynomial", "filterwarnings", "detrend.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018855700000131037}}, {"call": {"outcome": "failed", "duration": 0.005761688999996295, "longrepr": "139 \n140 \n141     .. rubric:: Example\n142 \n143     >>> import obspy\n144     >>> from obspy.signal.detrend import spline\n145 \n146     Prepare some example data.\n147 \n148     >>> tr = obspy.read()[0].filter(\"highpass\", freq=2)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.detrend.spline[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/detrend.py:148: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034736099999577164}, "lineno": 119, "nodeid": "signal/detrend.py::obspy.signal.detrend.spline", "outcome": "error", "keywords": ["obspy.signal.detrend.spline", "filterwarnings", "detrend.py", "signal", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00021243199998366435, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/textwrap.py\", line 470, in indent\n    def indent(text, prefix, predicate=None):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "passed", "duration": 0.0032610899999951926}, "setup": {"outcome": "passed", "duration": 0.00047712900001783964}, "lineno": 50, "nodeid": "signal/invsim.py::obspy.signal.invsim.cosine_taper", "outcome": "passed", "keywords": ["obspy.signal.invsim.cosine_taper", "filterwarnings", "invsim.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001818150000190144}}, {"call": {"outcome": "passed", "duration": 0.0029728590000104305}, "setup": {"outcome": "passed", "duration": 0.00032613100000844497}, "lineno": 642, "nodeid": "signal/invsim.py::obspy.signal.invsim.estimate_magnitude", "outcome": "passed", "keywords": ["obspy.signal.invsim.estimate_magnitude", "filterwarnings", "invsim.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020206199999961427}}, {"call": {"outcome": "passed", "duration": 0.0027096739999876718}, "setup": {"outcome": "passed", "duration": 0.00030710599997973986}, "lineno": 614, "nodeid": "signal/invsim.py::obspy.signal.invsim.paz_2_amplitude_value_of_freq_resp", "outcome": "passed", "keywords": ["obspy.signal.invsim.paz_2_amplitude_value_of_freq_resp", "filterwarnings", "invsim.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019618199999626995}}, {"call": {"outcome": "skipped", "duration": 0.00021837299999560855, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00047323199999027565}, "lineno": 54, "nodeid": "signal/quality_control.py::obspy.signal.quality_control.MSEEDMetadata", "outcome": "skipped", "keywords": ["obspy.signal.quality_control.MSEEDMetadata", "filterwarnings", "quality_control.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001972539999997025}}, {"call": {"outcome": "passed", "duration": 0.004197745999988456}, "setup": {"outcome": "passed", "duration": 0.0004476750000037555}, "lineno": 154, "nodeid": "signal/rotate.py::obspy.signal.rotate.rotate2zne", "outcome": "passed", "keywords": ["obspy.signal.rotate.rotate2zne", "filterwarnings", "rotate.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001664070000231277}}, {"call": {"outcome": "failed", "duration": 0.005970624000013913, "longrepr": "207 \n208     Calculations are based on the routine used by [McNamara2004]_.\n209     For information on New High/Low Noise Model see [Peterson1993]_.\n210 \n211     .. rubric:: Basic Usage\n212 \n213     >>> from obspy import read\n214     >>> from obspy.signal import PPSD\n215 \n216     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.spectral_estimation.PPSD[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/spectral_estimation.py:216: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004278080000119644}, "lineno": 203, "nodeid": "signal/spectral_estimation.py::obspy.signal.spectral_estimation.PPSD", "outcome": "failed", "keywords": ["obspy.signal.spectral_estimation.PPSD", "filterwarnings", "spectral_estimation.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018379899998421934}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.8983306179999886, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/numpy/_core/numerictypes.py\", line 534, in issubdtype\n    arg1 = dtype(arg1).type\n           ^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0009797149999997146}, "lineno": 35, "nodeid": "signal/tests/test_array_analysis.py::TestArray::test_array_rotation", "outcome": "failed", "keywords": ["test_array_rotation", "filterwarnings", "TestArray", "test_array_analysis.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028522500002736706}}, {"call": {"outcome": "passed", "duration": 0.8828913559999876}, "setup": {"outcome": "passed", "duration": 0.000554872999998679}, "lineno": 74, "nodeid": "signal/tests/test_array_analysis.py::TestArray::test_array_dilation", "outcome": "passed", "keywords": ["test_array_dilation", "filterwarnings", "TestArray", "test_array_analysis.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002847149999922749}}, {"call": {"outcome": "passed", "duration": 0.8841018570000188}, "setup": {"outcome": "passed", "duration": 0.0005110829999921407}, "lineno": 120, "nodeid": "signal/tests/test_array_analysis.py::TestArray::test_array_horizontal_shear", "outcome": "passed", "keywords": ["test_array_horizontal_shear", "filterwarnings", "TestArray", "test_array_analysis.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003067959999896175}}, {"call": {"outcome": "passed", "duration": 0.0005942150000066704}, "setup": {"outcome": "passed", "duration": 0.0005085679999865533}, "lineno": 162, "nodeid": "signal/tests/test_array_analysis.py::TestArray::test_get_geometry", "outcome": "passed", "keywords": ["test_get_geometry", "filterwarnings", "TestArray", "test_array_analysis.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020479800002703996}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010141799999985324, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_calibration.py\", line 24, in test_relcal_sts2_vs_unknown\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0016348950000235618}, "lineno": 18, "nodeid": "signal/tests/test_calibration.py::TestCalibration::test_relcal_sts2_vs_unknown", "outcome": "failed", "keywords": ["test_relcal_sts2_vs_unknown", "filterwarnings", "TestCalibration", "test_calibration.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020300499997460975}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00112927300000365, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_calibration.py\", line 69, in test_relcal_using_traces\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003411989999904108}, "lineno": 64, "nodeid": "signal/tests/test_calibration.py::TestCalibration::test_relcal_using_traces", "outcome": "failed", "keywords": ["test_relcal_using_traces", "filterwarnings", "TestCalibration", "test_calibration.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018460100000083912}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008551869999848805, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_calibration.py\", line 88, in test_relcal_different_overlaps\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034367300000326395}, "lineno": 81, "nodeid": "signal/tests/test_calibration.py::TestCalibration::test_relcal_different_overlaps", "outcome": "failed", "keywords": ["test_relcal_different_overlaps", "filterwarnings", "TestCalibration", "test_calibration.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017894999999157335}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008473030000004655, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_calibration.py\", line 115, in test_relcal_using_dict\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033678100001566236}, "lineno": 110, "nodeid": "signal/tests/test_calibration.py::TestCalibration::test_relcal_using_dict", "outcome": "failed", "keywords": ["test_relcal_using_dict", "filterwarnings", "TestCalibration", "test_calibration.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002757789999918714}}, {"call": {"outcome": "passed", "duration": 0.0914839319999885}, "setup": {"outcome": "passed", "duration": 0.005383687000005466}, "lineno": 78, "nodeid": "signal/tests/test_cpxtrace.py::TestCpxTrace::test_normenvelope", "outcome": "passed", "keywords": ["test_normenvelope", "filterwarnings", "TestCpxTrace", "test_cpxtrace.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003114149999987603}}, {"call": {"outcome": "passed", "duration": 0.23527821300001506}, "setup": {"outcome": "passed", "duration": 0.0038876690000222425}, "lineno": 91, "nodeid": "signal/tests/test_cpxtrace.py::TestCpxTrace::test_centroid", "outcome": "passed", "keywords": ["test_centroid", "filterwarnings", "TestCpxTrace", "test_cpxtrace.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030798699998513257}}, {"call": {"outcome": "passed", "duration": 0.08660408399998687}, "setup": {"outcome": "passed", "duration": 0.003846552999988262}, "lineno": 102, "nodeid": "signal/tests/test_cpxtrace.py::TestCpxTrace::test_inst_freq", "outcome": "passed", "keywords": ["test_inst_freq", "filterwarnings", "TestCpxTrace", "test_cpxtrace.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002858779999996841}}, {"call": {"outcome": "passed", "duration": 0.06087146400000165}, "setup": {"outcome": "passed", "duration": 0.0038020910000113872}, "lineno": 114, "nodeid": "signal/tests/test_cpxtrace.py::TestCpxTrace::test_inst_bwith", "outcome": "passed", "keywords": ["test_inst_bwith", "filterwarnings", "TestCpxTrace", "test_cpxtrace.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0004461429999764732}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0026604159999976673, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 37, in test_correlate_normalize_true_false\n    a = read()[0].data[500:]\n        ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005270219999999881}, "lineno": 35, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_normalize_true_false", "outcome": "failed", "keywords": ["test_correlate_normalize_true_false", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021525699997937409}}, {"call": {"outcome": "passed", "duration": 0.0008828680000192435}, "setup": {"outcome": "passed", "duration": 0.0003537430000051245}, "lineno": 46, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_srl_xcorr", "outcome": "passed", "keywords": ["test_srl_xcorr", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016913199999635253}}, {"call": {"outcome": "passed", "duration": 0.0007660119999854942}, "setup": {"outcome": "passed", "duration": 0.0009275110000146469}, "lineno": 73, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_xcorr_vs_old_implementation", "outcome": "passed", "keywords": ["test_xcorr_vs_old_implementation", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018117400000505768}}, {"call": {"outcome": "passed", "duration": 0.0004297819999976582}, "setup": {"outcome": "passed", "duration": 0.00030804799999373245}, "lineno": 93, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_different_length_of_signals", "outcome": "passed", "keywords": ["test_correlate_different_length_of_signals", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017018299999449482}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0008090919999972357, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/inspect.py\", line 2448, in _signature_from_function\n    for offset, name in enumerate(positional[non_default_count:]):\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 153, in pytest_runtest_setup\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "lineno": 99, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate", "outcome": "error", "keywords": ["test_correlate", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019424799998546405}}, {"call": {"outcome": "passed", "duration": 0.0026837590000070577}, "setup": {"outcome": "passed", "duration": 0.0003146000000242566}, "lineno": 132, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_different_implementations", "outcome": "passed", "keywords": ["test_correlate_different_implementations", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018316800000661715}}, {"call": {"outcome": "passed", "duration": 0.0019280549999791674}, "setup": {"outcome": "passed", "duration": 0.0003242379999903733}, "lineno": 152, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_extreme_shifts_for_freq_xcorr", "outcome": "passed", "keywords": ["test_correlate_extreme_shifts_for_freq_xcorr", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019852600001968312}}, {"call": {"outcome": "passed", "duration": 0.00027572800001962605}, "setup": {"outcome": "passed", "duration": 0.0002954650000219772}, "lineno": 177, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_xcorr_max", "outcome": "passed", "keywords": ["test_xcorr_max", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017170600000326885}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002409583000002158, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 187, in test_xcorr_3c\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000286748999997144}, "lineno": 185, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_xcorr_3c", "outcome": "failed", "keywords": ["test_xcorr_3c", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020557900000994778}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013080420000051163, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 200, in test_xcorr_pick_correction\n    st1 = read(testdata['BW.UH1._.EHZ.D.2010.147.a.slist.gz'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001668195999997124}, "lineno": 194, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_xcorr_pick_correction", "outcome": "failed", "keywords": ["test_xcorr_pick_correction", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018257700000390287}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012177659999963453, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 229, in test_xcorr_pick_correction_images\n    st1 = read(testdata['BW.UH1._.EHZ.D.2010.147.a.slist.gz'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006011890000081621}, "lineno": 223, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_xcorr_pick_correction_images", "outcome": "failed", "keywords": ["test_xcorr_pick_correction_images", "filterwarnings", "image", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022389299999758805}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023274509999851034, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 269, in test_correlate_template_eqcorrscan\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032060099999853264}, "lineno": 239, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_eqcorrscan", "outcome": "failed", "keywords": ["test_correlate_template_eqcorrscan", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018294800000262512}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002131279999986191, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 294, in test_correlate_template_eqcorrscan_time\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032836600001928673}, "lineno": 277, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_eqcorrscan_time", "outcome": "failed", "keywords": ["test_correlate_template_eqcorrscan_time", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021656900000266432}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002198343999992858, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 304, in test_correlate_template_different_normalizations\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000323536999985663}, "lineno": 302, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_different_normalizations", "outcome": "failed", "keywords": ["test_correlate_template_different_normalizations", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018157499999915672}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025963680000131717, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 320, in test_correlate_template_correct_alignment_of_normalization\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030794799999966926}, "lineno": 318, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_correct_alignment_of_normalization", "outcome": "error", "keywords": ["test_correlate_template_correct_alignment_of_normalization", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.00024056399999494715, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 86, in _convert\n    |     def _convert(node):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 86, in _convert\n    |     def _convert(node):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002141778999998678, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 332, in test_correlate_template_versus_correlate\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033625999998321277}, "lineno": 330, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_versus_correlate", "outcome": "failed", "keywords": ["test_correlate_template_versus_correlate", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022315100000014354}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00209414200000424, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 341, in test_correlate_template_zeros_in_input\n    data = read()[0].data[380:420]\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003073870000207535}, "lineno": 338, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_zeros_in_input", "outcome": "error", "keywords": ["test_correlate_template_zeros_in_input", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0002426870000249437, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/_code/code.py\", line 196, in __init__\n    def __init__(\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "passed", "duration": 0.005188146999984156}, "setup": {"outcome": "passed", "duration": 0.0003151610000031724}, "lineno": 353, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_different_amplitudes", "outcome": "passed", "keywords": ["test_correlate_template_different_amplitudes", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020230199999105025}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022227279999924576, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 410, in test_correlate_template_nodemean_fastmatchedfilter\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034711999998648935}, "lineno": 368, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_nodemean_fastmatchedfilter", "outcome": "failed", "keywords": ["test_correlate_template_nodemean_fastmatchedfilter", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002057990000139398}}, {"call": {"outcome": "passed", "duration": 0.0029094550000081654}, "setup": {"outcome": "passed", "duration": 0.00032527900000900445}, "lineno": 421, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_integer_input_equals_float_input", "outcome": "passed", "keywords": ["test_integer_input_equals_float_input", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018004200001087156}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002333652999993774, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 441, in test_correlate_stream_template_and_correlation_detector\n    template = read().filter('highpass', freq=5).normalize()\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031674399997427827}, "lineno": 439, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_stream_template_and_correlation_detector", "outcome": "error", "keywords": ["test_correlate_stream_template_and_correlation_detector", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0003680180000174005, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/traceback.py\", line 369, in _get_code_position\n    return next(itertools.islice(positions_gen, instruction_index // 2, None))\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "passed", "duration": 0.0012110929999948894}, "setup": {"outcome": "passed", "duration": 0.0004789830000220263}, "lineno": 16, "nodeid": "signal/tests/test_detrend.py::TestDetrend::test_polynomial_detrend", "outcome": "passed", "keywords": ["test_polynomial_detrend", "filterwarnings", "TestDetrend", "test_detrend.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019610199998965072}}, {"call": {"outcome": "passed", "duration": 0.0010068269999976565}, "setup": {"outcome": "passed", "duration": 0.00029636700000423843}, "lineno": 34, "nodeid": "signal/tests/test_detrend.py::TestDetrend::test_spline_detrend", "outcome": "passed", "keywords": ["test_spline_detrend", "filterwarnings", "TestDetrend", "test_detrend.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016798999999423359}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00225345599997695, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_detrend.py\", line 56, in test_polynomial_detrend_plotting\n    tr = obspy.read()[0].filter(\"highpass\", freq=2)\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004746550000049865}, "lineno": 51, "nodeid": "signal/tests/test_detrend.py::TestDetrend::test_polynomial_detrend_plotting", "outcome": "failed", "keywords": ["test_polynomial_detrend_plotting", "filterwarnings", "image", "TestDetrend", "test_detrend.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024401999999668078}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002107956999992666, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_detrend.py\", line 65, in test_spline_detrend_plotting\n    tr = obspy.read()[0].filter(\"highpass\", freq=2)\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004632940000135477}, "lineno": 60, "nodeid": "signal/tests/test_detrend.py::TestDetrend::test_spline_detrend_plotting", "outcome": "error", "keywords": ["test_spline_detrend_plotting", "filterwarnings", "image", "TestDetrend", "test_detrend.py", "tests", "signal", "obspy", ""], "teardown": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.00026528000000780594, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 52, in parse\n    return compile(source, filename, mode, flags,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 858, in pytest_runtest_teardown\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 905, in pytest_runtest_teardown\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 163, in pytest_runtest_teardown\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}}, {"call": {"outcome": "passed", "duration": 0.0009720719999961602}, "setup": {"outcome": "passed", "duration": 0.00043050400000765876}, "lineno": 16, "nodeid": "signal/tests/test_differentiate_and_integrate.py::TestIntegrate::test_cumtrapz_integration", "outcome": "passed", "keywords": ["test_cumtrapz_integration", "filterwarnings", "TestIntegrate", "test_differentiate_and_integrate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018464000001472414}}, {"call": {"outcome": "passed", "duration": 0.0036541279999937615}, "setup": {"outcome": "passed", "duration": 0.00028547599998773876}, "lineno": 37, "nodeid": "signal/tests/test_differentiate_and_integrate.py::TestIntegrate::test_spline_integration", "outcome": "passed", "keywords": ["test_spline_integration", "filterwarnings", "TestIntegrate", "test_differentiate_and_integrate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017364000001407476}}, {"call": {"outcome": "passed", "duration": 0.006072377999998935}, "setup": {"outcome": "passed", "duration": 0.001604318000005378}, "lineno": 21, "nodeid": "signal/tests/test_filter.py::TestFilter::test_bandpass_vs_pitsa", "outcome": "passed", "keywords": ["test_bandpass_vs_pitsa", "filterwarnings", "TestFilter", "test_filter.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017816799999081923}}, {"call": {"outcome": "passed", "duration": 0.005372575999984974}, "setup": {"outcome": "passed", "duration": 0.0003404470000134552}, "lineno": 46, "nodeid": "signal/tests/test_filter.py::TestFilter::test_bandpass_zphsh_vs_pitsa", "outcome": "passed", "keywords": ["test_bandpass_zphsh_vs_pitsa", "filterwarnings", "TestFilter", "test_filter.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017286900001067806}}, {"call": {"outcome": "passed", "duration": 0.00520468700000265}, "setup": {"outcome": "passed", "duration": 0.00034944399999403686}, "lineno": 77, "nodeid": "signal/tests/test_filter.py::TestFilter::test_lowpass_vs_pitsa", "outcome": "passed", "keywords": ["test_lowpass_vs_pitsa", "filterwarnings", "TestFilter", "test_filter.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020286399998781235}}, {"call": {"outcome": "passed", "duration": 0.004910746000007293}, "setup": {"outcome": "passed", "duration": 0.000344294000001355}, "lineno": 101, "nodeid": "signal/tests/test_filter.py::TestFilter::test_lowpass_zphsh_vs_pitsa", "outcome": "passed", "keywords": ["test_lowpass_zphsh_vs_pitsa", "filterwarnings", "TestFilter", "test_filter.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001797710000062125}}, {"call": {"outcome": "passed", "duration": 0.005223962000002302}, "setup": {"outcome": "passed", "duration": 0.0003894479999928535}, "lineno": 133, "nodeid": "signal/tests/test_filter.py::TestFilter::test_highpass_vs_pitsa", "outcome": "passed", "keywords": ["test_highpass_vs_pitsa", "filterwarnings", "TestFilter", "test_filter.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018054199998118747}}, {"call": {"outcome": "passed", "duration": 0.005151970000014217}, "setup": {"outcome": "passed", "duration": 0.0003367909999951735}, "lineno": 159, "nodeid": "signal/tests/test_filter.py::TestFilter::test_highpass_zphsh_vs_pitsa", "outcome": "passed", "keywords": ["test_highpass_zphsh_vs_pitsa", "filterwarnings", "TestFilter", "test_filter.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001857530000108909}}, {"call": {"outcome": "passed", "duration": 0.004417226000015262}, "setup": {"outcome": "passed", "duration": 0.00035956300001771524}, "lineno": 191, "nodeid": "signal/tests/test_filter.py::TestFilter::test_envelope_vs_pitsa", "outcome": "passed", "keywords": ["test_envelope_vs_pitsa", "filterwarnings", "TestFilter", "test_filter.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017826800001330412}}, {"call": {"outcome": "passed", "duration": 0.0028685489999986657}, "setup": {"outcome": "passed", "duration": 0.00029703699999572564}, "lineno": 211, "nodeid": "signal/tests/test_filter.py::TestFilter::test_lowpass_cheby_2", "outcome": "passed", "keywords": ["test_lowpass_cheby_2", "filterwarnings", "TestFilter", "test_filter.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000198235999988583}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024217760000055932, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_filter.py\", line 234, in test_bandpass_high_corner_at_nyquist\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030083499999022933}, "lineno": 228, "nodeid": "signal/tests/test_filter.py::TestFilter::test_bandpass_high_corner_at_nyquist", "outcome": "failed", "keywords": ["test_bandpass_high_corner_at_nyquist", "filterwarnings", "TestFilter", "test_filter.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002027429999884589}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022086630000046625, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_filter.py\", line 275, in test_filterarr2d_axis_and_zerophase\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029915199999663855}, "lineno": 270, "nodeid": "signal/tests/test_filter.py::TestFilter::test_filterarr2d_axis_and_zerophase", "outcome": "failed", "keywords": ["test_filterarr2d_axis_and_zerophase", "filterwarnings", "TestFilter", "test_filter.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002930899999853409}}, {"call": {"outcome": "passed", "duration": 0.024209761999998136}, "setup": {"outcome": "passed", "duration": 0.005859343999986777}, "lineno": 84, "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace::test_cfrequency", "outcome": "passed", "keywords": ["test_cfrequency", "filterwarnings", "TestFreqTrace", "test_freqattributes.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028606800000829935}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 81, "message": "ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)"}, "outcome": "failed", "duration": 0.005578356000000895, "longrepr": "+ Exception Group Traceback (most recent call last):\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n  |     result: TResult | None = func()\n  |                              ^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n  |     lambda: runtest_hook(item=item, **kwds),\n  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n  |     raise exception\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n  |     yield\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n  |     return (yield)\n  |             ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n  |     teardown.throw(exception)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n  |     return result.get_result()\n  |            ^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n  |     raise exc.with_traceback(tb)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n  |     res = yield\n  |           ^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n  |     res = hook_impl.function(*args)\n  |           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 153, in pytest_runtest_setup\n  |     collect_unraisable(item.config)\n  |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 81, in collect_unraisable\n  |     raise ExceptionGroup(\"multiple unraisable exception warnings\", errors)\n  | ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/inspect.py\", line 3346, in signature\n    |     def signature(obj, *, follow_wrapped=True, globals=None, locals=None, eval_str=False):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +---------------- 2 ----------------\n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/inspect.py\", line 3346, in signature\n    |     def signature(obj, *, follow_wrapped=True, globals=None, locals=None, eval_str=False):\n    |     \n    | ResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | \n    | The above exception was the direct cause of the following exception:\n    | \n    | Traceback (most recent call last):\n    |   File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\n    | pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n    | Enable tracemalloc to get traceback where the object was allocated.\n    | See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.\n    +------------------------------------"}, "lineno": 96, "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace::test_cfrequency_no_win", "outcome": "error", "keywords": ["test_cfrequency_no_win", "filterwarnings", "TestFreqTrace", "test_freqattributes.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002394219999928282}}, {"call": {"outcome": "passed", "duration": 0.007955990999988671}, "setup": {"outcome": "passed", "duration": 0.004731625000005124}, "lineno": 102, "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace::test_bwith", "outcome": "passed", "keywords": ["test_bwith", "filterwarnings", "TestFreqTrace", "test_freqattributes.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002725120000093284}}, {"call": {"outcome": "passed", "duration": 0.011579882999996016}, "setup": {"outcome": "passed", "duration": 0.00461652300000992}, "lineno": 114, "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace::test_domper", "outcome": "passed", "keywords": ["test_domper", "filterwarnings", "TestFreqTrace", "test_freqattributes.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026243499999623054}}, {"call": {"outcome": "passed", "duration": 0.0019288169999924776}, "setup": {"outcome": "passed", "duration": 0.004875940999994555}, "lineno": 126, "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace::test_logcep", "outcome": "passed", "keywords": ["test_logcep", "filterwarnings", "TestFreqTrace", "test_freqattributes.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021614799999269962}}, {"call": {"outcome": "passed", "duration": 0.00311816999999337}, "setup": {"outcome": "passed", "duration": 0.004286323999991737}, "lineno": 141, "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace::test_pgm", "outcome": "passed", "keywords": ["test_pgm", "filterwarnings", "TestFreqTrace", "test_freqattributes.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00033794399999464986}}, {"call": {"outcome": "passed", "duration": 0.0015017190000037317}, "setup": {"outcome": "passed", "duration": 0.005037608999998611}, "lineno": 79, "nodeid": "signal/tests/test_hoctavbands.py::TestHoctavbands::test_hoctavbands", "outcome": "passed", "keywords": ["test_hoctavbands", "filterwarnings", "TestHoctavbands", "test_hoctavbands.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002701479999984713}}, {"call": {"outcome": "passed", "duration": 0.001550289000022076}, "setup": {"outcome": "passed", "duration": 0.0004375169999946138}, "lineno": 17, "nodeid": "signal/tests/test_interpolation.py::TestInterpolation::test_calculate_lanczos_kernel", "outcome": "passed", "keywords": ["test_calculate_lanczos_kernel", "filterwarnings", "TestInterpolation", "test_interpolation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001804430000049706}}, {"call": {"outcome": "passed", "duration": 0.000601930000016182}, "setup": {"outcome": "passed", "duration": 0.000300855000006095}, "lineno": 50, "nodeid": "signal/tests/test_interpolation.py::TestInterpolation::test_lanczos_interpolation", "outcome": "passed", "keywords": ["test_lanczos_interpolation", "filterwarnings", "TestInterpolation", "test_interpolation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017447199999764962}}, {"call": {"outcome": "passed", "duration": 0.002118004999999812}, "setup": {"outcome": "passed", "duration": 0.0002888729999881434}, "lineno": 90, "nodeid": "signal/tests/test_interpolation.py::TestInterpolation::test_lanczos_interpolation_units", "outcome": "passed", "keywords": ["test_lanczos_interpolation_units", "filterwarnings", "TestInterpolation", "test_interpolation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019305600000052436}}, {"call": {"outcome": "passed", "duration": 1.3357896299999936}, "setup": {"outcome": "passed", "duration": 0.0004280899999855592}, "lineno": 115, "nodeid": "signal/tests/test_interpolation.py::TestInterpolation::test_plot_lanczos_window", "outcome": "passed", "keywords": ["test_plot_lanczos_window", "filterwarnings", "image", "TestInterpolation", "test_interpolation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00039294399999789675}}, {"call": {"outcome": "passed", "duration": 0.021600100000000566}, "setup": {"outcome": "passed", "duration": 0.002330987999982881}, "lineno": 68, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_seis_sim_vs_pitsa1", "outcome": "passed", "keywords": ["test_seis_sim_vs_pitsa1", "filterwarnings", "TestInvSim", "test_invsim.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022784000000797278}}, {"call": {"outcome": "passed", "duration": 0.0976493709999886}, "setup": {"outcome": "passed", "duration": 0.0004182710000009138}, "lineno": 101, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_seis_sim_vs_pitsa_2", "outcome": "passed", "keywords": ["test_seis_sim_vs_pitsa_2", "filterwarnings", "TestInvSim", "test_invsim.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002591880000011315}}, {"call": {"outcome": "passed", "duration": 0.04213056700001516}, "setup": {"outcome": "passed", "duration": 0.00044266699998729564}, "lineno": 133, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_estimate_magnitude", "outcome": "passed", "keywords": ["test_estimate_magnitude", "filterwarnings", "TestInvSim", "test_invsim.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002403729999969073}}, {"call": {"outcome": "passed", "duration": 0.2205869030000258}, "setup": {"outcome": "passed", "duration": 0.0004284799999823008}, "lineno": 185, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_sac_instrument_correction", "outcome": "passed", "keywords": ["test_sac_instrument_correction", "filterwarnings", "TestInvSim", "test_invsim.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002564729999789961}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009978899999794066, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_invsim.py\", line 277, in test_evalresp_vs_obspy\n    tr = read(rawf)[0]\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004002680000212422}, "lineno": 245, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_vs_obspy", "outcome": "failed", "keywords": ["test_evalresp_vs_obspy", "filterwarnings", "TestInvSim", "test_invsim.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019730400001094495}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008636819999878753, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_invsim.py\", line 305, in test_cosine_taper\n    tr = read(sac_taper)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035797999998976593}, "lineno": 299, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_cosine_taper", "outcome": "failed", "keywords": ["test_cosine_taper", "filterwarnings", "TestInvSim", "test_invsim.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018375900000933143}}, {"call": {"outcome": "passed", "duration": 0.00860243299999297}, "setup": {"outcome": "passed", "duration": 0.0003829659999894375}, "lineno": 325, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_using_different_line_separator", "outcome": "passed", "keywords": ["test_evalresp_using_different_line_separator", "filterwarnings", "TestInvSim", "test_invsim.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021285299999362906}}, {"call": {"outcome": "passed", "duration": 0.058486595999994506}, "setup": {"outcome": "passed", "duration": 0.00041575700001317273}, "lineno": 347, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_bug_395", "outcome": "passed", "keywords": ["test_evalresp_bug_395", "filterwarnings", "TestInvSim", "test_invsim.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022716899999863926}}, {"call": {"outcome": "passed", "duration": 0.0026705539999909433}, "setup": {"outcome": "passed", "duration": 0.00045216399999503665}, "lineno": 364, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_specific_frequencies", "outcome": "passed", "keywords": ["test_evalresp_specific_frequencies", "filterwarnings", "TestInvSim", "test_invsim.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001759440000057566}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000948058000005858, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_invsim.py\", line 406, in test_evalresp_file_like_object\n    tr1 = read(rawf)[0]\n          ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035590699999943354}, "lineno": 395, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_file_like_object", "outcome": "failed", "keywords": ["test_evalresp_file_like_object", "skipif", "pytestmark", "filterwarnings", "TestInvSim", "test_invsim.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022115800001643038}}, {"call": {"outcome": "passed", "duration": 0.004410622999984071}, "setup": {"outcome": "passed", "duration": 0.00034332399999925656}, "lineno": 422, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_segfaulting_resp_file", "outcome": "passed", "keywords": ["test_segfaulting_resp_file", "filterwarnings", "TestInvSim", "test_invsim.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001734800000008363}}, {"call": {"outcome": "passed", "duration": 0.006759124000012662}, "setup": {"outcome": "passed", "duration": 0.0003276839999841741}, "lineno": 438, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_seed_identifiers_work", "outcome": "passed", "keywords": ["test_evalresp_seed_identifiers_work", "filterwarnings", "TestInvSim", "test_invsim.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017898000001537184}}, {"call": {"outcome": "passed", "duration": 0.0004885410000099455}, "setup": {"outcome": "passed", "duration": 0.0003016560000048685}, "lineno": 469, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_spline", "outcome": "passed", "keywords": ["test_evalresp_spline", "filterwarnings", "TestInvSim", "test_invsim.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024576299998102513}}, {"call": {"outcome": "passed", "duration": 0.0007520669999792062}, "setup": {"outcome": "passed", "duration": 0.0006271069999854717}, "lineno": 24, "nodeid": "signal/tests/test_konnoohmachi.py::TestKonnoOhmachi::test_smoothing_window", "outcome": "passed", "keywords": ["test_smoothing_window", "filterwarnings", "TestKonnoOhmachi", "test_konnoohmachi.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016264000001342538}}, {"call": {"outcome": "passed", "duration": 0.0015218169999968723}, "setup": {"outcome": "passed", "duration": 0.00031111399999872447}, "lineno": 62, "nodeid": "signal/tests/test_konnoohmachi.py::TestKonnoOhmachi::test_smoothing_matrix", "outcome": "passed", "keywords": ["test_smoothing_matrix", "filterwarnings", "TestKonnoOhmachi", "test_konnoohmachi.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017178600000988808}}, {"call": {"outcome": "passed", "duration": 0.03661124999999288}, "setup": {"outcome": "passed", "duration": 0.00031300700001679616}, "lineno": 100, "nodeid": "signal/tests/test_konnoohmachi.py::TestKonnoOhmachi::test_konno_ohmachi_smoothing", "outcome": "passed", "keywords": ["test_konno_ohmachi_smoothing", "filterwarnings", "TestKonnoOhmachi", "test_konnoohmachi.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030428100001245184}}, {"call": {"outcome": "passed", "duration": 0.0020240919999992}, "setup": {"outcome": "passed", "duration": 0.0004984990000025391}, "lineno": 28, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_no_files_given", "outcome": "passed", "keywords": ["test_no_files_given", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001693319999844789}}, {"call": {"outcome": "passed", "duration": 0.05803837100000919}, "setup": {"outcome": "passed", "duration": 0.0002938519999986511}, "lineno": 36, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_gaps_and_overlaps", "outcome": "passed", "keywords": ["test_gaps_and_overlaps", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022055700000578327}}, {"call": {"outcome": "passed", "duration": 0.009813394999980574}, "setup": {"outcome": "passed", "duration": 0.0003609559999802059}, "lineno": 109, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_raise_unmatching_ids", "outcome": "passed", "keywords": ["test_raise_unmatching_ids", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020251300000495576}}, {"call": {"outcome": "passed", "duration": 0.012109048999974448}, "setup": {"outcome": "passed", "duration": 0.00033682099999055026}, "lineno": 130, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_gaps_between_multiple_files", "outcome": "passed", "keywords": ["test_gaps_between_multiple_files", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002397320000113723}}, {"call": {"outcome": "passed", "duration": 0.007905827999991288}, "setup": {"outcome": "passed", "duration": 0.00033762300000717005}, "lineno": 151, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_file_with_no_timing_quality", "outcome": "passed", "keywords": ["test_file_with_no_timing_quality", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019081199999959608}}, {"call": {"outcome": "passed", "duration": 0.013993775000017195}, "setup": {"outcome": "passed", "duration": 0.0003435830000171336}, "lineno": 165, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_extraction_of_basic_mseed_headers", "outcome": "passed", "keywords": ["test_extraction_of_basic_mseed_headers", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018400999999812484}}, {"call": {"outcome": "passed", "duration": 0.02269943699999999}, "setup": {"outcome": "passed", "duration": 0.00031244599998103695}, "lineno": 196, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_extraction_header_flags_complex", "outcome": "passed", "keywords": ["test_extraction_header_flags_complex", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021475600001963357}}, {"call": {"outcome": "passed", "duration": 0.04190713500000243}, "setup": {"outcome": "passed", "duration": 0.0003400269999929151}, "lineno": 253, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_extraction_fixed_header_flags", "outcome": "passed", "keywords": ["test_extraction_fixed_header_flags", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024274700001569727}}, {"call": {"outcome": "passed", "duration": 0.056147012999986146}, "setup": {"outcome": "passed", "duration": 0.0015938390000087566}, "lineno": 382, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_timing_quality", "outcome": "passed", "keywords": ["test_timing_quality", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024822800000379175}}, {"call": {"outcome": "passed", "duration": 0.01952088599998092}, "setup": {"outcome": "passed", "duration": 0.0003802610000036566}, "lineno": 398, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_overall_sample_metrics", "outcome": "passed", "keywords": ["test_overall_sample_metrics", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021833299999229894}}, {"call": {"outcome": "passed", "duration": 0.008564231999997673}, "setup": {"outcome": "passed", "duration": 0.00035485400002244205}, "lineno": 439, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_root_mean_square", "outcome": "passed", "keywords": ["test_root_mean_square", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021996600000306898}}, {"call": {"outcome": "passed", "duration": 0.00807013100001086}, "setup": {"outcome": "passed", "duration": 0.00033976599999618884}, "lineno": 455, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_int_overflow", "outcome": "passed", "keywords": ["test_int_overflow", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019828599999982544}}, {"call": {"outcome": "passed", "duration": 0.0845287580000047}, "setup": {"outcome": "passed", "duration": 0.0003293469999903209}, "lineno": 470, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_overlap_fire_testing", "outcome": "passed", "keywords": ["test_overlap_fire_testing", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002217690000065886}}, {"call": {"outcome": "passed", "duration": 0.13204680899997356}, "setup": {"outcome": "passed", "duration": 0.00041548599998009195}, "lineno": 511, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_gap_fire_testing", "outcome": "passed", "keywords": ["test_gap_fire_testing", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021417499999643042}}, {"call": {"outcome": "passed", "duration": 0.017781809000013027}, "setup": {"outcome": "passed", "duration": 0.00042222800001923133}, "lineno": 556, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_start_gap", "outcome": "passed", "keywords": ["test_start_gap", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021973500000171953}}, {"call": {"outcome": "passed", "duration": 0.00575639500002012}, "setup": {"outcome": "passed", "duration": 0.0003734789999896293}, "lineno": 611, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_random_window", "outcome": "passed", "keywords": ["test_random_window", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018534200000885903}}, {"call": {"outcome": "passed", "duration": 0.011434584999989283}, "setup": {"outcome": "passed", "duration": 0.00035848100000634986}, "lineno": 630, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_end_gap", "outcome": "passed", "keywords": ["test_end_gap", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020513799998411741}}, {"call": {"outcome": "passed", "duration": 0.01124837099999354}, "setup": {"outcome": "passed", "duration": 0.00038456900000483074}, "lineno": 654, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_clock_locked_percentage", "outcome": "passed", "keywords": ["test_clock_locked_percentage", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022662800000716743}}, {"call": {"outcome": "passed", "duration": 0.02307124299997554}, "setup": {"outcome": "passed", "duration": 0.00040084899998760193}, "lineno": 685, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_endtime_on_sample", "outcome": "passed", "keywords": ["test_endtime_on_sample", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021298300001149073}}, {"call": {"outcome": "passed", "duration": 0.015467642000004389}, "setup": {"outcome": "passed", "duration": 0.0003428729999939151}, "lineno": 720, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_continuous_segments_combined", "outcome": "passed", "keywords": ["test_continuous_segments_combined", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021479599999452148}}, {"call": {"outcome": "passed", "duration": 0.020026478000005454}, "setup": {"outcome": "passed", "duration": 0.0003382339999973283}, "lineno": 768, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_continuous_segments_sample_metrics", "outcome": "passed", "keywords": ["test_continuous_segments_sample_metrics", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022798099999477017}}, {"call": {"outcome": "passed", "duration": 0.00737665300002277}, "setup": {"outcome": "passed", "duration": 0.00036351099998910286}, "lineno": 832, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_json_serialization", "outcome": "passed", "keywords": ["test_json_serialization", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021537699998930293}}, {"setup": {"outcome": "skipped", "duration": 0.00019312599999921076, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_quality_control.py', 847, 'Skipped: Test requires the jsonschema module')"}, "lineno": 846, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_schema_validation", "outcome": "skipped", "keywords": ["test_schema_validation", "skipif", "pytestmark", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031502099997737787}}, {"call": {"outcome": "passed", "duration": 0.0012748199999919052}, "setup": {"outcome": "passed", "duration": 0.0006306920000156424}, "lineno": 25, "nodeid": "signal/tests/test_regression.py::TestRegression::test_weight_intercept", "outcome": "passed", "keywords": ["test_weight_intercept", "filterwarnings", "TestRegression", "test_regression.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019407800002113618}}, {"call": {"outcome": "passed", "duration": 0.0008705649999853904}, "setup": {"outcome": "passed", "duration": 0.00045769399997652727}, "lineno": 36, "nodeid": "signal/tests/test_regression.py::TestRegression::test_weight_nointercept", "outcome": "passed", "keywords": ["test_weight_nointercept", "filterwarnings", "TestRegression", "test_regression.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020036999998751526}}, {"call": {"outcome": "passed", "duration": 0.0008378759999914109}, "setup": {"outcome": "passed", "duration": 0.00042019500000378684}, "lineno": 46, "nodeid": "signal/tests/test_regression.py::TestRegression::test_noweight_intercept", "outcome": "passed", "keywords": ["test_noweight_intercept", "filterwarnings", "TestRegression", "test_regression.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000188777999994727}}, {"call": {"outcome": "passed", "duration": 0.0007977310000057969}, "setup": {"outcome": "passed", "duration": 0.0004084640000030504}, "lineno": 56, "nodeid": "signal/tests/test_regression.py::TestRegression::test_noweight_nointercept", "outcome": "passed", "keywords": ["test_noweight_nointercept", "filterwarnings", "TestRegression", "test_regression.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021643899998480265}}, {"call": {"outcome": "passed", "duration": 0.019645104999995056}, "setup": {"outcome": "passed", "duration": 0.0015993290000153593}, "lineno": 20, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate_ne_rt_vs_pitsa", "outcome": "passed", "keywords": ["test_rotate_ne_rt_vs_pitsa", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022617700000182595}}, {"call": {"outcome": "passed", "duration": 0.018029876000014156}, "setup": {"outcome": "passed", "duration": 0.00039733200000569013}, "lineno": 42, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate_zne_lqt_vs_pitsa", "outcome": "passed", "keywords": ["test_rotate_zne_lqt_vs_pitsa", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022804100001394545}}, {"call": {"outcome": "passed", "duration": 0.004278538999983539}, "setup": {"outcome": "passed", "duration": 0.0004213480000032632}, "lineno": 80, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate_ne_rt_ne", "outcome": "passed", "keywords": ["test_rotate_ne_rt_ne", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002093559999991612}}, {"call": {"outcome": "passed", "duration": 0.035755201000000625}, "setup": {"outcome": "passed", "duration": 0.0003168849999894974}, "lineno": 99, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate2zne_round_trip", "outcome": "passed", "keywords": ["test_rotate2zne_round_trip", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002392410000027212}}, {"call": {"outcome": "passed", "duration": 0.0022001170000010006}, "setup": {"outcome": "passed", "duration": 0.000398454999981368}, "lineno": 128, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate2zne_raise", "outcome": "passed", "keywords": ["test_rotate2zne_raise", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002043570000012096}}, {"call": {"outcome": "passed", "duration": 0.001962918999993235}, "setup": {"outcome": "passed", "duration": 0.0003242479999983061}, "lineno": 145, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_base_vector_calculation_simple_cases", "outcome": "passed", "keywords": ["test_base_vector_calculation_simple_cases", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017567399999052213}}, {"call": {"outcome": "passed", "duration": 0.00041242000000352164}, "setup": {"outcome": "passed", "duration": 0.00033121999999252694}, "lineno": 200, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_base_vector_from_azimuth_and_dip_calculation", "outcome": "passed", "keywords": ["test_base_vector_from_azimuth_and_dip_calculation", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001689419999877373}}, {"call": {"outcome": "passed", "duration": 0.000644689000012022}, "setup": {"outcome": "passed", "duration": 0.0002968569999950432}, "lineno": 219, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_galperin_configuration", "outcome": "passed", "keywords": ["test_galperin_configuration", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016998399999579306}}, {"call": {"outcome": "passed", "duration": 0.0031870759999890197}, "setup": {"outcome": "passed", "duration": 0.0002944130000059886}, "lineno": 245, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate2zne_against_rotate_ne_rt", "outcome": "passed", "keywords": ["test_rotate2zne_against_rotate_ne_rt", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001788289999922199}}, {"call": {"outcome": "passed", "duration": 0.022484090000006063}, "setup": {"outcome": "passed", "duration": 0.0002997630000152185}, "lineno": 263, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate2zne_against_ne_rt_picking_any_two_horizontal_comps", "outcome": "passed", "keywords": ["test_rotate2zne_against_ne_rt_picking_any_two_horizontal_comps", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002797260000022561}}, {"call": {"outcome": "passed", "duration": 0.03267380900001626}, "setup": {"outcome": "passed", "duration": 0.00041559699999993427}, "lineno": 290, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate2zne_against_lqt", "outcome": "passed", "keywords": ["test_rotate2zne_against_lqt", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022583700001632678}}, {"call": {"outcome": "passed", "duration": 1.210046554999991}, "setup": {"outcome": "passed", "duration": 0.0003610660000106236}, "lineno": 328, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate2zne_against_lqt_different_combinations", "outcome": "passed", "keywords": ["test_rotate2zne_against_lqt_different_combinations", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024548299998627954}}, {"call": {"outcome": "passed", "duration": 0.012518413999998756}, "setup": {"outcome": "passed", "duration": 0.00035950299999853996}, "lineno": 400, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_with_real_data", "outcome": "passed", "keywords": ["test_with_real_data", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00034584700000550583}}, {"call": {"outcome": "passed", "duration": 0.07024114200001463}, "setup": {"outcome": "passed", "duration": 0.0004650469999774032}, "lineno": 92, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_sonic_bf", "outcome": "passed", "keywords": ["test_sonic_bf", "filterwarnings", "TestSonic", "test_sonic.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002450119999934941}}, {"call": {"outcome": "passed", "duration": 0.05748996899998815}, "setup": {"outcome": "passed", "duration": 0.0003761140000051455}, "lineno": 105, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_sonic_bf_prew", "outcome": "passed", "keywords": ["test_sonic_bf_prew", "filterwarnings", "TestSonic", "test_sonic.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002706489999866335}}, {"call": {"outcome": "passed", "duration": 0.0703578069999935}, "setup": {"outcome": "passed", "duration": 0.0004225689999941551}, "lineno": 118, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_sonic_capon", "outcome": "passed", "keywords": ["test_sonic_capon", "filterwarnings", "TestSonic", "test_sonic.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027020799998922485}}, {"call": {"outcome": "passed", "duration": 0.06928040100001454}, "setup": {"outcome": "passed", "duration": 0.00042142699999203614}, "lineno": 132, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_sonic_capon_prew", "outcome": "passed", "keywords": ["test_sonic_capon_prew", "filterwarnings", "TestSonic", "test_sonic.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002778319999947598}}, {"call": {"outcome": "passed", "duration": 0.0009296140000003561}, "setup": {"outcome": "passed", "duration": 0.0004325879999953486}, "lineno": 146, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_get_spoint", "outcome": "passed", "keywords": ["test_get_spoint", "filterwarnings", "TestSonic", "test_sonic.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019477899999742476}}, {"call": {"outcome": "passed", "duration": 0.006950356999993801}, "setup": {"outcome": "passed", "duration": 0.0003682990000015707}, "lineno": 160, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_array_transff_freqslowness", "outcome": "passed", "keywords": ["test_array_transff_freqslowness", "filterwarnings", "TestSonic", "test_sonic.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019646300000886185}}, {"call": {"outcome": "passed", "duration": 0.0009919090000209962}, "setup": {"outcome": "passed", "duration": 0.0003406279999751405}, "lineno": 197, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_array_transff_wavenumber", "outcome": "passed", "keywords": ["test_array_transff_wavenumber", "filterwarnings", "TestSonic", "test_sonic.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020339499999977306}}, {"call": {"outcome": "passed", "duration": 0.0014412679999793454}, "setup": {"outcome": "passed", "duration": 0.0017956210000136252}, "lineno": 92, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_obspy_psd_vs_pitsa", "outcome": "passed", "keywords": ["test_obspy_psd_vs_pitsa", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017943099999229162}}, {"call": {"outcome": "passed", "duration": 0.0008001059999855897}, "setup": {"outcome": "passed", "duration": 0.00034866299998270733}, "lineno": 136, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_welch_window_vs_pitsa", "outcome": "passed", "keywords": ["test_welch_window_vs_pitsa", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017554300001165757}}, {"call": {"outcome": "passed", "duration": 0.018784327999981087}, "setup": {"outcome": "passed", "duration": 0.9912110289999987}, "lineno": 151, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd", "outcome": "passed", "keywords": ["test_ppsd", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031216499999686675}}, {"call": {"outcome": "passed", "duration": 0.0038613199999986136}, "setup": {"outcome": "passed", "duration": 0.13469883900000923}, "lineno": 209, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_warnings", "outcome": "passed", "keywords": ["test_ppsd_warnings", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003017659999784428}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010624189999930422, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 254, in test_ppsd_w_iris\n    st = read(file_data_anmo)\n         ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004313550000176747}, "lineno": 247, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_w_iris", "outcome": "failed", "keywords": ["test_ppsd_w_iris", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021791100002133135}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008768870000039897, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 319, in test_ppsd_w_iris_against_obspy_results\n    st = read(testdata['IUANMO.seed'])\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003573390000042309}, "lineno": 313, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_w_iris_against_obspy_results", "outcome": "failed", "keywords": ["test_ppsd_w_iris_against_obspy_results", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018819599998209924}}, {"call": {"outcome": "passed", "duration": 0.015370593000000099}, "setup": {"outcome": "passed", "duration": 0.13412293700000077}, "lineno": 380, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_save_and_load_npz", "outcome": "passed", "keywords": ["test_ppsd_save_and_load_npz", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002614720000053694}}, {"call": {"outcome": "passed", "duration": 2.354205258999997}, "setup": {"outcome": "passed", "duration": 0.0005527900000004138}, "lineno": 402, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_restricted_stacks", "outcome": "passed", "keywords": ["test_ppsd_restricted_stacks", "filterwarnings", "image", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00038713399999323883}}, {"call": {"outcome": "passed", "duration": 0.8354321409999841}, "setup": {"outcome": "passed", "duration": 0.13574341300000015}, "lineno": 478, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_earthquake_models", "outcome": "passed", "keywords": ["test_earthquake_models", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030537300000332834}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011501119999763887, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 509, in test_ppsd_infrasound\n    st = read(wf)\n         ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004799959999957082}, "lineno": 502, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_infrasound", "outcome": "failed", "keywords": ["test_ppsd_infrasound", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024791800001366937}}, {"call": {"outcome": "passed", "duration": 0.10567935500000658}, "setup": {"outcome": "passed", "duration": 0.0004488479999906758}, "lineno": 542, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_add_npz", "outcome": "passed", "keywords": ["test_ppsd_add_npz", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022237999999674685}}, {"call": {"outcome": "passed", "duration": 0.0008654760000013084}, "setup": {"outcome": "passed", "duration": 0.0003952189999836264}, "lineno": 595, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_time_checks", "outcome": "passed", "keywords": ["test_ppsd_time_checks", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001716460000125153}}, {"call": {"outcome": "passed", "duration": 0.2031615180000017}, "setup": {"outcome": "passed", "duration": 0.0013206760000059603}, "lineno": 650, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_issue1216", "outcome": "passed", "keywords": ["test_issue1216", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028807199998936994}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009789660000194544, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 691, in test_wrong_trace_id_message\n    inv = read_inventory(testdata['IUANMO.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0014295670000024074}, "lineno": 684, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_wrong_trace_id_message", "outcome": "failed", "keywords": ["test_wrong_trace_id_message", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021451599999977589}}, {"call": {"outcome": "passed", "duration": 0.0005095799999992323}, "setup": {"outcome": "passed", "duration": 0.13300897799999234}, "lineno": 707, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_psd_values", "outcome": "passed", "keywords": ["test_ppsd_psd_values", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022818099998289654}}, {"call": {"outcome": "passed", "duration": 0.15199385500000062}, "setup": {"outcome": "passed", "duration": 0.0005252889999951549}, "lineno": 719, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_temporal_plot", "outcome": "passed", "keywords": ["test_ppsd_temporal_plot", "filterwarnings", "image", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00040314299999977266}}, {"call": {"outcome": "passed", "duration": 0.08256653299997652}, "setup": {"outcome": "passed", "duration": 0.00041066800000066905}, "lineno": 742, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_exclude_last_sample", "outcome": "passed", "keywords": ["test_exclude_last_sample", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002214179999953103}}, {"call": {"outcome": "passed", "duration": 0.9519730849999917}, "setup": {"outcome": "passed", "duration": 0.0005737879999969664}, "lineno": 762, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_spectrogram_plot", "outcome": "passed", "keywords": ["test_ppsd_spectrogram_plot", "filterwarnings", "image", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003350680000266948}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0026536860000021534, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 790, in test_ppsd_uneven_sampling_rate\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004165689999808819}, "lineno": 779, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_uneven_sampling_rate", "outcome": "failed", "keywords": ["test_ppsd_uneven_sampling_rate", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002279900000132784}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.03111239200001137, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/ast.py\", line 101, in _convert\n    return dict(zip(map(_convert, node.keys),\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.00042122699997548807}, "lineno": 807, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_exception_reading_newer_npz", "outcome": "failed", "keywords": ["test_exception_reading_newer_npz", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021528700000317258}}, {"call": {"outcome": "passed", "duration": 0.005724401000009038}, "setup": {"outcome": "passed", "duration": 0.0003759440000123959}, "lineno": 855, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_nice_ringlaser_metadata_error_msg", "outcome": "passed", "keywords": ["test_nice_ringlaser_metadata_error_msg", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016436300001032578}}, {"call": {"outcome": "passed", "duration": 0.036400076999996145}, "setup": {"outcome": "passed", "duration": 0.13587790100001484}, "lineno": 871, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_can_read_npz_without_pickle", "outcome": "passed", "keywords": ["test_can_read_npz_without_pickle", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031466000001501016}}, {"call": {"outcome": "passed", "duration": 0.016320922000005567}, "setup": {"outcome": "passed", "duration": 0.13493429999999762}, "lineno": 905, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_can_add_npz_without_pickle", "outcome": "passed", "keywords": ["test_can_add_npz_without_pickle", "filterwarnings", "pytestmark", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030548299997690265}}, {"call": {"outcome": "passed", "duration": 0.008424482999998872}, "setup": {"outcome": "passed", "duration": 0.00145109799998977}, "lineno": 926, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_short_trace_warning", "outcome": "passed", "keywords": ["test_short_trace_warning", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0005549440000152117}}, {"call": {"outcome": "passed", "duration": 0.13889072000000624}, "setup": {"outcome": "passed", "duration": 0.0005230349999862938}, "lineno": 16, "nodeid": "signal/tests/test_stream.py::TestStream::test_filter", "outcome": "passed", "keywords": ["test_filter", "filterwarnings", "TestStream", "test_stream.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025459000002570065}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00258572100000265, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_stream.py\", line 137, in test_simulate\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003985859999886543}, "lineno": 131, "nodeid": "signal/tests/test_stream.py::TestStream::test_simulate", "outcome": "failed", "keywords": ["test_simulate", "filterwarnings", "TestStream", "test_stream.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020740299999033596}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002180111999990686, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_stream.py\", line 176, in test_decimate\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036259899999890877}, "lineno": 169, "nodeid": "signal/tests/test_stream.py::TestStream::test_decimate", "outcome": "failed", "keywords": ["test_decimate", "filterwarnings", "TestStream", "test_stream.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022382200000947705}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.0027438120000056188, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/pathlib.py\", line 358, in __init__\n    def __init__(self, *args):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 153, in pytest_runtest_setup\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "lineno": 75, "nodeid": "signal/tests/test_tf_misfit.py::TestTf::test_phase_misfit", "outcome": "error", "keywords": ["test_phase_misfit", "filterwarnings", "TestTf", "test_tf_misfit.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018928899999082205}}, {"call": {"outcome": "passed", "duration": 0.007733658999995896}, "setup": {"outcome": "passed", "duration": 0.0003563079999935326}, "lineno": 138, "nodeid": "signal/tests/test_tf_misfit.py::TestTf::test_envelope_misfit", "outcome": "passed", "keywords": ["test_envelope_misfit", "filterwarnings", "TestTf", "test_tf_misfit.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019885700001509576}}, {"call": {"outcome": "passed", "duration": 0.0052251509999905466}, "setup": {"outcome": "passed", "duration": 0.000364332000003742}, "lineno": 201, "nodeid": "signal/tests/test_tf_misfit.py::TestTf::test_envelope_gof", "outcome": "passed", "keywords": ["test_envelope_gof", "filterwarnings", "TestTf", "test_tf_misfit.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021834300000023177}}, {"call": {"outcome": "passed", "duration": 0.4844038919999889}, "setup": {"outcome": "passed", "duration": 0.0011367970000151217}, "lineno": 278, "nodeid": "signal/tests/test_tf_misfit.py::TestTfPlot::test_plot_tfr", "outcome": "passed", "keywords": ["test_plot_tfr", "filterwarnings", "image", "TestTfPlot", "test_tf_misfit.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003254300000037347}}, {"call": {"outcome": "passed", "duration": 1.0997198139999966}, "setup": {"outcome": "passed", "duration": 0.000576033000015741}, "lineno": 285, "nodeid": "signal/tests/test_tf_misfit.py::TestTfPlot::test_plot_tf_misfits", "outcome": "passed", "keywords": ["test_plot_tf_misfits", "filterwarnings", "image", "TestTfPlot", "test_tf_misfit.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003380939999999555}}, {"call": {"outcome": "passed", "duration": 1.0256382279999912}, "setup": {"outcome": "passed", "duration": 0.0006067999999856966}, "lineno": 290, "nodeid": "signal/tests/test_tf_misfit.py::TestTfPlot::test_plot_tf_gofs", "outcome": "passed", "keywords": ["test_plot_tf_gofs", "filterwarnings", "image", "TestTfPlot", "test_tf_misfit.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0006063170000061291}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025625229999945986, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_trace.py\", line 22, in test_simulate\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000535847000008971}, "lineno": 16, "nodeid": "signal/tests/test_trace.py::TestTrace::test_simulate", "outcome": "failed", "keywords": ["test_simulate", "filterwarnings", "TestTrace", "test_trace.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002077630000201225}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py", "lineno": 67, "message": "pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "outcome": "failed", "duration": 0.06278224300001511, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/copy.py\", line 172, in _deepcopy_atomic\n    def _deepcopy_atomic(x, memo):\n    \nResourceWarning: unclosed file <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 158, in pytest_runtest_call\n    collect_unraisable(item.config)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 79, in collect_unraisable\n    raise errors[0]\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/unraisableexception.py\", line 67, in collect_unraisable\n    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))\npytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO name='/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/data/example.npz' mode='rb' closefd=True>\nEnable tracemalloc to get traceback where the object was allocated.\nSee https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info."}, "setup": {"outcome": "passed", "duration": 0.0003540019999945798}, "lineno": 42, "nodeid": "signal/tests/test_trace.py::TestTrace::test_filter", "outcome": "failed", "keywords": ["test_filter", "filterwarnings", "TestTrace", "test_trace.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000272752999990189}}, {"call": {"outcome": "passed", "duration": 0.01074401900001476}, "setup": {"outcome": "passed", "duration": 0.00037767599999938284}, "lineno": 135, "nodeid": "signal/tests/test_trace.py::TestTrace::test_decimate", "outcome": "passed", "keywords": ["test_decimate", "filterwarnings", "TestTrace", "test_trace.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021626800000262847}}, {"call": {"outcome": "passed", "duration": 0.0005989229999840973}, "setup": {"outcome": "passed", "duration": 0.00270289099998422}, "lineno": 49, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_rec_sta_lta_c", "outcome": "passed", "keywords": ["test_rec_sta_lta_c", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022934200001145655}}, {"call": {"outcome": "passed", "duration": 0.07179514200001336}, "setup": {"outcome": "passed", "duration": 0.0003732579999962127}, "lineno": 60, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_rec_sta_lta_python", "outcome": "passed", "keywords": ["test_rec_sta_lta_python", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002495100000032835}}, {"call": {"outcome": "passed", "duration": 0.00040929400000777605}, "setup": {"outcome": "passed", "duration": 0.00043433999999820116}, "lineno": 71, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_rec_sta_lta_raise", "outcome": "passed", "keywords": ["test_rec_sta_lta_raise", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001836489999789137}}, {"call": {"outcome": "passed", "duration": 0.11312798800000223}, "setup": {"outcome": "passed", "duration": 0.0016457719999891651}, "lineno": 84, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_pk_baer", "outcome": "passed", "keywords": ["test_pk_baer", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025684400000614005}}, {"call": {"outcome": "passed", "duration": 0.11775625699999637}, "setup": {"outcome": "passed", "duration": 0.0004756659999998192}, "lineno": 97, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_pk_baer_cf", "outcome": "passed", "keywords": ["test_pk_baer_cf", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002552800000046318}}, {"call": {"outcome": "passed", "duration": 0.0004610500000126194}, "setup": {"outcome": "passed", "duration": 0.000420884999982718}, "lineno": 112, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_aic_simple_constant_data", "outcome": "passed", "keywords": ["test_aic_simple_constant_data", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018313800001124036}}, {"call": {"outcome": "passed", "duration": 0.0003484720000130892}, "setup": {"outcome": "passed", "duration": 0.0003396060000113721}, "lineno": 117, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_aic_simple_small_size", "outcome": "passed", "keywords": ["test_aic_simple_small_size", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016808999998829677}}, {"call": {"outcome": "passed", "duration": 0.0038698520000082226}, "setup": {"outcome": "passed", "duration": 0.0003436130000125104}, "lineno": 121, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_aic_simple", "outcome": "passed", "keywords": ["test_aic_simple", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001768260000005739}}, {"call": {"outcome": "passed", "duration": 0.04100282899997865}, "setup": {"outcome": "passed", "duration": 0.00040457599999399463}, "lineno": 129, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_ar_pick", "outcome": "passed", "keywords": ["test_ar_pick", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00032282500001201697}}, {"call": {"outcome": "passed", "duration": 0.04026144299999146}, "setup": {"outcome": "passed", "duration": 0.0009159170000145878}, "lineno": 154, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_ar_pick_low_amplitude", "outcome": "passed", "keywords": ["test_ar_pick_low_amplitude", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002715939999973216}}, {"call": {"outcome": "passed", "duration": 0.0050969330000043556}, "setup": {"outcome": "passed", "duration": 0.0005785230000014963}, "lineno": 177, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_ar_pick_3552", "outcome": "passed", "keywords": ["test_ar_pick_3552", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023325299997623006}}, {"call": {"outcome": "passed", "duration": 0.0007542089999788004}, "setup": {"outcome": "passed", "duration": 0.00043686999998726606}, "lineno": 188, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_trigger_onset", "outcome": "passed", "keywords": ["test_trigger_onset", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002184249999857002}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001686919000007947, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_trigger.py\", line 235, in test_trigger_onset_issue_2891\n    tr = read(testdata['BW.UH1._.EHZ.D.2010.147.a.slist.gz'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004904300000134754}, "lineno": 223, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_trigger_onset_issue_2891", "outcome": "failed", "keywords": ["test_trigger_onset_issue_2891", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022614999997472296}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002135200999987319, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_trigger.py\", line 249, in test_coincidence_trigger\n    st += read(testdata[filename])\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004686389999903895}, "lineno": 238, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_coincidence_trigger", "outcome": "failed", "keywords": ["test_coincidence_trigger", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002165920000152255}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018381589999876269, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_trigger.py\", line 474, in test_coincidence_trigger_with_similarity_checking\n    st += read(testdata[filename])\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004594220000058158}, "lineno": 460, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_coincidence_trigger_with_similarity_checking", "outcome": "failed", "keywords": ["test_coincidence_trigger_with_similarity_checking", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024699900001223796}}, {"call": {"outcome": "passed", "duration": 0.0019476129999986824}, "setup": {"outcome": "passed", "duration": 0.0003902240000002166}, "lineno": 568, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_classic_sta_lta_c_python", "outcome": "passed", "keywords": ["test_classic_sta_lta_c_python", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022220200000333534}}, {"call": {"outcome": "passed", "duration": 0.0004563769999776923}, "setup": {"outcome": "passed", "duration": 0.0005195439999852169}, "lineno": 586, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_zero[1]", "outcome": "passed", "keywords": ["test_all_zero[1]", "parametrize", "pytestmark", "1", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019558299999289375}}, {"call": {"outcome": "passed", "duration": 0.00036241199998698903}, "setup": {"outcome": "passed", "duration": 0.00045104599999490347}, "lineno": 586, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_zero[2]", "outcome": "passed", "keywords": ["test_all_zero[2]", "parametrize", "pytestmark", "2", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019023300001208554}}, {"call": {"outcome": "passed", "duration": 0.00033987099999421844}, "setup": {"outcome": "passed", "duration": 0.00046763699998564334}, "lineno": 586, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_zero[3]", "outcome": "passed", "keywords": ["test_all_zero[3]", "parametrize", "pytestmark", "3", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019054300000220792}}, {"call": {"outcome": "passed", "duration": 0.00033751600000186954}, "setup": {"outcome": "passed", "duration": 0.0004541829999880065}, "lineno": 586, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_zero[4]", "outcome": "passed", "keywords": ["test_all_zero[4]", "parametrize", "pytestmark", "4", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018644600001493927}}, {"call": {"outcome": "passed", "duration": 0.0004002130000060333}, "setup": {"outcome": "passed", "duration": 0.00035374600000182}, "lineno": 592, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_arange", "outcome": "passed", "keywords": ["test_arange", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017788000002383342}}, {"call": {"outcome": "passed", "duration": 0.00034272599998530495}, "setup": {"outcome": "passed", "duration": 0.0004480409999985113}, "lineno": 599, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_ones[1]", "outcome": "passed", "keywords": ["test_all_ones[1]", "parametrize", "pytestmark", "1", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001889899999980571}}, {"call": {"outcome": "passed", "duration": 0.0003328679999867745}, "setup": {"outcome": "passed", "duration": 0.0004589710000004743}, "lineno": 599, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_ones[2]", "outcome": "passed", "keywords": ["test_all_ones[2]", "parametrize", "pytestmark", "2", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018649599999776}}, {"call": {"outcome": "passed", "duration": 0.0003488969999807523}, "setup": {"outcome": "passed", "duration": 0.0004254490000050737}, "lineno": 599, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_ones[3]", "outcome": "passed", "keywords": ["test_all_ones[3]", "parametrize", "pytestmark", "3", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018890000001192675}}, {"call": {"outcome": "passed", "duration": 0.0003282489999776317}, "setup": {"outcome": "passed", "duration": 0.0004463779999923645}, "lineno": 599, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_ones[4]", "outcome": "passed", "keywords": ["test_all_ones[4]", "parametrize", "pytestmark", "4", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001868470000090383}}, {"call": {"outcome": "passed", "duration": 0.0003305030000149145}, "setup": {"outcome": "passed", "duration": 0.0004407570000068972}, "lineno": 599, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_ones[5]", "outcome": "passed", "keywords": ["test_all_ones[5]", "parametrize", "pytestmark", "5", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001902529999995295}}, {"call": {"outcome": "passed", "duration": 0.0033226230000025225}, "setup": {"outcome": "passed", "duration": 0.00043499800000290634}, "lineno": 609, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_nsta_too_large[6]", "outcome": "passed", "keywords": ["test_nsta_too_large[6]", "parametrize", "pytestmark", "6", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019541300000014417}}, {"call": {"outcome": "passed", "duration": 0.003270886999985123}, "setup": {"outcome": "passed", "duration": 0.0004437119999920469}, "lineno": 609, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_nsta_too_large[10]", "outcome": "passed", "keywords": ["test_nsta_too_large[10]", "parametrize", "pytestmark", "10", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019007200000942248}}, {"call": {"outcome": "passed", "duration": 0.0032731599999920036}, "setup": {"outcome": "passed", "duration": 0.00045368099998199796}, "lineno": 609, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_nsta_too_large[20]", "outcome": "passed", "keywords": ["test_nsta_too_large[20]", "parametrize", "pytestmark", "20", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019059299998502865}}, {"call": {"outcome": "passed", "duration": 0.00223203999999555}, "setup": {"outcome": "passed", "duration": 0.00044059800001150506}, "lineno": 617, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_nsta_zero_or_less[0]", "outcome": "passed", "keywords": ["test_nsta_zero_or_less[0]", "parametrize", "pytestmark", "0", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019321799999261202}}, {"call": {"outcome": "passed", "duration": 0.002225868000010678}, "setup": {"outcome": "passed", "duration": 0.0004519979999884072}, "lineno": 617, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_nsta_zero_or_less[-1]", "outcome": "passed", "keywords": ["test_nsta_zero_or_less[-1]", "parametrize", "pytestmark", "-1", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021025999998869338}}, {"call": {"outcome": "passed", "duration": 0.002258468999997376}, "setup": {"outcome": "passed", "duration": 0.00043616899998255576}, "lineno": 617, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_nsta_zero_or_less[-10]", "outcome": "passed", "keywords": ["test_nsta_zero_or_less[-10]", "parametrize", "pytestmark", "-10", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018890000001192675}}, {"call": {"outcome": "passed", "duration": 0.00046395000001098197}, "setup": {"outcome": "passed", "duration": 0.00045170799998572875}, "lineno": 631, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_zero[1]", "outcome": "passed", "keywords": ["test_all_zero[1]", "parametrize", "pytestmark", "1", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018905000001723238}}, {"call": {"outcome": "passed", "duration": 0.0003418340000109765}, "setup": {"outcome": "passed", "duration": 0.0004497239999921021}, "lineno": 631, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_zero[2]", "outcome": "passed", "keywords": ["test_all_zero[2]", "parametrize", "pytestmark", "2", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020617199999151126}}, {"call": {"outcome": "passed", "duration": 0.000341402999993079}, "setup": {"outcome": "passed", "duration": 0.0004214119999801369}, "lineno": 631, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_zero[3]", "outcome": "passed", "keywords": ["test_all_zero[3]", "parametrize", "pytestmark", "3", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001857850000135386}}, {"call": {"outcome": "passed", "duration": 0.0003571530000101575}, "setup": {"outcome": "passed", "duration": 0.0004295770000055654}, "lineno": 631, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_zero[4]", "outcome": "passed", "keywords": ["test_all_zero[4]", "parametrize", "pytestmark", "4", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018570399998907305}}, {"call": {"outcome": "passed", "duration": 0.00038227999999662643}, "setup": {"outcome": "passed", "duration": 0.00036962599997991674}, "lineno": 637, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_arange", "outcome": "passed", "keywords": ["test_arange", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022801299999741786}}, {"call": {"outcome": "passed", "duration": 0.00035658100000546256}, "setup": {"outcome": "passed", "duration": 0.0004260500000157208}, "lineno": 645, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_ones[1]", "outcome": "passed", "keywords": ["test_all_ones[1]", "parametrize", "pytestmark", "1", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001890609999861681}}, {"call": {"outcome": "passed", "duration": 0.0003629530000068826}, "setup": {"outcome": "passed", "duration": 0.0004285859999981767}, "lineno": 645, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_ones[2]", "outcome": "passed", "keywords": ["test_all_ones[2]", "parametrize", "pytestmark", "2", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018991199999618402}}, {"call": {"outcome": "passed", "duration": 0.00033797599999729755}, "setup": {"outcome": "passed", "duration": 0.0004586910000057287}, "lineno": 645, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_ones[3]", "outcome": "passed", "keywords": ["test_all_ones[3]", "parametrize", "pytestmark", "3", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019854799998597628}}, {"call": {"outcome": "passed", "duration": 0.0003361540000241803}, "setup": {"outcome": "passed", "duration": 0.00044974400000796777}, "lineno": 645, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_ones[4]", "outcome": "passed", "keywords": ["test_all_ones[4]", "parametrize", "pytestmark", "4", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018274900000392336}}, {"call": {"outcome": "passed", "duration": 0.00036008700001843863}, "setup": {"outcome": "passed", "duration": 0.0004320710000058625}, "lineno": 645, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_ones[5]", "outcome": "passed", "keywords": ["test_all_ones[5]", "parametrize", "pytestmark", "5", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018565499999567692}}, {"call": {"outcome": "passed", "duration": 0.0002769339999986187}, "setup": {"outcome": "passed", "duration": 0.00044273100002101273}, "lineno": 655, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_too_large[6]", "outcome": "passed", "keywords": ["test_nsta_too_large[6]", "parametrize", "pytestmark", "6", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026714599999877464}}, {"call": {"outcome": "passed", "duration": 0.0002565860000061093}, "setup": {"outcome": "passed", "duration": 0.0005978079999806596}, "lineno": 655, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_too_large[10]", "outcome": "passed", "keywords": ["test_nsta_too_large[10]", "parametrize", "pytestmark", "10", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020043099999611513}}, {"call": {"outcome": "passed", "duration": 0.00025350999999318446}, "setup": {"outcome": "passed", "duration": 0.00042726200001652614}, "lineno": 655, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_too_large[20]", "outcome": "passed", "keywords": ["test_nsta_too_large[20]", "parametrize", "pytestmark", "20", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018092499999511347}}, {"call": {"outcome": "passed", "duration": 0.0002521080000121856}, "setup": {"outcome": "passed", "duration": 0.0004244769999957043}, "lineno": 663, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_zero_or_less[0]", "outcome": "passed", "keywords": ["test_nsta_zero_or_less[0]", "parametrize", "pytestmark", "0", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018674700001497513}}, {"call": {"outcome": "passed", "duration": 0.0002462060000141264}, "setup": {"outcome": "passed", "duration": 0.00041207399999620975}, "lineno": 663, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_zero_or_less[-1]", "outcome": "passed", "keywords": ["test_nsta_zero_or_less[-1]", "parametrize", "pytestmark", "-1", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001924069999859057}}, {"call": {"outcome": "passed", "duration": 0.0002477900000030786}, "setup": {"outcome": "passed", "duration": 0.00041471899999123707}, "lineno": 663, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_zero_or_less[-10]", "outcome": "passed", "keywords": ["test_nsta_zero_or_less[-10]", "parametrize", "pytestmark", "-10", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025110600000743943}}, {"call": {"outcome": "passed", "duration": 0.0036647569999956886}, "setup": {"outcome": "passed", "duration": 0.000429507000006879}, "lineno": 1138, "nodeid": "signal/tf_misfit.py::obspy.signal.tf_misfit.plot_tf_gofs", "outcome": "passed", "keywords": ["obspy.signal.tf_misfit.plot_tf_gofs", "filterwarnings", "tf_misfit.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016906300001551244}}, {"call": {"outcome": "passed", "duration": 0.003663814999981696}, "setup": {"outcome": "passed", "duration": 0.0003240009999956328}, "lineno": 870, "nodeid": "signal/tf_misfit.py::obspy.signal.tf_misfit.plot_tf_misfits", "outcome": "passed", "keywords": ["obspy.signal.tf_misfit.plot_tf_misfits", "filterwarnings", "tf_misfit.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016736999998556712}}, {"call": {"outcome": "failed", "duration": 0.6732337600000164, "longrepr": "1429         make demeaning/tapering necessary to avoid artifacts)\n1430 \n1431     :return: If show is False, returns a matplotlib.pyplot.figure object\n1432         (single component data) or a list of figure objects (multi component\n1433         data)\n1434 \n1435     .. rubric:: Example\n1436 \n1437     >>> from obspy import read\n1438     >>> tr = read(\"https://examples.obspy.org/a02i.2008.240.mseed\")[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.tf_misfit.plot_tfr[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 751, in _generic_reader\n    generic = callback_func(fh.name, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tf_misfit.py:1438: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003419640000004165}, "lineno": 1397, "nodeid": "signal/tf_misfit.py::obspy.signal.tf_misfit.plot_tfr", "outcome": "failed", "keywords": ["obspy.signal.tf_misfit.plot_tfr", "filterwarnings", "tf_misfit.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002629379999916637}}, {"call": {"outcome": "passed", "duration": 0.010345467999997027}, "setup": {"outcome": "passed", "duration": 0.0005236309999929745}, "lineno": 248, "nodeid": "signal/util.py::obspy.signal.util._npts2nfft", "outcome": "passed", "keywords": ["obspy.signal.util._npts2nfft", "filterwarnings", "util.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002034780000030878}}, {"call": {"outcome": "passed", "duration": 0.0030000950000044213}, "setup": {"outcome": "passed", "duration": 0.00037177900000529007}, "lineno": 79, "nodeid": "signal/util.py::obspy.signal.util.next_pow_2", "outcome": "passed", "keywords": ["obspy.signal.util.next_pow_2", "filterwarnings", "util.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017505400001027738}}, {"call": {"outcome": "passed", "duration": 0.002769757999999456}, "setup": {"outcome": "passed", "duration": 0.00032840900001929185}, "lineno": 93, "nodeid": "signal/util.py::obspy.signal.util.prev_pow_2", "outcome": "passed", "keywords": ["obspy.signal.util.prev_pow_2", "filterwarnings", "util.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017055600000048798}}, {"call": {"outcome": "passed", "duration": 0.0028406790000019555}, "setup": {"outcome": "passed", "duration": 0.0003353519999791388}, "lineno": 22, "nodeid": "signal/util.py::obspy.signal.util.util_geo_km", "outcome": "passed", "keywords": ["obspy.signal.util.util_geo_km", "filterwarnings", "util.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017380299999558702}}, {"call": {"outcome": "passed", "duration": 0.0027154660000121567}, "setup": {"outcome": "passed", "duration": 0.0003360329999964051}, "lineno": 49, "nodeid": "signal/util.py::obspy.signal.util.util_lon_lat", "outcome": "passed", "keywords": ["obspy.signal.util.util_lon_lat", "filterwarnings", "util.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017885100001535648}}, {"call": {"outcome": "passed", "duration": 4.741624021999996}, "setup": {"outcome": "passed", "duration": 0.0007876610000039364}, "lineno": 1, "nodeid": "taup/__init__.py::obspy.taup", "outcome": "passed", "keywords": ["obspy.taup", "filterwarnings", "__init__.py", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002457429999935812}}, {"call": {"outcome": "passed", "duration": 1.0710472259999904}, "setup": {"outcome": "passed", "duration": 0.0005630070000108844}, "lineno": 630, "nodeid": "taup/tau.py::obspy.taup.tau.TauPyModel.__init__", "outcome": "passed", "keywords": ["obspy.taup.tau.TauPyModel.__init__", "filterwarnings", "tau.py", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003028179999944314}}, {"call": {"outcome": "passed", "duration": 0.6494538400000067}, "setup": {"outcome": "passed", "duration": 0.0004324269999926855}, "lineno": 1123, "nodeid": "taup/tau.py::obspy.taup.tau.plot_ray_paths", "outcome": "passed", "keywords": ["obspy.taup.tau.plot_ray_paths", "filterwarnings", "tau.py", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002482780000150342}}, {"call": {"outcome": "passed", "duration": 0.04063056900000106}, "setup": {"outcome": "passed", "duration": 0.00041439400001763715}, "lineno": 975, "nodeid": "taup/tau.py::obspy.taup.tau.plot_travel_times", "outcome": "passed", "keywords": ["obspy.taup.tau.plot_travel_times", "filterwarnings", "tau.py", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002664609999953882}}, {"call": {"outcome": "passed", "duration": 0.0006213560000105645}, "setup": {"outcome": "passed", "duration": 0.0009138549999931911}, "lineno": 12, "nodeid": "taup/tests/test_misc.py::TestTauPyMisc::test_leg_puller", "outcome": "passed", "keywords": ["test_leg_puller", "filterwarnings", "TestTauPyMisc", "test_misc.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020995700000980833}}, {"call": {"outcome": "passed", "duration": 1.27844125499999}, "setup": {"outcome": "passed", "duration": 0.0004626619999896775}, "lineno": 14, "nodeid": "taup/tests/test_ray_paths.py::TestRayPathCalculations::test_compute_ray_paths", "outcome": "passed", "keywords": ["test_compute_ray_paths", "skipif", "pytestmark", "filterwarnings", "TestRayPathCalculations", "test_ray_paths.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027302499998427265}}, {"call": {"outcome": "passed", "duration": 0.06628787899998656}, "setup": {"outcome": "passed", "duration": 0.00044428199998947093}, "lineno": 166, "nodeid": "taup/tests/test_ray_paths.py::TestRayPathCalculations::test_deep_source", "outcome": "passed", "keywords": ["test_deep_source", "filterwarnings", "TestRayPathCalculations", "test_ray_paths.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023086699999907978}}, {"call": {"outcome": "passed", "duration": 4.6230708770000035}, "setup": {"outcome": "passed", "duration": 0.026367604999990135}, "lineno": 28, "nodeid": "taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_shoot_existing_ray_param", "outcome": "passed", "keywords": ["test_shoot_existing_ray_param", "filterwarnings", "TestTauPySeismicPhase", "test_seismic_phase.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022650799999723858}}, {"call": {"outcome": "passed", "duration": 0.4495156679999752}, "setup": {"outcome": "passed", "duration": 0.0003716460000191546}, "lineno": 50, "nodeid": "taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_shoot_middle_ray_param", "outcome": "passed", "keywords": ["test_shoot_middle_ray_param", "filterwarnings", "TestTauPySeismicPhase", "test_seismic_phase.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022798000000534557}}, {"call": {"outcome": "passed", "duration": 1.855047595000002}, "setup": {"outcome": "passed", "duration": 0.0008479139999906238}, "lineno": 61, "nodeid": "taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_many_identically_named_phases", "outcome": "passed", "keywords": ["test_many_identically_named_phases", "filterwarnings", "TestTauPySeismicPhase", "test_seismic_phase.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002680739999902926}}, {"call": {"outcome": "passed", "duration": 0.06661530299999185}, "setup": {"outcome": "passed", "duration": 0.000426376000007167}, "lineno": 76, "nodeid": "taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_diffracted_phases", "outcome": "passed", "keywords": ["test_diffracted_phases", "filterwarnings", "TestTauPySeismicPhase", "test_seismic_phase.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023046499998713443}}, {"call": {"outcome": "passed", "duration": 0.004711088000021846}, "setup": {"outcome": "passed", "duration": 0.0003889879999974255}, "lineno": 98, "nodeid": "taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_phase_names", "outcome": "passed", "keywords": ["test_phase_names", "filterwarnings", "TestTauPySeismicPhase", "test_seismic_phase.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028768000001377914}}, {"call": {"outcome": "passed", "duration": 0.00031593299999599367}, "setup": {"outcome": "passed", "duration": 0.00040063899999154273}, "lineno": 13, "nodeid": "taup/tests/test_slowness_model.py::TestTauPySlownessModel::test_slowness_layer", "outcome": "passed", "keywords": ["test_slowness_layer", "filterwarnings", "TestTauPySlownessModel", "test_slowness_model.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016909199999304292}}, {"call": {"outcome": "passed", "duration": 0.00046601899998677254}, "setup": {"outcome": "passed", "duration": 0.00031268600000089464}, "lineno": 30, "nodeid": "taup/tests/test_slowness_model.py::TestBullenDepth::test_overflow", "outcome": "passed", "keywords": ["test_overflow", "filterwarnings", "TestBullenDepth", "test_slowness_model.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017419199997448231}}, {"call": {"outcome": "passed", "duration": 0.08131242599998245}, "setup": {"outcome": "passed", "duration": 0.0003838579999921876}, "lineno": 15, "nodeid": "taup/tests/test_split_model.py::TestSplitTauModel::test_split", "outcome": "passed", "keywords": ["test_split", "filterwarnings", "TestSplitTauModel", "test_split_model.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002498709999940729}}, {"call": {"outcome": "passed", "duration": 0.02663296299999729}, "setup": {"outcome": "passed", "duration": 0.0004289710000193736}, "lineno": 109, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_iasp91_manual", "outcome": "passed", "keywords": ["test_p_iasp91_manual", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021056799999996656}}, {"call": {"outcome": "passed", "duration": 0.027203654999993887}, "setup": {"outcome": "passed", "duration": 0.0003491330000144899}, "lineno": 128, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_iasp91_geo_manual", "outcome": "passed", "keywords": ["test_p_iasp91_geo_manual", "skipif", "pytestmark", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021285299999362906}}, {"call": {"outcome": "passed", "duration": 0.026633174000011195}, "setup": {"outcome": "passed", "duration": 0.0003540929999985565}, "lineno": 154, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_iasp91_geo_fallback_manual", "outcome": "passed", "keywords": ["test_p_iasp91_geo_fallback_manual", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022685799999067058}}, {"call": {"outcome": "passed", "duration": 0.08456293000000414}, "setup": {"outcome": "passed", "duration": 0.0009456839999870681}, "lineno": 182, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_iasp91", "outcome": "passed", "keywords": ["test_p_iasp91", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002484580000157166}}, {"call": {"outcome": "passed", "duration": 0.1176030740000158}, "setup": {"outcome": "passed", "duration": 0.00047659899999530353}, "lineno": 195, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_ak135", "outcome": "passed", "keywords": ["test_p_ak135", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025451999999859254}}, {"call": {"outcome": "passed", "duration": 0.08022407900000417}, "setup": {"outcome": "passed", "duration": 0.0004740640000022722}, "lineno": 209, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_ak135f_no_mud", "outcome": "passed", "keywords": ["test_p_ak135f_no_mud", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024361899997416003}}, {"call": {"outcome": "passed", "duration": 0.08034263799999053}, "setup": {"outcome": "passed", "duration": 0.0004553800000053343}, "lineno": 224, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_jb", "outcome": "passed", "keywords": ["test_p_jb", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002478170000017599}}, {"call": {"outcome": "passed", "duration": 0.07615692699999954}, "setup": {"outcome": "passed", "duration": 0.0004617520000067543}, "lineno": 238, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_pwdk", "outcome": "passed", "keywords": ["test_p_pwdk", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002520350000168037}}, {"call": {"outcome": "passed", "duration": 0.9438416589999861}, "setup": {"outcome": "passed", "duration": 0.0004834420000179307}, "lineno": 252, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_iasp91", "outcome": "passed", "keywords": ["test_iasp91", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002933709999979328}}, {"call": {"outcome": "passed", "duration": 0.9506656069999906}, "setup": {"outcome": "passed", "duration": 0.0005169030000047314}, "lineno": 267, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_ak135", "outcome": "passed", "keywords": ["test_ak135", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028395400002523274}}, {"call": {"outcome": "passed", "duration": 0.03446238299997617}, "setup": {"outcome": "passed", "duration": 0.0004268579999973099}, "lineno": 282, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_pierce_p_iasp91", "outcome": "passed", "keywords": ["test_pierce_p_iasp91", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024394999999799438}}, {"call": {"outcome": "passed", "duration": 0.03610491199998478}, "setup": {"outcome": "passed", "duration": 0.000401931000027389}, "lineno": 305, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_pierce_p_iasp91_geo", "outcome": "passed", "keywords": ["test_pierce_p_iasp91_geo", "skipif", "pytestmark", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022498399999903995}}, {"call": {"outcome": "passed", "duration": 0.03474705799999356}, "setup": {"outcome": "passed", "duration": 0.0004042160000210515}, "lineno": 344, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_pierce_p_iasp91_fallback_geo", "outcome": "passed", "keywords": ["test_pierce_p_iasp91_fallback_geo", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002260569999918971}}, {"call": {"outcome": "passed", "duration": 2.6583526549999874}, "setup": {"outcome": "passed", "duration": 0.0003812439999819617}, "lineno": 387, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_vs_java_iasp91", "outcome": "passed", "keywords": ["test_vs_java_iasp91", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000262282999983654}}, {"call": {"outcome": "passed", "duration": 0.5302666750000071}, "setup": {"outcome": "passed", "duration": 0.0004299240000023019}, "lineno": 464, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_pierce_all_phases", "outcome": "passed", "keywords": ["test_pierce_all_phases", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002578859999857741}}, {"call": {"outcome": "passed", "duration": 0.09495570500001804}, "setup": {"outcome": "passed", "duration": 0.0003844089999915923}, "lineno": 506, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_pierce_add_depth", "outcome": "passed", "keywords": ["test_pierce_add_depth", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023085499998387604}}, {"call": {"outcome": "passed", "duration": 0.05461486799998738}, "setup": {"outcome": "passed", "duration": 0.0003965419999758524}, "lineno": 518, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_single_path_iasp91", "outcome": "passed", "keywords": ["test_single_path_iasp91", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022287100000539795}}, {"call": {"outcome": "passed", "duration": 0.06489252799997303}, "setup": {"outcome": "passed", "duration": 0.00040279299997791895}, "lineno": 547, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_single_path_geo_iasp91", "outcome": "passed", "keywords": ["test_single_path_geo_iasp91", "skipif", "pytestmark", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022427400000424313}}, {"call": {"outcome": "passed", "duration": 0.05484521300002143}, "setup": {"outcome": "passed", "duration": 0.00038095299998985865}, "lineno": 613, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_single_path_geo_fallback_iasp91", "outcome": "passed", "keywords": ["test_single_path_geo_fallback_iasp91", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023736800000051517}}, {"call": {"outcome": "passed", "duration": 0.054532045999962975}, "setup": {"outcome": "passed", "duration": 0.0004081629999745928}, "lineno": 664, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_single_path_ak135", "outcome": "passed", "keywords": ["test_single_path_ak135", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022484499999109175}}, {"call": {"outcome": "passed", "duration": 1.1840278990000002}, "setup": {"outcome": "passed", "duration": 0.0004214179999735279}, "lineno": 747, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_p_deep", "outcome": "passed", "keywords": ["test_kennet_ak135_ttime_tables_p_deep", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024140499999703025}}, {"call": {"outcome": "passed", "duration": 1.118817689000025}, "setup": {"outcome": "passed", "duration": 0.0004177910000180418}, "lineno": 751, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_p_shallow", "outcome": "passed", "keywords": ["test_kennet_ak135_ttime_tables_p_shallow", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002478830000427479}}, {"call": {"outcome": "passed", "duration": 0.6125559469999757}, "setup": {"outcome": "passed", "duration": 0.00042216800000005605}, "lineno": 755, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_pcp", "outcome": "passed", "keywords": ["test_kennet_ak135_ttime_tables_pcp", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002447969999934685}}, {"call": {"outcome": "passed", "duration": 0.6351790790000109}, "setup": {"outcome": "passed", "duration": 0.00040374399998199806}, "lineno": 759, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_pkikp", "outcome": "passed", "keywords": ["test_kennet_ak135_ttime_tables_pkikp", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002575720000095316}}, {"call": {"outcome": "passed", "duration": 1.0032413710000014}, "setup": {"outcome": "passed", "duration": 0.0004268870000032621}, "lineno": 763, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_s_deep", "outcome": "passed", "keywords": ["test_kennet_ak135_ttime_tables_s_deep", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026236500002596586}}, {"call": {"outcome": "passed", "duration": 1.2119299119999596}, "setup": {"outcome": "passed", "duration": 0.00043267799998147893}, "lineno": 767, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_s_shallow", "outcome": "passed", "keywords": ["test_kennet_ak135_ttime_tables_s_shallow", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002857779999771992}}, {"call": {"outcome": "passed", "duration": 0.49852529999998296}, "setup": {"outcome": "passed", "duration": 0.00046760300000414645}, "lineno": 771, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_scp", "outcome": "passed", "keywords": ["test_kennet_ak135_ttime_tables_scp", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022566599994888747}}, {"call": {"outcome": "passed", "duration": 0.5980863039999917}, "setup": {"outcome": "passed", "duration": 0.00040641000003915906}, "lineno": 775, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_scs", "outcome": "passed", "keywords": ["test_kennet_ak135_ttime_tables_scs", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002834129999769175}}, {"call": {"outcome": "passed", "duration": 0.20279370299999755}, "setup": {"outcome": "passed", "duration": 0.0004486280000151055}, "lineno": 779, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_java_pnps", "outcome": "passed", "keywords": ["test_java_pnps", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024899900000718844}}, {"call": {"outcome": "passed", "duration": 0.7873046789999876}, "setup": {"outcome": "passed", "duration": 0.0004236620000028779}, "lineno": 796, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_surface_wave_ttimes", "outcome": "passed", "keywords": ["test_surface_wave_ttimes", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023701699996081516}}, {"call": {"outcome": "passed", "duration": 0.07633563000001686}, "setup": {"outcome": "passed", "duration": 0.00039157300000169926}, "lineno": 833, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_underside_reflections", "outcome": "passed", "keywords": ["test_underside_reflections", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023498399997379238}}, {"call": {"outcome": "passed", "duration": 0.05692747899996675}, "setup": {"outcome": "passed", "duration": 0.00040247300000828545}, "lineno": 849, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_buried_receiver", "outcome": "passed", "keywords": ["test_buried_receiver", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028554599998642516}}, {"call": {"outcome": "passed", "duration": 0.3513258460000088}, "setup": {"outcome": "passed", "duration": 0.0004154760000005808}, "lineno": 862, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_different_models", "outcome": "passed", "keywords": ["test_different_models", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026109200001656063}}, {"call": {"outcome": "passed", "duration": 0.03178944600000477}, "setup": {"outcome": "passed", "duration": 0.0004458430000227054}, "lineno": 890, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_paths_for_crustal_phases", "outcome": "passed", "keywords": ["test_paths_for_crustal_phases", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023072599998386067}}, {"call": {"outcome": "passed", "duration": 0.031231104999960735}, "setup": {"outcome": "passed", "duration": 0.00036027499999136126}, "lineno": 984, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_arrivals_class", "outcome": "passed", "keywords": ["test_arrivals_class", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000227749999964999}}, {"call": {"outcome": "passed", "duration": 4.663741314999982}, "setup": {"outcome": "passed", "duration": 0.0008519719999640074}, "lineno": 1033, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_regional_models", "outcome": "passed", "keywords": ["test_regional_models", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002973790000169174}}, {"call": {"outcome": "passed", "duration": 1.0237947130000293}, "setup": {"outcome": "passed", "duration": 0.00048524600003929663}, "lineno": 1074, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_fruit", "outcome": "passed", "keywords": ["test_fruit", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023480400000153168}}, {"call": {"outcome": "passed", "duration": 1.1690734010000483}, "setup": {"outcome": "passed", "duration": 0.0004029750000427157}, "lineno": 1112, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_high_slowness_crust", "outcome": "passed", "keywords": ["test_high_slowness_crust", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003498060000310943}}, {"call": {"outcome": "passed", "duration": 0.9777803759999983}, "setup": {"outcome": "passed", "duration": 0.012019817000009425}, "lineno": 21, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeo::test_path_geo", "outcome": "passed", "keywords": ["test_path_geo", "skipif", "pytestmark", "filterwarnings", "TestTaupGeo", "test_taup_geo.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030021499998156287}}, {"call": {"outcome": "passed", "duration": 0.045242970999993304}, "setup": {"outcome": "passed", "duration": 0.0004611210000007304}, "lineno": 36, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeo::test_path_resampling", "outcome": "passed", "keywords": ["test_path_resampling", "skipif", "pytestmark", "filterwarnings", "TestTaupGeo", "test_taup_geo.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003301190000115639}}, {"call": {"outcome": "passed", "duration": 0.0004437690000145267}, "setup": {"outcome": "passed", "duration": 0.0004520450000313758}, "lineno": 146, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist::test_taup_geo_calc_dist_1", "outcome": "passed", "keywords": ["test_taup_geo_calc_dist_1", "filterwarnings", "TestTaupGeoDist", "test_taup_geo.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018916900000931491}}, {"call": {"outcome": "passed", "duration": 0.0003936669999689002}, "setup": {"outcome": "passed", "duration": 0.00034596899996586217}, "lineno": 156, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist::test_taup_geo_calc_dist_2", "outcome": "passed", "keywords": ["test_taup_geo_calc_dist_2", "filterwarnings", "TestTaupGeoDist", "test_taup_geo.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019997000003968424}}, {"call": {"outcome": "passed", "duration": 0.0004290729999638643}, "setup": {"outcome": "passed", "duration": 0.00031501199998729135}, "lineno": 166, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist::test_taup_geo_calc_dist_3", "outcome": "passed", "keywords": ["test_taup_geo_calc_dist_3", "filterwarnings", "TestTaupGeoDist", "test_taup_geo.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017891999999619657}}, {"call": {"outcome": "passed", "duration": 0.00041551700002173675}, "setup": {"outcome": "passed", "duration": 0.0003036410000163414}, "lineno": 176, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist::test_taup_geo_calc_dist_4", "outcome": "passed", "keywords": ["test_taup_geo_calc_dist_4", "filterwarnings", "TestTaupGeoDist", "test_taup_geo.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017184699999006625}}, {"call": {"outcome": "passed", "duration": 0.0010655379999775505}, "setup": {"outcome": "passed", "duration": 0.0003152720000230147}, "lineno": 186, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist::test_taup_geo_calc_dist_azi", "outcome": "passed", "keywords": ["test_taup_geo_calc_dist_azi", "filterwarnings", "TestTaupGeoDist", "test_taup_geo.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018028299996331043}}, {"call": {"outcome": "passed", "duration": 1.4465788759999896}, "setup": {"outcome": "passed", "duration": 0.01271186500002841}, "lineno": 34, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_spherical_many_phases", "outcome": "passed", "keywords": ["test_spherical_many_phases", "filterwarnings", "image", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0004622740000286285}}, {"call": {"outcome": "passed", "duration": 1.1481637150000097}, "setup": {"outcome": "passed", "duration": 0.0005264730000362761}, "lineno": 43, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_spherical_many_phases_buried_station", "outcome": "passed", "keywords": ["test_spherical_many_phases_buried_station", "filterwarnings", "image", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00030974399999195157}}, {"call": {"outcome": "passed", "duration": 1.2103940339999895}, "setup": {"outcome": "passed", "duration": 0.0005411629999798606}, "lineno": 52, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_spherical_many_phases_one_way", "outcome": "passed", "keywords": ["test_spherical_many_phases_one_way", "filterwarnings", "image", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00032211599994980133}}, {"call": {"outcome": "passed", "duration": 0.3339718899999866}, "setup": {"outcome": "passed", "duration": 0.0005602080000244314}, "lineno": 61, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_spherical_more_then_360_degrees", "outcome": "passed", "keywords": ["test_spherical_more_then_360_degrees", "filterwarnings", "image", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00031121699998948316}}, {"call": {"outcome": "passed", "duration": 0.216937664999989}, "setup": {"outcome": "passed", "duration": 0.000540391000015461}, "lineno": 70, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_spherical_diff_phases", "outcome": "passed", "keywords": ["test_spherical_diff_phases", "filterwarnings", "image", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003254330000004302}}, {"call": {"outcome": "passed", "duration": 0.8659080549999771}, "setup": {"outcome": "passed", "duration": 0.0005529349999733313}, "lineno": 84, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_cartesian_many_phases", "outcome": "passed", "keywords": ["test_cartesian_many_phases", "filterwarnings", "image", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003486059999886493}}, {"call": {"outcome": "passed", "duration": 0.733186652000029}, "setup": {"outcome": "passed", "duration": 0.0006170629999928678}, "lineno": 94, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_cartesian_many_phases_buried_station", "outcome": "passed", "keywords": ["test_cartesian_many_phases_buried_station", "filterwarnings", "image", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003377229999728115}}, {"call": {"outcome": "passed", "duration": 0.8507767340000214}, "setup": {"outcome": "passed", "duration": 0.000576133999970807}, "lineno": 104, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_cartesian_many_phases_one_way", "outcome": "passed", "keywords": ["test_cartesian_many_phases_one_way", "filterwarnings", "image", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00036987300001101175}}, {"call": {"outcome": "passed", "duration": 0.8579230689999804}, "setup": {"outcome": "passed", "duration": 0.0006299130000115838}, "lineno": 114, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_cartesian_many_phases_one_way_depr", "outcome": "passed", "keywords": ["test_cartesian_many_phases_one_way_depr", "filterwarnings", "image", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003620489999889287}}, {"call": {"outcome": "passed", "duration": 0.5021389880000129}, "setup": {"outcome": "passed", "duration": 0.0006233009999618844}, "lineno": 128, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_plot_travel_times", "outcome": "passed", "keywords": ["test_plot_travel_times", "filterwarnings", "image", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003660959999933766}}, {"call": {"outcome": "passed", "duration": 0.5451265790000548}, "setup": {"outcome": "passed", "duration": 0.0006058490000100392}, "lineno": 136, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_plot_travel_times_convenience_1", "outcome": "passed", "keywords": ["test_plot_travel_times_convenience_1", "filterwarnings", "image", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003848700000048666}}, {"call": {"outcome": "passed", "duration": 0.33719833500003915}, "setup": {"outcome": "passed", "duration": 0.0006234410000161006}, "lineno": 146, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_plot_travel_times_convenience_2", "outcome": "passed", "keywords": ["test_plot_travel_times_convenience_2", "filterwarnings", "image", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00037735699999075223}}, {"call": {"outcome": "passed", "duration": 0.3268949920000068}, "setup": {"outcome": "passed", "duration": 0.0006341810000094483}, "lineno": 153, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_plot_travel_times_convenience_3", "outcome": "passed", "keywords": ["test_plot_travel_times_convenience_3", "filterwarnings", "image", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003674580000279093}}, {"call": {"outcome": "passed", "duration": 0.0892185510000445}, "setup": {"outcome": "passed", "duration": 0.000426097000001846}, "lineno": 160, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_ray_plot_mismatching_axes_type_warnings", "outcome": "passed", "keywords": ["test_ray_plot_mismatching_axes_type_warnings", "filterwarnings", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025399899999456466}}, {"call": {"outcome": "passed", "duration": 0.047459669000033955}, "setup": {"outcome": "passed", "duration": 0.00041625899996233784}, "lineno": 198, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_invalid_plot_option", "outcome": "passed", "keywords": ["test_invalid_plot_option", "filterwarnings", "TestTauPyPlotting", "test_taup_plotting.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003475519999938115}}, {"call": {"outcome": "passed", "duration": 0.03912929700004497}, "setup": {"outcome": "passed", "duration": 0.0010572820000334104}, "lineno": 8, "nodeid": "taup/tests/test_velocity_model.py::TestTauPyVelocityModel::test_read_velocity_model", "outcome": "passed", "keywords": ["test_read_velocity_model", "filterwarnings", "TestTauPyVelocityModel", "test_velocity_model.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 1.1888985820000357}}], "ci_info": {"ci_url": "https://github.com/obspy/obspy/actions/runs/22670498712", "pr_url": "https://github.com/obspy/obspy/pull/3651", "runner_os": "Linux", "github_job": "run_tests", "github_sha": "509ef587ae1085f9e280ef2a47f6850f6b705b2f", "runner_arch": "X64", "github_actor": "megies", "issue_number": "3651", "github_action": "tests", "github_workflow": "tests", "github_event_name": "pull_request"}, "created": 1772629906.7070892, "summary": {"error": 70, "total": 2322, "failed": 589, "passed": 1643, "skipped": 20, "collected": 2438, "deselected": 116}, "duration": 167.47999548912048, "exitcode": 1, "warnings": [], "collectors": [{"nodeid": "", "result": [{"type": "Package", "nodeid": "."}], "outcome": "passed"}, {"nodeid": "__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/base.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/earthworm/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "clients/earthworm/__init__.py::obspy.clients.earthworm", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/earthworm/client.py", "result": [{"type": "DoctestItem", "lineno": 166, "nodeid": "clients/earthworm/client.py::obspy.clients.earthworm.client.Client.get_availability", "deselected": true}, {"type": "DoctestItem", "lineno": 46, "nodeid": "clients/earthworm/client.py::obspy.clients.earthworm.client.Client.get_waveforms", "deselected": true}, {"type": "DoctestItem", "lineno": 120, "nodeid": "clients/earthworm/client.py::obspy.clients.earthworm.client.Client.save_waveforms", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/earthworm/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/earthworm/tests/test_client.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/earthworm/tests/test_client.py::TestEWClient", "result": [{"type": "Function", "lineno": 84, "nodeid": "clients/earthworm/tests/test_client.py::TestEWClient::test_get_waveform", "deselected": true}, {"type": "Function", "lineno": 102, "nodeid": "clients/earthworm/tests/test_client.py::TestEWClient::test_get_waveform_no_cleanup", "deselected": true}, {"type": "Function", "lineno": 124, "nodeid": "clients/earthworm/tests/test_client.py::TestEWClient::test_get_waveform_widlcard", "deselected": true}, {"type": "Function", "lineno": 146, "nodeid": "clients/earthworm/tests/test_client.py::TestEWClient::test_save_waveform", "deselected": true}, {"type": "Function", "lineno": 179, "nodeid": "clients/earthworm/tests/test_client.py::TestEWClient::test_availability", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/earthworm/tests/test_client.py", "result": [{"type": "Class", "nodeid": "clients/earthworm/tests/test_client.py::TestEWClient"}], "outcome": "passed"}, {"nodeid": "clients/earthworm/tests", "result": [{"type": "DoctestModule", "nodeid": "clients/earthworm/tests/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/earthworm/tests/test_client.py"}, {"type": "Module", "nodeid": "clients/earthworm/tests/test_client.py"}], "outcome": "passed"}, {"nodeid": "clients/earthworm/waveserver.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/earthworm", "result": [{"type": "DoctestModule", "nodeid": "clients/earthworm/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/earthworm/client.py"}, {"type": "Package", "nodeid": "clients/earthworm/tests"}, {"type": "DoctestModule", "nodeid": "clients/earthworm/waveserver.py"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "clients/fdsn/__init__.py::obspy.clients.fdsn", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/fdsn/client.py", "result": [{"type": "DoctestItem", "lineno": 160, "nodeid": "clients/fdsn/client.py::obspy.clients.fdsn.client.Client.__init__", "deselected": true}, {"type": "DoctestItem", "lineno": 448, "nodeid": "clients/fdsn/client.py::obspy.clients.fdsn.client.Client.get_events", "deselected": true}, {"type": "DoctestItem", "lineno": 596, "nodeid": "clients/fdsn/client.py::obspy.clients.fdsn.client.Client.get_stations", "deselected": true}, {"type": "DoctestItem", "lineno": 1060, "nodeid": "clients/fdsn/client.py::obspy.clients.fdsn.client.Client.get_stations_bulk", "deselected": true}, {"type": "DoctestItem", "lineno": 795, "nodeid": "clients/fdsn/client.py::obspy.clients.fdsn.client.Client.get_waveforms", "deselected": true}, {"type": "DoctestItem", "lineno": 934, "nodeid": "clients/fdsn/client.py::obspy.clients.fdsn.client.Client.get_waveforms_bulk", "deselected": true}, {"type": "DoctestItem", "lineno": 1732, "nodeid": "clients/fdsn/client.py::obspy.clients.fdsn.client.build_url", "deselected": true}, {"type": "DoctestItem", "lineno": 1695, "nodeid": "clients/fdsn/client.py::obspy.clients.fdsn.client.convert_to_string", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/fdsn/header.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/mass_downloader/__init__.py", "result": [{"type": "DoctestItem", "lineno": 2, "nodeid": "clients/fdsn/mass_downloader/__init__.py::obspy.clients.fdsn.mass_downloader", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/fdsn/mass_downloader/domain.py", "result": [{"type": "DoctestItem", "lineno": 137, "nodeid": "clients/fdsn/mass_downloader/domain.py::obspy.clients.fdsn.mass_downloader.domain.CircularDomain", "deselected": true}, {"type": "DoctestItem", "lineno": 160, "nodeid": "clients/fdsn/mass_downloader/domain.py::obspy.clients.fdsn.mass_downloader.domain.GlobalDomain", "deselected": true}, {"type": "DoctestItem", "lineno": 114, "nodeid": "clients/fdsn/mass_downloader/domain.py::obspy.clients.fdsn.mass_downloader.domain.RectangularDomain", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/fdsn/mass_downloader/download_helpers.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/mass_downloader/mass_downloader.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/mass_downloader/restrictions.py", "result": [{"type": "DoctestItem", "lineno": 17, "nodeid": "clients/fdsn/mass_downloader/restrictions.py::obspy.clients.fdsn.mass_downloader.restrictions.Restrictions", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/fdsn/mass_downloader/utils.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/mass_downloader", "result": [{"type": "DoctestModule", "nodeid": "clients/fdsn/mass_downloader/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/mass_downloader/domain.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/mass_downloader/download_helpers.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/mass_downloader/mass_downloader.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/mass_downloader/restrictions.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/mass_downloader/utils.py"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/routing/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/routing/eidaws_routing_client.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/routing/federator_routing_client.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/routing/routing_client.py", "result": [{"type": "DoctestItem", "lineno": 32, "nodeid": "clients/fdsn/routing/routing_client.py::obspy.clients.fdsn.routing.routing_client.RoutingClient", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/fdsn/routing", "result": [{"type": "DoctestModule", "nodeid": "clients/fdsn/routing/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/routing/eidaws_routing_client.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/routing/federator_routing_client.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/routing/routing_client.py"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_base_routing_client.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient", "result": [{"type": "Function", "lineno": 48, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_router_intialization_helper_function"}, {"type": "Function", "lineno": 60, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_expansion_of_include_and_exclude_providers"}, {"type": "Function", "lineno": 83, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_request_filtering"}, {"type": "Function", "lineno": 113, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_downloading_waveforms"}, {"type": "Function", "lineno": 163, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_downloading_stations"}, {"type": "Function", "lineno": 193, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_unexpected_exception_handling"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_base_routing_client.py", "result": [{"type": "Class", "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_client.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_client.py::TestClient", "result": [{"type": "Function", "lineno": 117, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_trim_stream_after_get_waveform", "deselected": true}, {"type": "Function", "lineno": 131, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_service_discovery_iris", "deselected": true}, {"type": "Function", "lineno": 177, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_iris_event_catalog_availability", "deselected": true}, {"type": "Function", "lineno": 184, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_iris_event_contributors_availability", "deselected": true}, {"type": "Function", "lineno": 199, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_iris_example_queries_event", "deselected": true}, {"type": "Function", "lineno": 245, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_irisph5_event", "deselected": true}, {"type": "Function", "lineno": 258, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_iris_example_queries_station", "deselected": true}, {"type": "Function", "lineno": 329, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_iris_example_queries_dataselect", "deselected": true}, {"type": "Function", "lineno": 376, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_authentication", "deselected": true}, {"type": "Function", "lineno": 390, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_iris_example_queries_event_discover_services_false", "deselected": true}, {"type": "Function", "lineno": 437, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_iris_example_queries_station_discover_services_false", "deselected": true}, {"type": "Function", "lineno": 509, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_iris_example_queries_dataselect_discover_services_false", "deselected": true}, {"type": "Function", "lineno": 557, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_help_function_with_iris", "deselected": true}, {"type": "Function", "lineno": 624, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_str_method", "deselected": true}, {"type": "Function", "lineno": 639, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_dataselect_bulk", "deselected": true}, {"type": "Function", "lineno": 718, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_station_bulk", "deselected": true}, {"type": "Function", "lineno": 778, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_get_waveform_attach_response", "deselected": true}, {"type": "Function", "lineno": 796, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_default_requested_urls", "deselected": true}, {"type": "Function", "lineno": 822, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_setting_service_major_version", "deselected": true}, {"type": "Function", "lineno": 888, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_setting_service_provider_mappings", "deselected": true}, {"type": "Function", "lineno": 946, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_manually_deactivate_single_service", "deselected": true}, {"type": "Function", "lineno": 954, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_redirection", "deselected": true}, {"type": "Function", "lineno": 1014, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_redirection_auth", "deselected": true}, {"type": "Function", "lineno": 1085, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_get_waveforms_empty_seed_codes", "deselected": true}, {"type": "Function", "lineno": 1115, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_authentication_exceptions", "deselected": true}, {"type": "Function", "lineno": 1140, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_no_service_exception", "deselected": true}, {"type": "Function", "lineno": 1148, "nodeid": "clients/fdsn/tests/test_client.py::TestClient::test_eida_token_resolution", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork", "result": [{"type": "Function", "lineno": 1287, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_empty_bulk_string"}, {"type": "Function", "lineno": 1298, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_validate_base_url"}, {"type": "Function", "lineno": 1343, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_url_building"}, {"type": "Function", "lineno": 1375, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_location_parameters"}, {"type": "Function", "lineno": 1455, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_url_building_with_auth"}, {"type": "Function", "lineno": 1472, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_set_credentials"}, {"type": "Function", "lineno": 1494, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_discover_services_defaults"}, {"type": "Function", "lineno": 1504, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_simple_xml_parser"}, {"type": "Function", "lineno": 1522, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_conflicting_params"}, {"type": "Function", "lineno": 1528, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_str_method"}, {"type": "Function", "lineno": 1547, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_download_urls_for_custom_mapping"}, {"type": "Function", "lineno": 1623, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_no_data_exception"}, {"type": "Function", "lineno": 1633, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_request_too_large_exception"}, {"type": "Function", "lineno": 1643, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_timeout_exception"}, {"type": "Function", "lineno": 1652, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_not_implemented_exception"}, {"type": "Function", "lineno": 1662, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_bad_gateway_exception"}, {"type": "Function", "lineno": 1672, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_service_unavailable_exception"}, {"type": "Function", "lineno": 1682, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_bad_request_exception"}, {"type": "Function", "lineno": 1691, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_server_exception"}, {"type": "Function", "lineno": 1700, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_too_many_requests_exception"}, {"type": "Function", "lineno": 1709, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_iris_earthscope_message"}, {"type": "Function", "lineno": 1720, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_resif_deprecation_message"}, {"type": "Function", "lineno": 1731, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_query_a_non_existent_service_exception"}, {"type": "Function", "lineno": 1762, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_no_gzip"}, {"type": "Function", "lineno": 1801, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_raise_on_error"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_client.py", "result": [{"type": "Class", "nodeid": "clients/fdsn/tests/test_client.py::TestClient"}, {"type": "Class", "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClient", "result": [{"type": "Function", "lineno": 32, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClient::test_get_service_version", "deselected": true}, {"type": "Function", "lineno": 38, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClient::test_error_handling", "deselected": true}, {"type": "Function", "lineno": 46, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClient::test_get_waveforms_integration_test", "deselected": true}, {"type": "Function", "lineno": 69, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClient::test_get_stations_integration_test", "deselected": true}, {"type": "Function", "lineno": 96, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClient::test_proper_no_data_exception_on_out_of_epoch_dates", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork", "result": [{"type": "Function", "lineno": 118, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_response_splitting"}, {"type": "Function", "lineno": 164, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_response_splitting_fdsnws_subdomain"}, {"type": "Function", "lineno": 178, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_non_allowed_parameters"}, {"type": "Function", "lineno": 211, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_get_waveforms"}, {"type": "Function", "lineno": 230, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_get_waveforms_bulk"}, {"type": "Function", "lineno": 288, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_get_stations"}, {"type": "Function", "lineno": 329, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_get_stations_bulk"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py", "result": [{"type": "Class", "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClient"}, {"type": "Class", "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_federator_routing_client.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClient", "result": [{"type": "Function", "lineno": 34, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClient::test_get_service_version", "deselected": true}, {"type": "Function", "lineno": 40, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClient::test_get_waveforms_integration_test", "deselected": true}, {"type": "Function", "lineno": 64, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClient::test_get_stations_integration_test", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork", "result": [{"type": "Function", "lineno": 101, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_response_splitting"}, {"type": "Function", "lineno": 138, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_response_splitting_fdsnws_subdomain"}, {"type": "Function", "lineno": 158, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_waveforms"}, {"type": "Function", "lineno": 198, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_waveforms_bulk"}, {"type": "Function", "lineno": 247, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_waveforms_error_handling"}, {"type": "Function", "lineno": 256, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_stations"}, {"type": "Function", "lineno": 296, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_stations_bulk"}, {"type": "Function", "lineno": 346, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_stations_error_handling"}, {"type": "Function", "lineno": 355, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_iris_deprecation"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_federator_routing_client.py", "result": [{"type": "Class", "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClient"}, {"type": "Class", "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_mass_downloader.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDomain", "result": [{"type": "Function", "lineno": 41, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDomain::test_rectangular_domain"}, {"type": "Function", "lineno": 57, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDomain::test_circular_domain"}, {"type": "Function", "lineno": 73, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDomain::test_global_domain"}, {"type": "Function", "lineno": 85, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDomain::test_subclassing_without_abstract_method"}, {"type": "Function", "lineno": 96, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDomain::test_instantiating_root_domain_object_fails"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestRestrictions", "result": [{"type": "Function", "lineno": 108, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestRestrictions::test_passing_string_as_priority_list_raises"}, {"type": "Function", "lineno": 206, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestRestrictions::test_restrictions_object"}, {"type": "Function", "lineno": 272, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestRestrictions::test_inventory_parsing"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil", "result": [{"type": "Function", "lineno": 294, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_channel_priority_filtering"}, {"type": "Function", "lineno": 351, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_location_priority_filtering"}, {"type": "Function", "lineno": 398, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_spherical_nearest_neighbour"}, {"type": "Function", "lineno": 429, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_safe_delete"}, {"type": "Function", "lineno": 453, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_download_stationxml"}, {"type": "Function", "lineno": 503, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_download_and_split_mseed"}, {"type": "Function", "lineno": 808, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_stationxml_filename_helper"}, {"type": "Function", "lineno": 894, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_mseed_filename_helper"}, {"type": "Function", "lineno": 949, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_get_stationxml_contents"}, {"type": "Function", "lineno": 971, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_fast_vs_slow_get_stationxml_contents"}, {"type": "Function", "lineno": 981, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_channel_str_representation"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestTimeInterval", "result": [{"type": "Function", "lineno": 1001, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestTimeInterval::test_repr"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestChannel", "result": [{"type": "Function", "lineno": 1030, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestChannel::test_temporal_bounds"}, {"type": "Function", "lineno": 1040, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestChannel::test_wants_station_information"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation", "result": [{"type": "Function", "lineno": 1068, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_has_existing_or_downloaded_time_intervals"}, {"type": "Function", "lineno": 1099, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_has_existing_time_intervals"}, {"type": "Function", "lineno": 1129, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_remove_files"}, {"type": "Function", "lineno": 1190, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_temporal_bounds"}, {"type": "Function", "lineno": 1207, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_sanitize_downloads"}, {"type": "Function", "lineno": 1262, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_prepare_mseed_download"}, {"type": "Function", "lineno": 1322, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_prepare_stationxml_download_simple_cases"}, {"type": "Function", "lineno": 1495, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_prepare_stationxml_download_dictionary_case"}, {"type": "Function", "lineno": 1649, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_str_method"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper", "result": [{"type": "Function", "lineno": 1711, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_looped_methods"}, {"type": "Function", "lineno": 1745, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_basic_object_methods"}, {"type": "Function", "lineno": 1774, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_station_list_nearest_neighbour_filter"}, {"type": "Function", "lineno": 1973, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_download_mseed"}, {"type": "Function", "lineno": 2113, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_download_stationxml"}, {"type": "Function", "lineno": 2178, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_get_availability"}, {"type": "Function", "lineno": 2187, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_get_availability_with_multiple_channel_epochs"}, {"type": "Function", "lineno": 2201, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_excluding_networks_and_stations"}, {"type": "Function", "lineno": 2348, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_excluding_networks_and_stations_with_an_inventory_object"}, {"type": "Function", "lineno": 2437, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_parse_miniseed_filenames"}, {"type": "Function", "lineno": 2482, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper::test_warning_when_location_prios_excludes_all_channels"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelper", "result": [{"type": "Function", "lineno": 2516, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelper::test_initialization"}, {"type": "Function", "lineno": 2536, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelper::test_initialization_detailed"}, {"type": "Function", "lineno": 2569, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelper::test_initialization_with_existing_clients"}, {"type": "Function", "lineno": 2602, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelper::test_download_method"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_mass_downloader.py", "result": [{"type": "Class", "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDomain"}, {"type": "Class", "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestRestrictions"}, {"type": "Class", "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil"}, {"type": "Class", "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestTimeInterval"}, {"type": "Class", "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestChannel"}, {"type": "Class", "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation"}, {"type": "Class", "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestClientDownloadHelper"}, {"type": "Class", "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelper"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_wadl_parser.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser", "result": [{"type": "Function", "lineno": 33, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_dataselect_wadl_parsing"}, {"type": "Function", "lineno": 72, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_event_wadl_parsing"}, {"type": "Function", "lineno": 121, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_station_wadl_parsing"}, {"type": "Function", "lineno": 161, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_reading_wadls_without_type"}, {"type": "Function", "lineno": 209, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_usgs_event_wadl_parsing"}, {"type": "Function", "lineno": 249, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_parsing_dataselect_wadls_with_missing_attributes"}, {"type": "Function", "lineno": 277, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_parsing_event_wadls_with_missing_attributes"}, {"type": "Function", "lineno": 309, "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser::test_parsing_current_wadls"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests/test_wadl_parser.py", "result": [{"type": "Class", "nodeid": "clients/fdsn/tests/test_wadl_parser.py::TestWADLParser"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/tests", "result": [{"type": "DoctestModule", "nodeid": "clients/fdsn/tests/__init__.py"}, {"type": "Dir", "nodeid": "clients/fdsn/tests/data"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/tests/test_base_routing_client.py"}, {"type": "Module", "nodeid": "clients/fdsn/tests/test_base_routing_client.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/tests/test_client.py"}, {"type": "Module", "nodeid": "clients/fdsn/tests/test_client.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py"}, {"type": "Module", "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/tests/test_federator_routing_client.py"}, {"type": "Module", "nodeid": "clients/fdsn/tests/test_federator_routing_client.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/tests/test_mass_downloader.py"}, {"type": "Module", "nodeid": "clients/fdsn/tests/test_mass_downloader.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/tests/test_wadl_parser.py"}, {"type": "Module", "nodeid": "clients/fdsn/tests/test_wadl_parser.py"}], "outcome": "passed"}, {"nodeid": "clients/fdsn/wadl_parser.py", "result": [{"type": "DoctestItem", "lineno": 189, "nodeid": "clients/fdsn/wadl_parser.py::obspy.clients.fdsn.wadl_parser.WADLParser._convert_boolean", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/fdsn", "result": [{"type": "DoctestModule", "nodeid": "clients/fdsn/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/client.py"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/header.py"}, {"type": "Package", "nodeid": "clients/fdsn/mass_downloader"}, {"type": "Package", "nodeid": "clients/fdsn/routing"}, {"type": "Package", "nodeid": "clients/fdsn/tests"}, {"type": "DoctestModule", "nodeid": "clients/fdsn/wadl_parser.py"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/filesystem/db.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/filesystem/miniseed.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/filesystem/msriterator.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/filesystem/sds.py", "result": [{"type": "DoctestItem", "lineno": 68, "nodeid": "clients/filesystem/sds.py::obspy.clients.filesystem.sds.Client.__init__"}, {"type": "DoctestItem", "lineno": 116, "nodeid": "clients/filesystem/sds.py::obspy.clients.filesystem.sds.Client.get_waveforms"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/data/tsindex_data/CU/2018/001", "result": [], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/data/tsindex_data/CU/2018", "result": [{"type": "Dir", "nodeid": "clients/filesystem/tests/data/tsindex_data/CU/2018/001"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/data/tsindex_data/CU", "result": [{"type": "Dir", "nodeid": "clients/filesystem/tests/data/tsindex_data/CU/2018"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/data/tsindex_data/IU/2018/001", "result": [], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/data/tsindex_data/IU/2018", "result": [{"type": "Dir", "nodeid": "clients/filesystem/tests/data/tsindex_data/IU/2018/001"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/data/tsindex_data/IU", "result": [{"type": "Dir", "nodeid": "clients/filesystem/tests/data/tsindex_data/IU/2018"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/data/tsindex_data", "result": [{"type": "Dir", "nodeid": "clients/filesystem/tests/data/tsindex_data/CU"}, {"type": "Dir", "nodeid": "clients/filesystem/tests/data/tsindex_data/IU"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/data", "result": [{"type": "Dir", "nodeid": "clients/filesystem/tests/data/tsindex_data"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/test_sds.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/test_sds.py::TestSDS", "result": [{"type": "Function", "lineno": 79, "nodeid": "clients/filesystem/tests/test_sds.py::TestSDS::test_read_from_sds"}, {"type": "Function", "lineno": 129, "nodeid": "clients/filesystem/tests/test_sds.py::TestSDS::test_read_from_sds_with_wildcarded_seed_ids"}, {"type": "Function", "lineno": 151, "nodeid": "clients/filesystem/tests/test_sds.py::TestSDS::test_sds_report"}, {"type": "Function", "lineno": 218, "nodeid": "clients/filesystem/tests/test_sds.py::TestSDS::test_get_waveforms_bulk"}, {"type": "Function", "lineno": 252, "nodeid": "clients/filesystem/tests/test_sds.py::TestSDS::test_get_all_stations_and_nslc"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/test_sds.py", "result": [{"type": "Class", "nodeid": "clients/filesystem/tests/test_sds.py::TestSDS"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/test_tsindex.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient", "result": [{"type": "Function", "lineno": 49, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_bad_sqlitdb_filepath"}, {"type": "Function", "lineno": 57, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_get_waveforms"}, {"type": "Function", "lineno": 112, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_get_waveforms_bulk"}, {"type": "Function", "lineno": 164, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_get_nslc"}, {"type": "Function", "lineno": 216, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_get_availability_extent"}, {"type": "Function", "lineno": 287, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test__are_timespans_adjacent"}, {"type": "Function", "lineno": 355, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_get_availability"}, {"type": "Function", "lineno": 479, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_get_availability_percentage"}, {"type": "Function", "lineno": 541, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient::test_has_data"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer", "result": [{"type": "Function", "lineno": 560, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_bad_rootpath"}, {"type": "Function", "lineno": 573, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_bad_sqlitdb_filepath"}, {"type": "Function", "lineno": 582, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_bad_database"}, {"type": "Function", "lineno": 592, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_build_file_list"}, {"type": "Function", "lineno": 671, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_run_bad_index_cmd"}, {"type": "Function", "lineno": 683, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_run"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/test_tsindex.py::TestTSIndexDatabaseHandler", "result": [{"type": "Function", "lineno": 748, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestTSIndexDatabaseHandler::test_bad_sqlitdb_filepath"}, {"type": "Function", "lineno": 757, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestTSIndexDatabaseHandler::test__fetch_summary_rows"}, {"type": "Function", "lineno": 798, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestTSIndexDatabaseHandler::test_get_tsindex_summary_cte"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests/test_tsindex.py", "result": [{"type": "Class", "nodeid": "clients/filesystem/tests/test_tsindex.py::TestClient"}, {"type": "Class", "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer"}, {"type": "Class", "nodeid": "clients/filesystem/tests/test_tsindex.py::TestTSIndexDatabaseHandler"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tests", "result": [{"type": "DoctestModule", "nodeid": "clients/filesystem/tests/__init__.py"}, {"type": "Dir", "nodeid": "clients/filesystem/tests/data"}, {"type": "DoctestModule", "nodeid": "clients/filesystem/tests/test_sds.py"}, {"type": "Module", "nodeid": "clients/filesystem/tests/test_sds.py"}, {"type": "DoctestModule", "nodeid": "clients/filesystem/tests/test_tsindex.py"}, {"type": "Module", "nodeid": "clients/filesystem/tests/test_tsindex.py"}], "outcome": "passed"}, {"nodeid": "clients/filesystem/tsindex.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "clients/filesystem/tsindex.py::obspy.clients.filesystem.tsindex"}], "outcome": "passed"}, {"nodeid": "clients/filesystem", "result": [{"type": "DoctestModule", "nodeid": "clients/filesystem/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/filesystem/db.py"}, {"type": "DoctestModule", "nodeid": "clients/filesystem/miniseed.py"}, {"type": "DoctestModule", "nodeid": "clients/filesystem/msriterator.py"}, {"type": "DoctestModule", "nodeid": "clients/filesystem/sds.py"}, {"type": "Package", "nodeid": "clients/filesystem/tests"}, {"type": "DoctestModule", "nodeid": "clients/filesystem/tsindex.py"}], "outcome": "passed"}, {"nodeid": "clients/httpproxy.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/iris/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/iris/client.py", "result": [{"type": "DoctestItem", "lineno": 33, "nodeid": "clients/iris/client.py::obspy.clients.iris.client.Client", "deselected": true}, {"type": "DoctestItem", "lineno": 543, "nodeid": "clients/iris/client.py::obspy.clients.iris.client.Client.distaz", "deselected": true}, {"type": "DoctestItem", "lineno": 818, "nodeid": "clients/iris/client.py::obspy.clients.iris.client.Client.evalresp", "deselected": true}, {"type": "DoctestItem", "lineno": 608, "nodeid": "clients/iris/client.py::obspy.clients.iris.client.Client.flinnengdahl", "deselected": true}, {"type": "DoctestItem", "lineno": 351, "nodeid": "clients/iris/client.py::obspy.clients.iris.client.Client.resp", "deselected": true}, {"type": "DoctestItem", "lineno": 445, "nodeid": "clients/iris/client.py::obspy.clients.iris.client.Client.sacpz", "deselected": true}, {"type": "DoctestItem", "lineno": 168, "nodeid": "clients/iris/client.py::obspy.clients.iris.client.Client.timeseries", "deselected": true}, {"type": "DoctestItem", "lineno": 671, "nodeid": "clients/iris/client.py::obspy.clients.iris.client.Client.traveltime", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/iris/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/iris/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "clients/iris/tests/test_client.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/iris/tests/test_client.py::TestClient", "result": [{"type": "Function", "lineno": 18, "nodeid": "clients/iris/tests/test_client.py::TestClient::test_sacpz", "deselected": true}, {"type": "Function", "lineno": 44, "nodeid": "clients/iris/tests/test_client.py::TestClient::test_distaz", "deselected": true}, {"type": "Function", "lineno": 78, "nodeid": "clients/iris/tests/test_client.py::TestClient::test_flinnengdahl", "deselected": true}, {"type": "Function", "lineno": 119, "nodeid": "clients/iris/tests/test_client.py::TestClient::test_traveltime", "deselected": true}, {"type": "Function", "lineno": 129, "nodeid": "clients/iris/tests/test_client.py::TestClient::test_evalresp", "deselected": true}, {"type": "Function", "lineno": 224, "nodeid": "clients/iris/tests/test_client.py::TestClient::test_resp", "deselected": true}, {"type": "Function", "lineno": 254, "nodeid": "clients/iris/tests/test_client.py::TestClient::test_timeseries", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/iris/tests/test_client.py", "result": [{"type": "Class", "nodeid": "clients/iris/tests/test_client.py::TestClient"}], "outcome": "passed"}, {"nodeid": "clients/iris/tests", "result": [{"type": "DoctestModule", "nodeid": "clients/iris/tests/__init__.py"}, {"type": "Dir", "nodeid": "clients/iris/tests/data"}, {"type": "DoctestModule", "nodeid": "clients/iris/tests/test_client.py"}, {"type": "Module", "nodeid": "clients/iris/tests/test_client.py"}], "outcome": "passed"}, {"nodeid": "clients/iris", "result": [{"type": "DoctestModule", "nodeid": "clients/iris/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/iris/client.py"}, {"type": "Package", "nodeid": "clients/iris/tests"}], "outcome": "passed"}, {"nodeid": "clients/neic/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/neic/client.py", "result": [{"type": "DoctestItem", "lineno": 21, "nodeid": "clients/neic/client.py::obspy.clients.neic.client.Client", "deselected": true}, {"type": "DoctestItem", "lineno": 69, "nodeid": "clients/neic/client.py::obspy.clients.neic.client.Client.get_waveforms", "deselected": true}, {"type": "DoctestItem", "lineno": 126, "nodeid": "clients/neic/client.py::obspy.clients.neic.client.Client.get_waveforms_nscl", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/neic/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/neic/tests/test_client.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/neic/tests/test_client.py::TestClient", "result": [{"type": "Function", "lineno": 22, "nodeid": "clients/neic/tests/test_client.py::TestClient::test_get_waveform", "deselected": true}, {"type": "Function", "lineno": 41, "nodeid": "clients/neic/tests/test_client.py::TestClient::test_get_waveform_nscl", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/neic/tests/test_client.py", "result": [{"type": "Class", "nodeid": "clients/neic/tests/test_client.py::TestClient"}], "outcome": "passed"}, {"nodeid": "clients/neic/tests", "result": [{"type": "DoctestModule", "nodeid": "clients/neic/tests/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/neic/tests/test_client.py"}, {"type": "Module", "nodeid": "clients/neic/tests/test_client.py"}], "outcome": "passed"}, {"nodeid": "clients/neic/util.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/neic", "result": [{"type": "DoctestModule", "nodeid": "clients/neic/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/neic/client.py"}, {"type": "Package", "nodeid": "clients/neic/tests"}, {"type": "DoctestModule", "nodeid": "clients/neic/util.py"}], "outcome": "passed"}, {"nodeid": "clients/nrl/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "clients/nrl/__init__.py::obspy.clients.nrl", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/nrl/client.py", "result": [{"type": "DoctestItem", "lineno": 271, "nodeid": "clients/nrl/client.py::obspy.clients.nrl.client.NRL.get_response", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS/dataloggers/reftek", "result": [], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS/dataloggers", "result": [{"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS/dataloggers/reftek"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS/sensors/guralp", "result": [], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS/sensors", "result": [{"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS/sensors/guralp"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS", "result": [{"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS/dataloggers"}, {"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS/sensors"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_resp/datalogger/REFTEK", "result": [], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_resp/datalogger", "result": [{"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_resp/datalogger/REFTEK"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_resp/integrated", "result": [], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_resp/sensor/Guralp", "result": [], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_resp/sensor", "result": [{"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_resp/sensor/Guralp"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_resp/soh", "result": [], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_resp", "result": [{"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_resp/datalogger"}, {"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_resp/integrated"}, {"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_resp/sensor"}, {"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_resp/soh"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/datalogger/REFTEK", "result": [], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/datalogger", "result": [{"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/datalogger/REFTEK"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/integrated/GeoSIG", "result": [], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/integrated", "result": [{"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/integrated/GeoSIG"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/sensor/Guralp", "result": [], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/sensor", "result": [{"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/sensor/Guralp"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/soh/Quanterra", "result": [], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/soh", "result": [{"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/soh/Quanterra"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml", "result": [{"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/datalogger"}, {"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/integrated"}, {"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/sensor"}, {"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml/soh"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/data", "result": [{"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS"}, {"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_resp"}, {"type": "Dir", "nodeid": "clients/nrl/tests/data/IRIS_v2_stationxml"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/test_nrl.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/test_nrl.py::TestNRLRemote", "result": [{"type": "Function", "lineno": 15, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLRemote::test_nrl_type", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocal", "result": [{"type": "Function", "lineno": 25, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocal::test_error_handling_invalid_path"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV1", "result": [{"type": "Function", "lineno": 48, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV1::test_nrl_type"}, {"type": "Function", "lineno": 52, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV1::test_get_response"}, {"type": "Function", "lineno": 99, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV1::test_nrl_class_str_method"}, {"type": "Function", "lineno": 116, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV1::test_nrl_dict_str_method"}, {"type": "Function", "lineno": 126, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV1::test_error_handling_invalid_path"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2RESP", "result": [{"type": "Function", "lineno": 149, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2RESP::test_nrl_type"}, {"type": "Function", "lineno": 153, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2RESP::test_get_response"}, {"type": "Function", "lineno": 219, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2RESP::test_nrl_class_str_method"}, {"type": "Function", "lineno": 242, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2RESP::test_nrl_dict_str_method"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML", "result": [{"type": "Function", "lineno": 270, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML::test_nrl_type"}, {"type": "Function", "lineno": 274, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML::test_get_response"}, {"type": "Function", "lineno": 340, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML::test_nrl_class_str_method"}, {"type": "Function", "lineno": 363, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML::test_nrl_dict_str_method"}, {"type": "Function", "lineno": 375, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML::test_get_integrated_response"}, {"type": "Function", "lineno": 385, "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML::test_get_soh_response"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests/test_nrl.py", "result": [{"type": "Class", "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLRemote"}, {"type": "Class", "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocal"}, {"type": "Class", "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV1"}, {"type": "Class", "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2RESP"}, {"type": "Class", "nodeid": "clients/nrl/tests/test_nrl.py::TestNRLLocalV2StationXML"}], "outcome": "passed"}, {"nodeid": "clients/nrl/tests", "result": [{"type": "DoctestModule", "nodeid": "clients/nrl/tests/__init__.py"}, {"type": "Dir", "nodeid": "clients/nrl/tests/data"}, {"type": "DoctestModule", "nodeid": "clients/nrl/tests/test_nrl.py"}, {"type": "Module", "nodeid": "clients/nrl/tests/test_nrl.py"}], "outcome": "passed"}, {"nodeid": "clients/nrl", "result": [{"type": "DoctestModule", "nodeid": "clients/nrl/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/nrl/client.py"}, {"type": "Package", "nodeid": "clients/nrl/tests"}], "outcome": "passed"}, {"nodeid": "clients/seedlink/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/basic_client.py", "result": [{"type": "DoctestItem", "lineno": 190, "nodeid": "clients/seedlink/basic_client.py::obspy.clients.seedlink.basic_client.Client.get_info", "deselected": true}, {"type": "DoctestItem", "lineno": 70, "nodeid": "clients/seedlink/basic_client.py::obspy.clients.seedlink.basic_client.Client.get_waveforms", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/seedlink/client/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/client/seedlinkconnection.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/client/slnetstation.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/client/slstate.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/client", "result": [{"type": "DoctestModule", "nodeid": "clients/seedlink/client/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/client/seedlinkconnection.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/client/slnetstation.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/client/slstate.py"}], "outcome": "passed"}, {"nodeid": "clients/seedlink/easyseedlink.py", "result": [{"type": "DoctestItem", "lineno": 474, "nodeid": "clients/seedlink/easyseedlink.py::obspy.clients.seedlink.easyseedlink.create_client", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/seedlink/seedlinkexception.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/slclient.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/slpacket.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/example_SL_Hello.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/example_SL_RTTrace.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_basic_client.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_basic_client.py::TestClient", "result": [{"type": "Function", "lineno": 22, "nodeid": "clients/seedlink/tests/test_basic_client.py::TestClient::test_get_waveform", "deselected": true}, {"type": "Function", "lineno": 48, "nodeid": "clients/seedlink/tests/test_basic_client.py::TestClient::test_get_info", "deselected": true}, {"type": "Function", "lineno": 66, "nodeid": "clients/seedlink/tests/test_basic_client.py::TestClient::test_multiple_waveform_requests_with_multiple_info_requests", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_basic_client.py", "result": [{"type": "Class", "nodeid": "clients/seedlink/tests/test_basic_client.py::TestClient"}, {"type": "Function", "lineno": 113, "nodeid": "clients/seedlink/tests/test_basic_client.py::test_get_waveform_calls_to_get_info"}], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_seedlinkconnection.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_seedlinkconnection.py::TestSeedLinkConnection", "result": [{"type": "Function", "lineno": 17, "nodeid": "clients/seedlink/tests/test_seedlinkconnection.py::TestSeedLinkConnection::test_issue777", "deselected": true}, {"type": "Function", "lineno": 48, "nodeid": "clients/seedlink/tests/test_seedlinkconnection.py::TestSeedLinkConnection::test_read_stream_list", "deselected": true}, {"type": "Function", "lineno": 95, "nodeid": "clients/seedlink/tests/test_seedlinkconnection.py::TestSeedLinkConnection::test_recover_and_save_state", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_seedlinkconnection.py", "result": [{"type": "Class", "nodeid": "clients/seedlink/tests/test_seedlinkconnection.py::TestSeedLinkConnection"}], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_slclient.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_slclient.py::TestSLClient", "result": [{"type": "Function", "lineno": 26, "nodeid": "clients/seedlink/tests/test_slclient.py::TestSLClient::test_info", "deselected": true}, {"type": "Function", "lineno": 36, "nodeid": "clients/seedlink/tests/test_slclient.py::TestSLClient::test_time_window", "deselected": true}, {"type": "Function", "lineno": 50, "nodeid": "clients/seedlink/tests/test_slclient.py::TestSLClient::test_issue708", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_slclient.py", "result": [{"type": "Class", "nodeid": "clients/seedlink/tests/test_slclient.py::TestSLClient"}], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_slnetstation.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_slnetstation.py::TestSLNetStation", "result": [{"type": "Function", "lineno": 15, "nodeid": "clients/seedlink/tests/test_slnetstation.py::TestSLNetStation::test_issue769", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_slnetstation.py", "result": [{"type": "Class", "nodeid": "clients/seedlink/tests/test_slnetstation.py::TestSLNetStation"}], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_slpacket.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_slpacket.py::TestSLPacket", "result": [{"type": "Function", "lineno": 15, "nodeid": "clients/seedlink/tests/test_slpacket.py::TestSLPacket::test_get_string_payload"}], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_slpacket.py", "result": [{"type": "Class", "nodeid": "clients/seedlink/tests/test_slpacket.py::TestSLPacket"}], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_slstate.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_slstate.py::TestSLState", "result": [{"type": "Function", "lineno": 15, "nodeid": "clients/seedlink/tests/test_slstate.py::TestSLState::test_issue561", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests/test_slstate.py", "result": [{"type": "Class", "nodeid": "clients/seedlink/tests/test_slstate.py::TestSLState"}], "outcome": "passed"}, {"nodeid": "clients/seedlink/tests", "result": [{"type": "DoctestModule", "nodeid": "clients/seedlink/tests/__init__.py"}, {"type": "Dir", "nodeid": "clients/seedlink/tests/data"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/tests/example_SL_Hello.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/tests/example_SL_RTTrace.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/tests/test_basic_client.py"}, {"type": "Module", "nodeid": "clients/seedlink/tests/test_basic_client.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/tests/test_seedlinkconnection.py"}, {"type": "Module", "nodeid": "clients/seedlink/tests/test_seedlinkconnection.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/tests/test_slclient.py"}, {"type": "Module", "nodeid": "clients/seedlink/tests/test_slclient.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/tests/test_slnetstation.py"}, {"type": "Module", "nodeid": "clients/seedlink/tests/test_slnetstation.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/tests/test_slpacket.py"}, {"type": "Module", "nodeid": "clients/seedlink/tests/test_slpacket.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/tests/test_slstate.py"}, {"type": "Module", "nodeid": "clients/seedlink/tests/test_slstate.py"}], "outcome": "passed"}, {"nodeid": "clients/seedlink", "result": [{"type": "DoctestModule", "nodeid": "clients/seedlink/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/basic_client.py"}, {"type": "Package", "nodeid": "clients/seedlink/client"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/easyseedlink.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/seedlinkexception.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/slclient.py"}, {"type": "DoctestModule", "nodeid": "clients/seedlink/slpacket.py"}, {"type": "Package", "nodeid": "clients/seedlink/tests"}], "outcome": "passed"}, {"nodeid": "clients/syngine/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "clients/syngine/__init__.py::obspy.clients.syngine", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/syngine/client.py", "result": [{"type": "DoctestItem", "lineno": 57, "nodeid": "clients/syngine/client.py::obspy.clients.syngine.client.Client.get_model_info", "deselected": true}, {"type": "DoctestItem", "lineno": 206, "nodeid": "clients/syngine/client.py::obspy.clients.syngine.client.Client.get_waveforms", "deselected": true}, {"type": "DoctestItem", "lineno": 379, "nodeid": "clients/syngine/client.py::obspy.clients.syngine.client.Client.get_waveforms_bulk", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/syngine/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/syngine/tests/test_client.py", "result": [], "outcome": "passed"}, {"nodeid": "clients/syngine/tests/test_client.py::TestClient", "result": [{"type": "Function", "lineno": 38, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_get_model_info_mock", "deselected": true}, {"type": "Function", "lineno": 56, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_get_model_info", "deselected": true}, {"type": "Function", "lineno": 70, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_get_available_models_mock", "deselected": true}, {"type": "Function", "lineno": 82, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_get_available_models", "deselected": true}, {"type": "Function", "lineno": 90, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_get_service_version_mock", "deselected": true}, {"type": "Function", "lineno": 105, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_get_waveforms_mock", "deselected": true}, {"type": "Function", "lineno": 192, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_error_handling_arguments", "deselected": true}, {"type": "Function", "lineno": 203, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_source_mechanisms_mock", "deselected": true}, {"type": "Function", "lineno": 246, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_error_handling", "deselected": true}, {"type": "Function", "lineno": 259, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_bulk_waveform_download_mock", "deselected": true}, {"type": "Function", "lineno": 335, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_get_waveforms", "deselected": true}, {"type": "Function", "lineno": 408, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_saving_directly_to_file", "deselected": true}, {"type": "Function", "lineno": 435, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_reading_saczip_files", "deselected": true}, {"type": "Function", "lineno": 454, "nodeid": "clients/syngine/tests/test_client.py::TestClient::test_bulk_waveform_send_custom_payload", "deselected": true}], "outcome": "passed"}, {"nodeid": "clients/syngine/tests/test_client.py", "result": [{"type": "Class", "nodeid": "clients/syngine/tests/test_client.py::TestClient"}], "outcome": "passed"}, {"nodeid": "clients/syngine/tests", "result": [{"type": "DoctestModule", "nodeid": "clients/syngine/tests/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/syngine/tests/test_client.py"}, {"type": "Module", "nodeid": "clients/syngine/tests/test_client.py"}], "outcome": "passed"}, {"nodeid": "clients/syngine", "result": [{"type": "DoctestModule", "nodeid": "clients/syngine/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/syngine/client.py"}, {"type": "Package", "nodeid": "clients/syngine/tests"}], "outcome": "passed"}, {"nodeid": "clients", "result": [{"type": "DoctestModule", "nodeid": "clients/__init__.py"}, {"type": "DoctestModule", "nodeid": "clients/base.py"}, {"type": "Package", "nodeid": "clients/earthworm"}, {"type": "Package", "nodeid": "clients/fdsn"}, {"type": "Package", "nodeid": "clients/filesystem"}, {"type": "DoctestModule", "nodeid": "clients/httpproxy.py"}, {"type": "Package", "nodeid": "clients/iris"}, {"type": "Package", "nodeid": "clients/neic"}, {"type": "Package", "nodeid": "clients/nrl"}, {"type": "Package", "nodeid": "clients/seedlink"}, {"type": "Package", "nodeid": "clients/syngine"}], "outcome": "passed"}, {"nodeid": "conftest.py", "result": [], "outcome": "passed"}, {"nodeid": "core/__init__.py", "result": [{"type": "DoctestItem", "lineno": 11, "nodeid": "core/__init__.py::obspy.core"}], "outcome": "passed"}, {"nodeid": "core/compatibility.py", "result": [{"type": "DoctestItem", "lineno": 21, "nodeid": "core/compatibility.py::obspy.core.compatibility.round_away"}], "outcome": "passed"}, {"nodeid": "core/data", "result": [], "outcome": "passed"}, {"nodeid": "core/event/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "core/event/base.py", "result": [{"type": "DoctestItem", "lineno": 549, "nodeid": "core/event/base.py::obspy.core.event.base.Comment"}, {"type": "DoctestItem", "lineno": 491, "nodeid": "core/event/base.py::obspy.core.event.base.CompositeTime"}, {"type": "DoctestItem", "lineno": 420, "nodeid": "core/event/base.py::obspy.core.event.base.CreationInfo"}, {"type": "DoctestItem", "lineno": 62, "nodeid": "core/event/base.py::obspy.core.event.base.QuantityError.__bool__"}, {"type": "DoctestItem", "lineno": 594, "nodeid": "core/event/base.py::obspy.core.event.base.WaveformStreamID"}, {"type": "DoctestItem", "lineno": 103, "nodeid": "core/event/base.py::obspy.core.event.base._event_type_class_factory"}], "outcome": "passed"}, {"nodeid": "core/event/catalog.py", "result": [{"type": "DoctestItem", "lineno": 125, "nodeid": "core/event/catalog.py::obspy.core.event.catalog.Catalog.__eq__"}, {"type": "DoctestItem", "lineno": 258, "nodeid": "core/event/catalog.py::obspy.core.event.catalog.Catalog.clear"}, {"type": "DoctestItem", "lineno": 403, "nodeid": "core/event/catalog.py::obspy.core.event.catalog.Catalog.copy"}, {"type": "DoctestItem", "lineno": 274, "nodeid": "core/event/catalog.py::obspy.core.event.catalog.Catalog.filter"}, {"type": "DoctestItem", "lineno": 530, "nodeid": "core/event/catalog.py::obspy.core.event.catalog.Catalog.plot"}, {"type": "DoctestItem", "lineno": 457, "nodeid": "core/event/catalog.py::obspy.core.event.catalog.Catalog.write"}], "outcome": "passed"}, {"nodeid": "core/event/event.py", "result": [{"type": "DoctestItem", "lineno": 169, "nodeid": "core/event/event.py::obspy.core.event.event.Event.plot"}, {"type": "DoctestItem", "lineno": 308, "nodeid": "core/event/event.py::obspy.core.event.event.Event.write"}], "outcome": "passed"}, {"nodeid": "core/event/header.py", "result": [], "outcome": "passed"}, {"nodeid": "core/event/magnitude.py", "result": [], "outcome": "passed"}, {"nodeid": "core/event/origin.py", "result": [{"type": "DoctestItem", "lineno": 177, "nodeid": "core/event/origin.py::obspy.core.event.origin.Origin"}], "outcome": "passed"}, {"nodeid": "core/event/resourceid.py", "result": [{"type": "DoctestItem", "lineno": 73, "nodeid": "core/event/resourceid.py::obspy.core.event.resourceid.ResourceIdentifier"}, {"type": "DoctestItem", "lineno": 528, "nodeid": "core/event/resourceid.py::obspy.core.event.resourceid.ResourceIdentifier.copy"}, {"type": "DoctestItem", "lineno": 485, "nodeid": "core/event/resourceid.py::obspy.core.event.resourceid.ResourceIdentifier.get_quakeml_uri_str"}], "outcome": "passed"}, {"nodeid": "core/event/source.py", "result": [], "outcome": "passed"}, {"nodeid": "core/event", "result": [{"type": "DoctestModule", "nodeid": "core/event/__init__.py"}, {"type": "DoctestModule", "nodeid": "core/event/base.py"}, {"type": "DoctestModule", "nodeid": "core/event/catalog.py"}, {"type": "DoctestModule", "nodeid": "core/event/event.py"}, {"type": "DoctestModule", "nodeid": "core/event/header.py"}, {"type": "DoctestModule", "nodeid": "core/event/magnitude.py"}, {"type": "DoctestModule", "nodeid": "core/event/origin.py"}, {"type": "DoctestModule", "nodeid": "core/event/resourceid.py"}, {"type": "DoctestModule", "nodeid": "core/event/source.py"}], "outcome": "passed"}, {"nodeid": "core/inventory/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "core/inventory/__init__.py::obspy.core.inventory"}], "outcome": "passed"}, {"nodeid": "core/inventory/channel.py", "result": [{"type": "DoctestItem", "lineno": 394, "nodeid": "core/inventory/channel.py::obspy.core.inventory.channel.Channel.plot"}], "outcome": "passed"}, {"nodeid": "core/inventory/inventory.py", "result": [{"type": "DoctestItem", "lineno": 153, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.__eq__"}, {"type": "DoctestItem", "lineno": 374, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.copy"}, {"type": "DoctestItem", "lineno": 243, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.get_contents"}, {"type": "DoctestItem", "lineno": 488, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.get_coordinates"}, {"type": "DoctestItem", "lineno": 515, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.get_orientation"}, {"type": "DoctestItem", "lineno": 415, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.get_response"}, {"type": "DoctestItem", "lineno": 826, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.plot"}, {"type": "DoctestItem", "lineno": 1035, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.plot_response"}, {"type": "DoctestItem", "lineno": 676, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.remove"}, {"type": "DoctestItem", "lineno": 543, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.select"}, {"type": "DoctestItem", "lineno": 327, "nodeid": "core/inventory/inventory.py::obspy.core.inventory.inventory.Inventory.write"}], "outcome": "passed"}, {"nodeid": "core/inventory/network.py", "result": [{"type": "DoctestItem", "lineno": 181, "nodeid": "core/inventory/network.py::obspy.core.inventory.network.Network.get_contents"}, {"type": "DoctestItem", "lineno": 504, "nodeid": "core/inventory/network.py::obspy.core.inventory.network.Network.plot"}, {"type": "DoctestItem", "lineno": 644, "nodeid": "core/inventory/network.py::obspy.core.inventory.network.Network.plot_response"}, {"type": "DoctestItem", "lineno": 367, "nodeid": "core/inventory/network.py::obspy.core.inventory.network.Network.select"}], "outcome": "passed"}, {"nodeid": "core/inventory/response.py", "result": [{"type": "DoctestItem", "lineno": 355, "nodeid": "core/inventory/response.py::obspy.core.inventory.response.PolesZerosResponseStage.calculate_normalization_factor"}, {"type": "DoctestItem", "lineno": 922, "nodeid": "core/inventory/response.py::obspy.core.inventory.response.Response.get_sampling_rates"}, {"type": "DoctestItem", "lineno": 1842, "nodeid": "core/inventory/response.py::obspy.core.inventory.response.Response.plot"}], "outcome": "passed"}, {"nodeid": "core/inventory/station.py", "result": [{"type": "DoctestItem", "lineno": 196, "nodeid": "core/inventory/station.py::obspy.core.inventory.station.Station.get_contents"}, {"type": "DoctestItem", "lineno": 472, "nodeid": "core/inventory/station.py::obspy.core.inventory.station.Station.plot"}, {"type": "DoctestItem", "lineno": 351, "nodeid": "core/inventory/station.py::obspy.core.inventory.station.Station.select"}], "outcome": "passed"}, {"nodeid": "core/inventory/util.py", "result": [{"type": "DoctestItem", "lineno": 154, "nodeid": "core/inventory/util.py::obspy.core.inventory.util.BaseNode.copy"}], "outcome": "passed"}, {"nodeid": "core/inventory", "result": [{"type": "DoctestModule", "nodeid": "core/inventory/__init__.py"}, {"type": "DoctestModule", "nodeid": "core/inventory/channel.py"}, {"type": "DoctestModule", "nodeid": "core/inventory/inventory.py"}, {"type": "DoctestModule", "nodeid": "core/inventory/network.py"}, {"type": "DoctestModule", "nodeid": "core/inventory/response.py"}, {"type": "DoctestModule", "nodeid": "core/inventory/station.py"}, {"type": "DoctestModule", "nodeid": "core/inventory/util.py"}], "outcome": "passed"}, {"nodeid": "core/preview.py", "result": [], "outcome": "passed"}, {"nodeid": "core/stream.py", "result": [{"type": "DoctestItem", "lineno": 313, "nodeid": "core/stream.py::obspy.core.stream.Stream"}, {"type": "DoctestItem", "lineno": 356, "nodeid": "core/stream.py::obspy.core.stream.Stream.__add__"}, {"type": "DoctestItem", "lineno": 552, "nodeid": "core/stream.py::obspy.core.stream.Stream.__eq__"}, {"type": "DoctestItem", "lineno": 394, "nodeid": "core/stream.py::obspy.core.stream.Stream.__iadd__"}, {"type": "DoctestItem", "lineno": 453, "nodeid": "core/stream.py::obspy.core.stream.Stream.__iter__"}, {"type": "DoctestItem", "lineno": 502, "nodeid": "core/stream.py::obspy.core.stream.Stream.__len__"}, {"type": "DoctestItem", "lineno": 427, "nodeid": "core/stream.py::obspy.core.stream.Stream.__mul__"}, {"type": "DoctestItem", "lineno": 600, "nodeid": "core/stream.py::obspy.core.stream.Stream.__ne__"}, {"type": "DoctestItem", "lineno": 516, "nodeid": "core/stream.py::obspy.core.stream.Stream.__str__"}, {"type": "DoctestItem", "lineno": 3376, "nodeid": "core/stream.py::obspy.core.stream.Stream._dummy_stream_from_string"}, {"type": "DoctestItem", "lineno": 3566, "nodeid": "core/stream.py::obspy.core.stream.Stream._rotate_specific_channels_to_zne"}, {"type": "DoctestItem", "lineno": 3508, "nodeid": "core/stream.py::obspy.core.stream.Stream._rotate_to_zne"}, {"type": "DoctestItem", "lineno": 673, "nodeid": "core/stream.py::obspy.core.stream.Stream.append"}, {"type": "DoctestItem", "lineno": 2954, "nodeid": "core/stream.py::obspy.core.stream.Stream.clear"}, {"type": "DoctestItem", "lineno": 2917, "nodeid": "core/stream.py::obspy.core.stream.Stream.copy"}, {"type": "DoctestItem", "lineno": 1582, "nodeid": "core/stream.py::obspy.core.stream.Stream.cutout"}, {"type": "DoctestItem", "lineno": 2406, "nodeid": "core/stream.py::obspy.core.stream.Stream.decimate"}, {"type": "DoctestItem", "lineno": 701, "nodeid": "core/stream.py::obspy.core.stream.Stream.extend"}, {"type": "DoctestItem", "lineno": 2198, "nodeid": "core/stream.py::obspy.core.stream.Stream.filter"}, {"type": "DoctestItem", "lineno": 740, "nodeid": "core/stream.py::obspy.core.stream.Stream.get_gaps"}, {"type": "DoctestItem", "lineno": 2587, "nodeid": "core/stream.py::obspy.core.stream.Stream.interpolate"}, {"type": "DoctestItem", "lineno": 2474, "nodeid": "core/stream.py::obspy.core.stream.Stream.max"}, {"type": "DoctestItem", "lineno": 2651, "nodeid": "core/stream.py::obspy.core.stream.Stream.normalize"}, {"type": "DoctestItem", "lineno": 885, "nodeid": "core/stream.py::obspy.core.stream.Stream.plot"}, {"type": "DoctestItem", "lineno": 1196, "nodeid": "core/stream.py::obspy.core.stream.Stream.pop"}, {"type": "DoctestItem", "lineno": 1225, "nodeid": "core/stream.py::obspy.core.stream.Stream.print_gaps"}, {"type": "DoctestItem", "lineno": 1298, "nodeid": "core/stream.py::obspy.core.stream.Stream.remove"}, {"type": "DoctestItem", "lineno": 3232, "nodeid": "core/stream.py::obspy.core.stream.Stream.remove_response"}, {"type": "DoctestItem", "lineno": 3266, "nodeid": "core/stream.py::obspy.core.stream.Stream.remove_sensitivity"}, {"type": "DoctestItem", "lineno": 2346, "nodeid": "core/stream.py::obspy.core.stream.Stream.resample"}, {"type": "DoctestItem", "lineno": 1327, "nodeid": "core/stream.py::obspy.core.stream.Stream.reverse"}, {"type": "DoctestItem", "lineno": 2727, "nodeid": "core/stream.py::obspy.core.stream.Stream.rotate"}, {"type": "DoctestItem", "lineno": 1783, "nodeid": "core/stream.py::obspy.core.stream.Stream.select"}, {"type": "DoctestItem", "lineno": 2095, "nodeid": "core/stream.py::obspy.core.stream.Stream.simulate"}, {"type": "DoctestItem", "lineno": 1618, "nodeid": "core/stream.py::obspy.core.stream.Stream.slice"}, {"type": "DoctestItem", "lineno": 1701, "nodeid": "core/stream.py::obspy.core.stream.Stream.slide"}, {"type": "DoctestItem", "lineno": 1351, "nodeid": "core/stream.py::obspy.core.stream.Stream.sort"}, {"type": "DoctestItem", "lineno": 1170, "nodeid": "core/stream.py::obspy.core.stream.Stream.spectrogram"}, {"type": "DoctestItem", "lineno": 3292, "nodeid": "core/stream.py::obspy.core.stream.Stream.stack"}, {"type": "DoctestItem", "lineno": 2630, "nodeid": "core/stream.py::obspy.core.stream.Stream.std"}, {"type": "DoctestItem", "lineno": 2265, "nodeid": "core/stream.py::obspy.core.stream.Stream.trigger"}, {"type": "DoctestItem", "lineno": 1472, "nodeid": "core/stream.py::obspy.core.stream.Stream.trim"}, {"type": "DoctestItem", "lineno": 1953, "nodeid": "core/stream.py::obspy.core.stream.Stream.verify"}, {"type": "DoctestItem", "lineno": 1400, "nodeid": "core/stream.py::obspy.core.stream.Stream.write"}, {"type": "DoctestItem", "lineno": 3660, "nodeid": "core/stream.py::obspy.core.stream._is_pickle"}, {"type": "DoctestItem", "lineno": 44, "nodeid": "core/stream.py::obspy.core.stream.read"}], "outcome": "passed"}, {"nodeid": "core/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/data/utc_pickles", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/data", "result": [{"type": "Dir", "nodeid": "core/tests/data/utc_pickles"}], "outcome": "passed"}, {"nodeid": "core/tests/test_channel.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_channel.py::TestChannel", "result": [{"type": "Function", "lineno": 24, "nodeid": "core/tests/test_channel.py::TestChannel::test_response_plot"}, {"type": "Function", "lineno": 33, "nodeid": "core/tests/test_channel.py::TestChannel::test_channel_str"}], "outcome": "passed"}, {"nodeid": "core/tests/test_channel.py", "result": [{"type": "Class", "nodeid": "core/tests/test_channel.py::TestChannel"}], "outcome": "passed"}, {"nodeid": "core/tests/test_compatibility.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_compatibility.py::TestCompatibility", "result": [{"type": "Function", "lineno": 3, "nodeid": "core/tests/test_compatibility.py::TestCompatibility::test_round"}], "outcome": "passed"}, {"nodeid": "core/tests/test_compatibility.py", "result": [{"type": "Class", "nodeid": "core/tests/test_compatibility.py::TestCompatibility"}], "outcome": "passed"}, {"nodeid": "core/tests/test_event.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_event.py::TestEvent", "result": [{"type": "Function", "lineno": 31, "nodeid": "core/tests/test_event.py::TestEvent::test_str"}, {"type": "Function", "lineno": 41, "nodeid": "core/tests/test_event.py::TestEvent::test_str_empty_origin"}, {"type": "Function", "lineno": 51, "nodeid": "core/tests/test_event.py::TestEvent::test_eq"}, {"type": "Function", "lineno": 71, "nodeid": "core/tests/test_event.py::TestEvent::test_clear_method_resets_objects"}, {"type": "Function", "lineno": 108, "nodeid": "core/tests/test_event.py::TestEvent::test_plot_farfield_without_quiver_with_maps"}, {"type": "Function", "lineno": 120, "nodeid": "core/tests/test_event.py::TestEvent::test_farfield_2xn_input"}], "outcome": "passed"}, {"nodeid": "core/tests/test_event.py::TestOrigin", "result": [{"type": "Function", "lineno": 144, "nodeid": "core/tests/test_event.py::TestOrigin::test_creation_info"}, {"type": "Function", "lineno": 164, "nodeid": "core/tests/test_event.py::TestOrigin::test_multiple_origins"}], "outcome": "passed"}, {"nodeid": "core/tests/test_event.py::TestCatalog", "result": [{"type": "Function", "lineno": 194, "nodeid": "core/tests/test_event.py::TestCatalog::test_read_invalid_filename"}, {"type": "Function", "lineno": 219, "nodeid": "core/tests/test_event.py::TestCatalog::test_creation_info"}, {"type": "Function", "lineno": 225, "nodeid": "core/tests/test_event.py::TestCatalog::test_read_events_without_parameters"}, {"type": "Function", "lineno": 232, "nodeid": "core/tests/test_event.py::TestCatalog::test_str"}, {"type": "Function", "lineno": 241, "nodeid": "core/tests/test_event.py::TestCatalog::test_read_events"}, {"type": "Function", "lineno": 257, "nodeid": "core/tests/test_event.py::TestCatalog::test_read_events_with_wildcard"}, {"type": "Function", "lineno": 268, "nodeid": "core/tests/test_event.py::TestCatalog::test_append"}, {"type": "Function", "lineno": 291, "nodeid": "core/tests/test_event.py::TestCatalog::test_extend"}, {"type": "Function", "lineno": 319, "nodeid": "core/tests/test_event.py::TestCatalog::test_iadd"}, {"type": "Function", "lineno": 347, "nodeid": "core/tests/test_event.py::TestCatalog::test_count_and_len"}, {"type": "Function", "lineno": 360, "nodeid": "core/tests/test_event.py::TestCatalog::test_get_item"}, {"type": "Function", "lineno": 374, "nodeid": "core/tests/test_event.py::TestCatalog::test_slicing"}, {"type": "Function", "lineno": 387, "nodeid": "core/tests/test_event.py::TestCatalog::test_slicing_with_step"}, {"type": "Function", "lineno": 403, "nodeid": "core/tests/test_event.py::TestCatalog::test_copy"}, {"type": "Function", "lineno": 416, "nodeid": "core/tests/test_event.py::TestCatalog::test_filter"}, {"type": "Function", "lineno": 455, "nodeid": "core/tests/test_event.py::TestCatalog::test_catalog_resource_id"}, {"type": "Function", "lineno": 462, "nodeid": "core/tests/test_event.py::TestCatalog::test_can_pickle"}, {"type": "Function", "lineno": 472, "nodeid": "core/tests/test_event.py::TestCatalog::test_issue_2173"}, {"type": "Function", "lineno": 489, "nodeid": "core/tests/test_event.py::TestCatalog::test_read_path"}], "outcome": "passed"}, {"nodeid": "core/tests/test_event.py::TestWaveformStreamID", "result": [{"type": "Function", "lineno": 561, "nodeid": "core/tests/test_event.py::TestWaveformStreamID::test_initialization"}, {"type": "Function", "lineno": 586, "nodeid": "core/tests/test_event.py::TestWaveformStreamID::test_initialization_with_invalid_seed_string"}, {"type": "Function", "lineno": 605, "nodeid": "core/tests/test_event.py::TestWaveformStreamID::test_id_property"}], "outcome": "passed"}, {"nodeid": "core/tests/test_event.py::TestBase", "result": [{"type": "Function", "lineno": 618, "nodeid": "core/tests/test_event.py::TestBase::test_quantity_error_warn_on_non_default_key"}, {"type": "Function", "lineno": 633, "nodeid": "core/tests/test_event.py::TestBase::test_quantity_error_equality"}, {"type": "Function", "lineno": 646, "nodeid": "core/tests/test_event.py::TestBase::test_event_type_objects_warn_on_non_default_key"}, {"type": "Function", "lineno": 657, "nodeid": "core/tests/test_event.py::TestBase::test_setting_nans_or_inf_fails"}, {"type": "Function", "lineno": 672, "nodeid": "core/tests/test_event.py::TestBase::test_issue3105"}], "outcome": "passed"}, {"nodeid": "core/tests/test_event.py", "result": [{"type": "Class", "nodeid": "core/tests/test_event.py::TestEvent"}, {"type": "Class", "nodeid": "core/tests/test_event.py::TestOrigin"}, {"type": "Class", "nodeid": "core/tests/test_event.py::TestCatalog"}, {"type": "Class", "nodeid": "core/tests/test_event.py::TestWaveformStreamID"}, {"type": "Class", "nodeid": "core/tests/test_event.py::TestBase"}], "outcome": "passed"}, {"nodeid": "core/tests/test_inventory.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_inventory.py::TestInventory", "result": [{"type": "Function", "lineno": 42, "nodeid": "core/tests/test_inventory.py::TestInventory::test_initialization"}, {"type": "Function", "lineno": 53, "nodeid": "core/tests/test_inventory.py::TestInventory::test_get_response"}, {"type": "Function", "lineno": 107, "nodeid": "core/tests/test_inventory.py::TestInventory::test_get_coordinates"}, {"type": "Function", "lineno": 140, "nodeid": "core/tests/test_inventory.py::TestInventory::test_get_orientation"}, {"type": "Function", "lineno": 173, "nodeid": "core/tests/test_inventory.py::TestInventory::test_response_plot"}, {"type": "Function", "lineno": 183, "nodeid": "core/tests/test_inventory.py::TestInventory::test_response_plot_epoch_times_in_label"}, {"type": "Function", "lineno": 204, "nodeid": "core/tests/test_inventory.py::TestInventory::test_inventory_merging_metadata_update"}, {"type": "Function", "lineno": 255, "nodeid": "core/tests/test_inventory.py::TestInventory::test_len"}, {"type": "Function", "lineno": 263, "nodeid": "core/tests/test_inventory.py::TestInventory::test_inventory_remove"}, {"type": "Function", "lineno": 352, "nodeid": "core/tests/test_inventory.py::TestInventory::test_issue_2266"}, {"type": "Function", "lineno": 373, "nodeid": "core/tests/test_inventory.py::TestInventory::test_inventory_select"}, {"type": "Function", "lineno": 467, "nodeid": "core/tests/test_inventory.py::TestInventory::test_inventory_select_with_empty_networks"}, {"type": "Function", "lineno": 492, "nodeid": "core/tests/test_inventory.py::TestInventory::test_util_unified_content_string"}, {"type": "Function", "lineno": 538, "nodeid": "core/tests/test_inventory.py::TestInventory::test_util_unified_content_string_with_dots_in_description"}, {"type": "Function", "lineno": 558, "nodeid": "core/tests/test_inventory.py::TestInventory::test_read_invalid_filename"}, {"type": "Function", "lineno": 584, "nodeid": "core/tests/test_inventory.py::TestInventory::test_inventory_can_be_initialized_with_no_arguments"}, {"type": "Function", "lineno": 602, "nodeid": "core/tests/test_inventory.py::TestInventory::test_copy"}, {"type": "Function", "lineno": 617, "nodeid": "core/tests/test_inventory.py::TestInventory::test_add"}, {"type": "Function", "lineno": 647, "nodeid": "core/tests/test_inventory.py::TestInventory::test_extend_metadata"}, {"type": "Function", "lineno": 659, "nodeid": "core/tests/test_inventory.py::TestInventory::test_read_inventory_with_wildcard"}, {"type": "Function", "lineno": 670, "nodeid": "core/tests/test_inventory.py::TestInventory::test_read_inventory_with_path"}], "outcome": "passed"}, {"nodeid": "core/tests/test_inventory.py::TestInventoryCartopy", "result": [{"type": "Function", "lineno": 685, "nodeid": "core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_global"}, {"type": "Function", "lineno": 693, "nodeid": "core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_ortho"}, {"type": "Function", "lineno": 703, "nodeid": "core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_local"}, {"type": "Function", "lineno": 713, "nodeid": "core/tests/test_inventory.py::TestInventoryCartopy::test_combined_station_event_plot"}], "outcome": "passed"}, {"nodeid": "core/tests/test_inventory.py", "result": [{"type": "Class", "nodeid": "core/tests/test_inventory.py::TestInventory"}, {"type": "Class", "nodeid": "core/tests/test_inventory.py::TestInventoryCartopy"}], "outcome": "passed"}, {"nodeid": "core/tests/test_network.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_network.py::TestNetwork", "result": [{"type": "Function", "lineno": 30, "nodeid": "core/tests/test_network.py::TestNetwork::test_get_response"}, {"type": "Function", "lineno": 82, "nodeid": "core/tests/test_network.py::TestNetwork::test_get_coordinates"}, {"type": "Function", "lineno": 114, "nodeid": "core/tests/test_network.py::TestNetwork::test_response_plot"}, {"type": "Function", "lineno": 124, "nodeid": "core/tests/test_network.py::TestNetwork::test_response_plot_epoch_times_in_label"}, {"type": "Function", "lineno": 145, "nodeid": "core/tests/test_network.py::TestNetwork::test_len"}, {"type": "Function", "lineno": 153, "nodeid": "core/tests/test_network.py::TestNetwork::test_network_select"}, {"type": "Function", "lineno": 239, "nodeid": "core/tests/test_network.py::TestNetwork::test_writing_network_before_1990"}, {"type": "Function", "lineno": 250, "nodeid": "core/tests/test_network.py::TestNetwork::test_network_select_with_empty_stations"}, {"type": "Function", "lineno": 280, "nodeid": "core/tests/test_network.py::TestNetwork::test_empty_network_code"}], "outcome": "passed"}, {"nodeid": "core/tests/test_network.py::TestNetworkCartopy", "result": [{"type": "Function", "lineno": 317, "nodeid": "core/tests/test_network.py::TestNetworkCartopy::test_location_plot_global"}, {"type": "Function", "lineno": 325, "nodeid": "core/tests/test_network.py::TestNetworkCartopy::test_location_plot_ortho"}, {"type": "Function", "lineno": 335, "nodeid": "core/tests/test_network.py::TestNetworkCartopy::test_location_plot_local"}], "outcome": "passed"}, {"nodeid": "core/tests/test_network.py", "result": [{"type": "Class", "nodeid": "core/tests/test_network.py::TestNetwork"}, {"type": "Class", "nodeid": "core/tests/test_network.py::TestNetworkCartopy"}], "outcome": "passed"}, {"nodeid": "core/tests/test_preview.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_preview.py::TestUtil", "result": [{"type": "Function", "lineno": 13, "nodeid": "core/tests/test_preview.py::TestUtil::test_create_preview"}, {"type": "Function", "lineno": 52, "nodeid": "core/tests/test_preview.py::TestUtil::test_create_preview_with_masked_arrays"}, {"type": "Function", "lineno": 70, "nodeid": "core/tests/test_preview.py::TestUtil::test_merge_previews"}, {"type": "Function", "lineno": 128, "nodeid": "core/tests/test_preview.py::TestUtil::test_resample_previews"}, {"type": "Function", "lineno": 164, "nodeid": "core/tests/test_preview.py::TestUtil::test_merge_previews_2"}, {"type": "Function", "lineno": 192, "nodeid": "core/tests/test_preview.py::TestUtil::test_create_preview_with_unrounded_sample_rate"}, {"type": "Function", "lineno": 201, "nodeid": "core/tests/test_preview.py::TestUtil::test_create_preview_with_very_small_sample_rate"}], "outcome": "passed"}, {"nodeid": "core/tests/test_preview.py", "result": [{"type": "Class", "nodeid": "core/tests/test_preview.py::TestUtil"}], "outcome": "passed"}, {"nodeid": "core/tests/test_resource_identifier.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier", "result": [{"type": "Function", "lineno": 39, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_same_resource_id_different_referred_object"}, {"type": "Function", "lineno": 71, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_objects_garbage_collection"}, {"type": "Function", "lineno": 82, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_adding_a_referred_object_after_creation"}, {"type": "Function", "lineno": 103, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_getting_gc_no_shared_resource_id"}, {"type": "Function", "lineno": 118, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_getting_gc_with_shared_resource_id"}, {"type": "Function", "lineno": 142, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_resource_id_state_cleanup"}, {"type": "Function", "lineno": 162, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_quakeml_regex"}, {"type": "Function", "lineno": 200, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_resource_id_valid_quakemluri"}, {"type": "Function", "lineno": 208, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_de_referencing_when_object_goes_out_of_scope"}, {"type": "Function", "lineno": 239, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_initialize_with_resource_identifier"}, {"type": "Function", "lineno": 249, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_error_message_for_failing_quakeml_id_conversion"}, {"type": "Function", "lineno": 267, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_debug_class_state"}, {"type": "Function", "lineno": 303, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_preferred_origin"}, {"type": "Function", "lineno": 312, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_preferred_magnitude"}, {"type": "Function", "lineno": 321, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_preferred_focal_mechanism"}, {"type": "Function", "lineno": 330, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_arrivals_refer_to_picks_in_same_event"}, {"type": "Function", "lineno": 343, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_all_referred_objects_in_events"}, {"type": "Function", "lineno": 357, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_all_resource_id_attrs_are_attached"}, {"type": "Function", "lineno": 373, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_no_overlapping_objects"}, {"type": "Function", "lineno": 396, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_event_copying_does_not_raise_duplicate_resource_id_warning"}, {"type": "Function", "lineno": 429, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_set_referred_object_warning"}, {"type": "Function", "lineno": 463, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_catalog_resource_ids"}, {"type": "Function", "lineno": 496, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_event_scoped_resource_id_many_threads"}, {"type": "Function", "lineno": 517, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_resetting_id_warns_on_default_id"}, {"type": "Function", "lineno": 531, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_resetting_id_warns_on_set_id"}, {"type": "Function", "lineno": 545, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_resource_ids_refer_to_newest_object"}, {"type": "Function", "lineno": 560, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_get_pick_from_arrival_on_copied_catalog_doesnt_warn"}, {"type": "Function", "lineno": 571, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_issue_2278"}, {"type": "Function", "lineno": 618, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_get_object_hook"}, {"type": "Function", "lineno": 652, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_mutative_methods_deprecation"}, {"type": "Function", "lineno": 673, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_get_quakeml_id"}], "outcome": "passed"}, {"nodeid": "core/tests/test_resource_identifier.py", "result": [{"type": "Class", "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier"}], "outcome": "passed"}, {"nodeid": "core/tests/test_response.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_response.py::TestResponse", "result": [{"type": "Function", "lineno": 35, "nodeid": "core/tests/test_response.py::TestResponse::test_evalresp_with_output_from_seed"}, {"type": "Function", "lineno": 97, "nodeid": "core/tests/test_response.py::TestResponse::test_calculate_normalization_factor"}, {"type": "Function", "lineno": 153, "nodeid": "core/tests/test_response.py::TestResponse::test_pitick2latex"}, {"type": "Function", "lineno": 166, "nodeid": "core/tests/test_response.py::TestResponse::test_response_plot"}, {"type": "Function", "lineno": 175, "nodeid": "core/tests/test_response.py::TestResponse::test_response_plot_degrees"}, {"type": "Function", "lineno": 184, "nodeid": "core/tests/test_response.py::TestResponse::test_segfault_after_error_handling"}, {"type": "Function", "lineno": 207, "nodeid": "core/tests/test_response.py::TestResponse::test_custom_types_init"}, {"type": "Function", "lineno": 222, "nodeid": "core/tests/test_response.py::TestResponse::test_response_list_stage"}, {"type": "Function", "lineno": 261, "nodeid": "core/tests/test_response.py::TestResponse::test_response_with_no_units_in_stage_1"}, {"type": "Function", "lineno": 300, "nodeid": "core/tests/test_response.py::TestResponse::test_resp_from_paz_setting_zeros_poles_and_sensitivity"}, {"type": "Function", "lineno": 319, "nodeid": "core/tests/test_response.py::TestResponse::test_resp_from_paz_loading_vs_evalresp"}, {"type": "Function", "lineno": 333, "nodeid": "core/tests/test_response.py::TestResponse::test_str_method_of_the_polynomial_response_stage"}, {"type": "Function", "lineno": 401, "nodeid": "core/tests/test_response.py::TestResponse::test_get_sampling_rates"}, {"type": "Function", "lineno": 469, "nodeid": "core/tests/test_response.py::TestResponse::test_response_calculation_paz_without_decimation"}, {"type": "Function", "lineno": 484, "nodeid": "core/tests/test_response.py::TestResponse::test_regression_evalresp"}, {"type": "Function", "lineno": 501, "nodeid": "core/tests/test_response.py::TestResponse::test_recalculate_overall_sensitivity"}, {"type": "Function", "lineno": 544, "nodeid": "core/tests/test_response.py::TestResponse::test_warning_response_list_extrapolation"}, {"type": "Function", "lineno": 568, "nodeid": "core/tests/test_response.py::TestResponse::test_unknown_units_no_integration"}, {"type": "Function", "lineno": 596, "nodeid": "core/tests/test_response.py::TestResponse::test_non_SI_unit_input_first_stage"}, {"type": "Function", "lineno": 657, "nodeid": "core/tests/test_response.py::TestResponse::test_pazresponsestage_hertz_to_radians"}, {"type": "Function", "lineno": 681, "nodeid": "core/tests/test_response.py::TestResponse::test_unknown_units_PA_recalculate_sensitivity"}], "outcome": "passed"}, {"nodeid": "core/tests/test_response.py", "result": [{"type": "Class", "nodeid": "core/tests/test_response.py::TestResponse"}], "outcome": "passed"}, {"nodeid": "core/tests/test_station.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_station.py::TestStation", "result": [{"type": "Function", "lineno": 24, "nodeid": "core/tests/test_station.py::TestStation::test_station_response_plot"}, {"type": "Function", "lineno": 32, "nodeid": "core/tests/test_station.py::TestStation::test_response_plot_degrees"}, {"type": "Function", "lineno": 41, "nodeid": "core/tests/test_station.py::TestStation::test_len"}, {"type": "Function", "lineno": 50, "nodeid": "core/tests/test_station.py::TestStation::test_station_select"}, {"type": "Function", "lineno": 157, "nodeid": "core/tests/test_station.py::TestStation::test_warn_identifier_invalid_uri_syntax"}], "outcome": "passed"}, {"nodeid": "core/tests/test_station.py", "result": [{"type": "Class", "nodeid": "core/tests/test_station.py::TestStation"}], "outcome": "passed"}, {"nodeid": "core/tests/test_stats.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_stats.py::TestStats", "result": [{"type": "Function", "lineno": 19, "nodeid": "core/tests/test_stats.py::TestStats::test_init"}, {"type": "Function", "lineno": 39, "nodeid": "core/tests/test_stats.py::TestStats::test_deepcopy"}, {"type": "Function", "lineno": 65, "nodeid": "core/tests/test_stats.py::TestStats::test_update"}, {"type": "Function", "lineno": 78, "nodeid": "core/tests/test_stats.py::TestStats::test_simple_stats"}, {"type": "Function", "lineno": 96, "nodeid": "core/tests/test_stats.py::TestStats::test_nested_stats"}, {"type": "Function", "lineno": 127, "nodeid": "core/tests/test_stats.py::TestStats::test_bugfix_set_stats"}, {"type": "Function", "lineno": 141, "nodeid": "core/tests/test_stats.py::TestStats::test_bugfix_set_stats_2"}, {"type": "Function", "lineno": 158, "nodeid": "core/tests/test_stats.py::TestStats::test_bugfix_set_stats_3"}, {"type": "Function", "lineno": 178, "nodeid": "core/tests/test_stats.py::TestStats::test_pickle_stats"}, {"type": "Function", "lineno": 203, "nodeid": "core/tests/test_stats.py::TestStats::test_set_calib"}, {"type": "Function", "lineno": 223, "nodeid": "core/tests/test_stats.py::TestStats::test_compare_with_dict"}, {"type": "Function", "lineno": 236, "nodeid": "core/tests/test_stats.py::TestStats::test_delta_zero"}, {"type": "Function", "lineno": 243, "nodeid": "core/tests/test_stats.py::TestStats::test_non_str_in_nscl_raise_warning"}, {"type": "Function", "lineno": 262, "nodeid": "core/tests/test_stats.py::TestStats::test_nscl_cannot_be_none"}, {"type": "Function", "lineno": 273, "nodeid": "core/tests/test_stats.py::TestStats::test_casted_stats_nscl_writes_to_mseed"}, {"type": "Function", "lineno": 301, "nodeid": "core/tests/test_stats.py::TestStats::test_different_string_types"}, {"type": "Function", "lineno": 317, "nodeid": "core/tests/test_stats.py::TestStats::test_component"}], "outcome": "passed"}, {"nodeid": "core/tests/test_stats.py", "result": [{"type": "Class", "nodeid": "core/tests/test_stats.py::TestStats"}], "outcome": "passed"}, {"nodeid": "core/tests/test_stream.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_stream.py::TestStream", "result": [{"type": "Function", "lineno": 81, "nodeid": "core/tests/test_stream.py::TestStream::test_init"}, {"type": "Function", "lineno": 95, "nodeid": "core/tests/test_stream.py::TestStream::test_setitem"}, {"type": "Function", "lineno": 109, "nodeid": "core/tests/test_stream.py::TestStream::test_getitem"}, {"type": "Function", "lineno": 123, "nodeid": "core/tests/test_stream.py::TestStream::test_add"}, {"type": "Function", "lineno": 156, "nodeid": "core/tests/test_stream.py::TestStream::test_iadd"}, {"type": "Function", "lineno": 178, "nodeid": "core/tests/test_stream.py::TestStream::test_mul"}, {"type": "Function", "lineno": 192, "nodeid": "core/tests/test_stream.py::TestStream::test_add_trace_to_stream"}, {"type": "Function", "lineno": 206, "nodeid": "core/tests/test_stream.py::TestStream::test_append"}, {"type": "Function", "lineno": 235, "nodeid": "core/tests/test_stream.py::TestStream::test_count_and_len"}, {"type": "Function", "lineno": 248, "nodeid": "core/tests/test_stream.py::TestStream::test_extend"}, {"type": "Function", "lineno": 273, "nodeid": "core/tests/test_stream.py::TestStream::test_insert"}, {"type": "Function", "lineno": 321, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps"}, {"type": "Function", "lineno": 356, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps_multiplexed_streams"}, {"type": "Function", "lineno": 382, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps_masked"}, {"type": "Function", "lineno": 409, "nodeid": "core/tests/test_stream.py::TestStream::test_pop"}, {"type": "Function", "lineno": 438, "nodeid": "core/tests/test_stream.py::TestStream::test_slicing"}, {"type": "Function", "lineno": 453, "nodeid": "core/tests/test_stream.py::TestStream::test_slicing_with_steps"}, {"type": "Function", "lineno": 469, "nodeid": "core/tests/test_stream.py::TestStream::test_slice"}, {"type": "Function", "lineno": 480, "nodeid": "core/tests/test_stream.py::TestStream::test_slice_nearest_sample"}, {"type": "Function", "lineno": 512, "nodeid": "core/tests/test_stream.py::TestStream::test_cutout"}, {"type": "Function", "lineno": 557, "nodeid": "core/tests/test_stream.py::TestStream::test_pop2"}, {"type": "Function", "lineno": 572, "nodeid": "core/tests/test_stream.py::TestStream::test_remove"}, {"type": "Function", "lineno": 587, "nodeid": "core/tests/test_stream.py::TestStream::test_reverse"}, {"type": "Function", "lineno": 604, "nodeid": "core/tests/test_stream.py::TestStream::test_select"}, {"type": "Function", "lineno": 710, "nodeid": "core/tests/test_stream.py::TestStream::test_select_on_single_letter_channels"}, {"type": "Function", "lineno": 726, "nodeid": "core/tests/test_stream.py::TestStream::test_select_from_inventory"}, {"type": "Function", "lineno": 780, "nodeid": "core/tests/test_stream.py::TestStream::test_sort"}, {"type": "Function", "lineno": 844, "nodeid": "core/tests/test_stream.py::TestStream::test_sorting_twice"}, {"type": "Function", "lineno": 881, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_with_different_calibration_factors"}, {"type": "Function", "lineno": 912, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_with_different_sampling_rates"}, {"type": "Function", "lineno": 943, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_with_different_data_types"}, {"type": "Function", "lineno": 968, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_gaps"}, {"type": "Function", "lineno": 996, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_gaps_2"}, {"type": "Function", "lineno": 1052, "nodeid": "core/tests/test_stream.py::TestStream::test_split"}, {"type": "Function", "lineno": 1089, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_overlaps_default_method"}, {"type": "Function", "lineno": 1145, "nodeid": "core/tests/test_stream.py::TestStream::test_tab_completion_trace"}, {"type": "Function", "lineno": 1158, "nodeid": "core/tests/test_stream.py::TestStream::test_bugfix_merge_drop_trace_if_already_contained"}, {"type": "Function", "lineno": 1169, "nodeid": "core/tests/test_stream.py::TestStream::test_bugfix_merge_multiple_traces"}, {"type": "Function", "lineno": 1184, "nodeid": "core/tests/test_stream.py::TestStream::test_bugfix_merge_multiple_traces_2"}, {"type": "Function", "lineno": 1200, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_with_small_sampling_rate"}, {"type": "Function", "lineno": 1231, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_overlaps_method_1"}, {"type": "Function", "lineno": 1303, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_removing_empty_traces"}, {"type": "Function", "lineno": 1325, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_with_small_sampling_rate"}, {"type": "Function", "lineno": 1352, "nodeid": "core/tests/test_stream.py::TestStream::test_writing_masked_array"}, {"type": "Function", "lineno": 1367, "nodeid": "core/tests/test_stream.py::TestStream::test_pickle"}, {"type": "Function", "lineno": 1390, "nodeid": "core/tests/test_stream.py::TestStream::test_cpickle"}, {"type": "Function", "lineno": 1413, "nodeid": "core/tests/test_stream.py::TestStream::test_is_pickle"}, {"type": "Function", "lineno": 1429, "nodeid": "core/tests/test_stream.py::TestStream::test_read_write_pickle"}, {"type": "Function", "lineno": 1458, "nodeid": "core/tests/test_stream.py::TestStream::test_read_pickle"}, {"type": "Function", "lineno": 1485, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps_2"}, {"type": "Function", "lineno": 1519, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps_whole_overlap"}, {"type": "Function", "lineno": 1538, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps_overlap"}, {"type": "Function", "lineno": 1563, "nodeid": "core/tests/test_stream.py::TestStream::test_comparisons"}, {"type": "Function", "lineno": 1651, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_nearest_sample"}, {"type": "Function", "lineno": 1677, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_consistent_start_end_time_nearest_sample"}, {"type": "Function", "lineno": 1698, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_consistent_start_end_time_nearest_sample_padded"}, {"type": "Function", "lineno": 1719, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_consistent_start_end_time"}, {"type": "Function", "lineno": 1740, "nodeid": "core/tests/test_stream.py::TestStream::test_trim_consistent_start_and_time_pad"}, {"type": "Function", "lineno": 1761, "nodeid": "core/tests/test_stream.py::TestStream::test_str"}, {"type": "Function", "lineno": 1783, "nodeid": "core/tests/test_stream.py::TestStream::test_cleanup"}, {"type": "Function", "lineno": 1870, "nodeid": "core/tests/test_stream.py::TestStream::test_integrate_and_differentiate"}, {"type": "Function", "lineno": 1888, "nodeid": "core/tests/test_stream.py::TestStream::test_read"}, {"type": "Function", "lineno": 1946, "nodeid": "core/tests/test_stream.py::TestStream::test_read_url_via_network", "deselected": true}, {"type": "Function", "lineno": 1965, "nodeid": "core/tests/test_stream.py::TestStream::test_read_path"}, {"type": "Function", "lineno": 1974, "nodeid": "core/tests/test_stream.py::TestStream::test_copy"}, {"type": "Function", "lineno": 1987, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_with_empty_trace"}, {"type": "Function", "lineno": 2002, "nodeid": "core/tests/test_stream.py::TestStream::test_rotate"}, {"type": "Function", "lineno": 2091, "nodeid": "core/tests/test_stream.py::TestStream::test_plot"}, {"type": "Function", "lineno": 2097, "nodeid": "core/tests/test_stream.py::TestStream::test_spectrogram"}, {"type": "Function", "lineno": 2103, "nodeid": "core/tests/test_stream.py::TestStream::test_deepcopy"}, {"type": "Function", "lineno": 2125, "nodeid": "core/tests/test_stream.py::TestStream::test_write"}, {"type": "Function", "lineno": 2131, "nodeid": "core/tests/test_stream.py::TestStream::test_detrend"}, {"type": "Function", "lineno": 2169, "nodeid": "core/tests/test_stream.py::TestStream::test_taper"}, {"type": "Function", "lineno": 2183, "nodeid": "core/tests/test_stream.py::TestStream::test_issue_540"}, {"type": "Function", "lineno": 2216, "nodeid": "core/tests/test_stream.py::TestStream::test_method_chaining"}, {"type": "Function", "lineno": 2295, "nodeid": "core/tests/test_stream.py::TestStream::test_simulate_seedresp_parser"}, {"type": "Function", "lineno": 2337, "nodeid": "core/tests/test_stream.py::TestStream::test_select_empty_strings"}, {"type": "Function", "lineno": 2355, "nodeid": "core/tests/test_stream.py::TestStream::test_remove_response"}, {"type": "Function", "lineno": 2374, "nodeid": "core/tests/test_stream.py::TestStream::test_attach_response_deprecated"}, {"type": "Function", "lineno": 2381, "nodeid": "core/tests/test_stream.py::TestStream::test_remove_sensitivity"}, {"type": "Function", "lineno": 2402, "nodeid": "core/tests/test_stream.py::TestStream::test_interpolate"}, {"type": "Function", "lineno": 2415, "nodeid": "core/tests/test_stream.py::TestStream::test_integrate"}, {"type": "Function", "lineno": 2428, "nodeid": "core/tests/test_stream.py::TestStream::test_integrate_args"}, {"type": "Function", "lineno": 2441, "nodeid": "core/tests/test_stream.py::TestStream::test_misaligned_traces"}, {"type": "Function", "lineno": 2523, "nodeid": "core/tests/test_stream.py::TestStream::test_slide"}, {"type": "Function", "lineno": 2605, "nodeid": "core/tests/test_stream.py::TestStream::test_slide_nearest_sample"}, {"type": "Function", "lineno": 2645, "nodeid": "core/tests/test_stream.py::TestStream::test_passing_kwargs_to_trace_detrend"}, {"type": "Function", "lineno": 2662, "nodeid": "core/tests/test_stream.py::TestStream::test_read_check_compression"}, {"type": "Function", "lineno": 2684, "nodeid": "core/tests/test_stream.py::TestStream::test_rotate_to_zne"}, {"type": "Function", "lineno": 2726, "nodeid": "core/tests/test_stream.py::TestStream::test_write_empty_stream"}, {"type": "Function", "lineno": 2738, "nodeid": "core/tests/test_stream.py::TestStream::test_stack"}, {"type": "Function", "lineno": 2839, "nodeid": "core/tests/test_stream.py::TestStream::test_stream_trim_slice_same_length"}, {"type": "Function", "lineno": 2852, "nodeid": "core/tests/test_stream.py::TestStream::test_filter_ftype"}, {"type": "Function", "lineno": 2861, "nodeid": "core/tests/test_stream.py::TestStream::test_filter_freq_args"}, {"type": "Function", "lineno": 2874, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_checks_messages"}, {"type": "Function", "lineno": 2905, "nodeid": "core/tests/test_stream.py::TestStream::test_newbyteorder"}], "outcome": "passed"}, {"nodeid": "core/tests/test_stream.py", "result": [{"type": "Class", "nodeid": "core/tests/test_stream.py::TestStream"}], "outcome": "passed"}, {"nodeid": "core/tests/test_trace.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_trace.py::TestTrace", "result": [{"type": "Function", "lineno": 35, "nodeid": "core/tests/test_trace.py::TestTrace::test_init"}, {"type": "Function", "lineno": 54, "nodeid": "core/tests/test_trace.py::TestTrace::test_setattr"}, {"type": "Function", "lineno": 75, "nodeid": "core/tests/test_trace.py::TestTrace::test_len"}, {"type": "Function", "lineno": 83, "nodeid": "core/tests/test_trace.py::TestTrace::test_mul"}, {"type": "Function", "lineno": 96, "nodeid": "core/tests/test_trace.py::TestTrace::test_truediv"}, {"type": "Function", "lineno": 110, "nodeid": "core/tests/test_trace.py::TestTrace::test_ltrim"}, {"type": "Function", "lineno": 198, "nodeid": "core/tests/test_trace.py::TestTrace::test_rtrim"}, {"type": "Function", "lineno": 291, "nodeid": "core/tests/test_trace.py::TestTrace::test_rtrim_with_padding"}, {"type": "Function", "lineno": 325, "nodeid": "core/tests/test_trace.py::TestTrace::test_trim"}, {"type": "Function", "lineno": 352, "nodeid": "core/tests/test_trace.py::TestTrace::test_trim_all_does_not_change_dtype"}, {"type": "Function", "lineno": 367, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_trace_with_gap"}, {"type": "Function", "lineno": 400, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_trace_with_overlap"}, {"type": "Function", "lineno": 430, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_same_trace"}, {"type": "Function", "lineno": 444, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_trace_within_trace"}, {"type": "Function", "lineno": 475, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_gap_and_overlap"}, {"type": "Function", "lineno": 519, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_into_gap"}, {"type": "Function", "lineno": 583, "nodeid": "core/tests/test_trace.py::TestTrace::test_slice"}, {"type": "Function", "lineno": 606, "nodeid": "core/tests/test_trace.py::TestTrace::test_slice_no_starttime_or_endtime"}, {"type": "Function", "lineno": 699, "nodeid": "core/tests/test_trace.py::TestTrace::test_slice_nearest_sample"}, {"type": "Function", "lineno": 726, "nodeid": "core/tests/test_trace.py::TestTrace::test_trim_floating_point"}, {"type": "Function", "lineno": 810, "nodeid": "core/tests/test_trace.py::TestTrace::test_trim_floating_point_with_padding_1"}, {"type": "Function", "lineno": 847, "nodeid": "core/tests/test_trace.py::TestTrace::test_trim_floating_point_with_padding_2"}, {"type": "Function", "lineno": 884, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_sanity"}, {"type": "Function", "lineno": 917, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_overlaps_default_method"}, {"type": "Function", "lineno": 1002, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_with_different_sampling_rates"}, {"type": "Function", "lineno": 1034, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_with_different_datatypes_or_id"}, {"type": "Function", "lineno": 1069, "nodeid": "core/tests/test_trace.py::TestTrace::test_comparisons"}, {"type": "Function", "lineno": 1141, "nodeid": "core/tests/test_trace.py::TestTrace::test_nearest_sample"}, {"type": "Function", "lineno": 1203, "nodeid": "core/tests/test_trace.py::TestTrace::test_masked_array_to_string"}, {"type": "Function", "lineno": 1215, "nodeid": "core/tests/test_trace.py::TestTrace::test_detrend"}, {"type": "Function", "lineno": 1243, "nodeid": "core/tests/test_trace.py::TestTrace::test_differentiate"}, {"type": "Function", "lineno": 1254, "nodeid": "core/tests/test_trace.py::TestTrace::test_integrate"}, {"type": "Function", "lineno": 1268, "nodeid": "core/tests/test_trace.py::TestTrace::test_issue_317"}, {"type": "Function", "lineno": 1316, "nodeid": "core/tests/test_trace.py::TestTrace::test_verify"}, {"type": "Function", "lineno": 1330, "nodeid": "core/tests/test_trace.py::TestTrace::test_percent_in_str"}, {"type": "Function", "lineno": 1338, "nodeid": "core/tests/test_trace.py::TestTrace::test_taper"}, {"type": "Function", "lineno": 1349, "nodeid": "core/tests/test_trace.py::TestTrace::test_taper_onesided"}, {"type": "Function", "lineno": 1379, "nodeid": "core/tests/test_trace.py::TestTrace::test_taper_length"}, {"type": "Function", "lineno": 1413, "nodeid": "core/tests/test_trace.py::TestTrace::test_times"}, {"type": "Function", "lineno": 1465, "nodeid": "core/tests/test_trace.py::TestTrace::test_modulo_operation"}, {"type": "Function", "lineno": 1487, "nodeid": "core/tests/test_trace.py::TestTrace::test_plot"}, {"type": "Function", "lineno": 1494, "nodeid": "core/tests/test_trace.py::TestTrace::test_spectrogram"}, {"type": "Function", "lineno": 1502, "nodeid": "core/tests/test_trace.py::TestTrace::test_raise_masked"}, {"type": "Function", "lineno": 1512, "nodeid": "core/tests/test_trace.py::TestTrace::test_split"}, {"type": "Function", "lineno": 1537, "nodeid": "core/tests/test_trace.py::TestTrace::test_split_empty_masked_array"}, {"type": "Function", "lineno": 1551, "nodeid": "core/tests/test_trace.py::TestTrace::test_split_masked_array_without_actually_masked_values"}, {"type": "Function", "lineno": 1571, "nodeid": "core/tests/test_trace.py::TestTrace::test_simulate_evalresp"}, {"type": "Function", "lineno": 1598, "nodeid": "core/tests/test_trace.py::TestTrace::test_issue_540"}, {"type": "Function", "lineno": 1631, "nodeid": "core/tests/test_trace.py::TestTrace::test_resample"}, {"type": "Function", "lineno": 1658, "nodeid": "core/tests/test_trace.py::TestTrace::test_method_chaining"}, {"type": "Function", "lineno": 1703, "nodeid": "core/tests/test_trace.py::TestTrace::test_skip_empty_trace"}, {"type": "Function", "lineno": 1713, "nodeid": "core/tests/test_trace.py::TestTrace::test_issue_695"}, {"type": "Function", "lineno": 1727, "nodeid": "core/tests/test_trace.py::TestTrace::test_remove_response"}, {"type": "Function", "lineno": 1745, "nodeid": "core/tests/test_trace.py::TestTrace::test_remove_polynomial_response"}, {"type": "Function", "lineno": 1776, "nodeid": "core/tests/test_trace.py::TestTrace::test_processing_info_remove_response_and_sensitivity"}, {"type": "Function", "lineno": 1820, "nodeid": "core/tests/test_trace.py::TestTrace::test_processing_information"}, {"type": "Function", "lineno": 1861, "nodeid": "core/tests/test_trace.py::TestTrace::test_no_processing_info_for_failed_operations"}, {"type": "Function", "lineno": 1887, "nodeid": "core/tests/test_trace.py::TestTrace::test_meta"}, {"type": "Function", "lineno": 1897, "nodeid": "core/tests/test_trace.py::TestTrace::test_interpolate"}, {"type": "Function", "lineno": 1978, "nodeid": "core/tests/test_trace.py::TestTrace::test_interpolation_time_shift"}, {"type": "Function", "lineno": 2042, "nodeid": "core/tests/test_trace.py::TestTrace::test_interpolation_arguments"}, {"type": "Function", "lineno": 2101, "nodeid": "core/tests/test_trace.py::TestTrace::test_resample_new"}, {"type": "Function", "lineno": 2182, "nodeid": "core/tests/test_trace.py::TestTrace::test_slide"}, {"type": "Function", "lineno": 2251, "nodeid": "core/tests/test_trace.py::TestTrace::test_slide_nearest_sample"}, {"type": "Function", "lineno": 2287, "nodeid": "core/tests/test_trace.py::TestTrace::test_remove_response_plot"}, {"type": "Function", "lineno": 2297, "nodeid": "core/tests/test_trace.py::TestTrace::test_remove_response_default_units"}, {"type": "Function", "lineno": 2306, "nodeid": "core/tests/test_trace.py::TestTrace::test_attach_response_deprecated"}, {"type": "Function", "lineno": 2313, "nodeid": "core/tests/test_trace.py::TestTrace::test_normalize"}, {"type": "Function", "lineno": 2407, "nodeid": "core/tests/test_trace.py::TestTrace::test_dtype_is_not_unnecessarily_changed"}, {"type": "Function", "lineno": 2598, "nodeid": "core/tests/test_trace.py::TestTrace::test_set_trace_id"}, {"type": "Function", "lineno": 2622, "nodeid": "core/tests/test_trace.py::TestTrace::test_trace_contiguous"}, {"type": "Function", "lineno": 2642, "nodeid": "core/tests/test_trace.py::TestTrace::test_header_dict_copied"}, {"type": "Function", "lineno": 2661, "nodeid": "core/tests/test_trace.py::TestTrace::test_pickle"}, {"type": "Function", "lineno": 2673, "nodeid": "core/tests/test_trace.py::TestTrace::test_pickle_soh"}, {"type": "Function", "lineno": 2686, "nodeid": "core/tests/test_trace.py::TestTrace::test_deepcopy_issue2600"}, {"type": "Function", "lineno": 2696, "nodeid": "core/tests/test_trace.py::TestTrace::test_pickle_issue2600"}, {"type": "Function", "lineno": 2707, "nodeid": "core/tests/test_trace.py::TestTrace::test_resample_short_traces"}, {"type": "Function", "lineno": 2723, "nodeid": "core/tests/test_trace.py::TestTrace::test_long_processing_list"}, {"type": "Function", "lineno": 2738, "nodeid": "core/tests/test_trace.py::TestTrace::test_taper_scipy_plugins"}], "outcome": "passed"}, {"nodeid": "core/tests/test_trace.py", "result": [{"type": "Class", "nodeid": "core/tests/test_trace.py::TestTrace"}], "outcome": "passed"}, {"nodeid": "core/tests/test_utcdatetime.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime", "result": [{"type": "Function", "lineno": 22, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_string"}, {"type": "Function", "lineno": 43, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_numpy_string"}, {"type": "Function", "lineno": 62, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_python_date_time"}, {"type": "Function", "lineno": 75, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_numeric"}, {"type": "Function", "lineno": 86, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_iso8601_calendar_date_string"}, {"type": "Function", "lineno": 162, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_iso8601_ordinal_date_string"}, {"type": "Function", "lineno": 216, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_iso8601_week_date_string"}, {"type": "Function", "lineno": 263, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_to_string"}, {"type": "Function", "lineno": 278, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_deepcopy"}, {"type": "Function", "lineno": 285, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_add"}, {"type": "Function", "lineno": 299, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_sub"}, {"type": "Function", "lineno": 317, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_negative_timestamp"}, {"type": "Function", "lineno": 322, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_sub_with_negative_time_stamp"}, {"type": "Function", "lineno": 327, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_small_negative_utc_date_time"}, {"type": "Function", "lineno": 372, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_big_negative_UTC"}, {"type": "Function", "lineno": 382, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_init_UTC"}, {"type": "Function", "lineno": 390, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_init_UTC_mixing_keyworks_with_arguments"}, {"type": "Function", "lineno": 415, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_to_python_date_time_objects"}, {"type": "Function", "lineno": 433, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_sub_add_float"}, {"type": "Function", "lineno": 446, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_159"}, {"type": "Function", "lineno": 459, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_invalid_dates"}, {"type": "Function", "lineno": 480, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_invalid_times"}, {"type": "Function", "lineno": 494, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_168"}, {"type": "Function", "lineno": 508, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_format_seed"}, {"type": "Function", "lineno": 535, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_eq"}, {"type": "Function", "lineno": 558, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_ne"}, {"type": "Function", "lineno": 581, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_lt"}, {"type": "Function", "lineno": 617, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_le"}, {"type": "Function", "lineno": 653, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_gt"}, {"type": "Function", "lineno": 688, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_ge"}, {"type": "Function", "lineno": 724, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_toordinal"}, {"type": "Function", "lineno": 733, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_weekday"}, {"type": "Function", "lineno": 741, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_default_precision"}, {"type": "Function", "lineno": 769, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_to_string_precision"}, {"type": "Function", "lineno": 800, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_precision_above_9_issues_warning"}, {"type": "Function", "lineno": 811, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_rich_comparision_numeric_objects"}, {"type": "Function", "lineno": 848, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_rich_comparision_numeric_types"}, {"type": "Function", "lineno": 865, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_rich_comparision_fuzzy"}, {"type": "Function", "lineno": 938, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_datetime_with_timezone"}, {"type": "Function", "lineno": 953, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_hash"}, {"type": "Function", "lineno": 959, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_now"}, {"type": "Function", "lineno": 966, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_utcnow"}, {"type": "Function", "lineno": 973, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_abs"}, {"type": "Function", "lineno": 988, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_string_with_timezone"}, {"type": "Function", "lineno": 1013, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_year_2038_problem"}, {"type": "Function", "lineno": 1024, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_format_iris_webservice"}, {"type": "Function", "lineno": 1038, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_floating_point_second_initialization"}, {"type": "Function", "lineno": 1049, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_1215"}, {"type": "Function", "lineno": 1061, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_matplotlib_date"}, {"type": "Function", "lineno": 1080, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_add_error_message"}, {"type": "Function", "lineno": 1087, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_nanoseconds"}, {"type": "Function", "lineno": 1161, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_utcdatetime_from_utcdatetime"}, {"type": "Function", "lineno": 1166, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_1008"}, {"type": "Function", "lineno": 1175, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_1652"}, {"type": "Function", "lineno": 1192, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_2165"}, {"type": "Function", "lineno": 1207, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_ns_public_attribute"}, {"type": "Function", "lineno": 1221, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_timestamp_can_serialize_with_time_attrs"}, {"type": "Function", "lineno": 1236, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_str_ms_equal_ms"}, {"type": "Function", "lineno": 1250, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_close_utc_are_equal"}, {"type": "Function", "lineno": 1283, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_comparing_different_precision_utcs_warns"}, {"type": "Function", "lineno": 1297, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_string_representation_various_precisions"}, {"type": "Function", "lineno": 1308, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_zero_precision_doesnt_print_dot"}, {"type": "Function", "lineno": 1316, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_change_time_attr_raises_warning"}, {"type": "Function", "lineno": 1331, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_change_precision_raises_warning"}, {"type": "Function", "lineno": 1345, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_compare_utc_different_precision_raises_warning"}, {"type": "Function", "lineno": 1361, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_replace"}, {"type": "Function", "lineno": 1395, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_replace_with_julday_and_month_raises"}, {"type": "Function", "lineno": 1407, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_unsupported_replace_argument_raises"}, {"type": "Function", "lineno": 1416, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_hour_minute_second_overflow"}, {"type": "Function", "lineno": 1448, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_hour_minute_second_overflow_with_replace"}, {"type": "Function", "lineno": 1457, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_strftime_with_years_less_than_1900"}, {"type": "Function", "lineno": 1468, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_string_parsing_at_instantiating_before_1000"}, {"type": "Function", "lineno": 1478, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_leap_years"}, {"type": "Function", "lineno": 1508, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_issue_2447"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path0]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path1]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path2]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path3]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path4]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path5]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path6]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path7]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path8]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path9]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path10]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path11]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path12]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path13]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path14]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path15]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path16]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path17]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path18]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path19]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path20]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path21]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path22]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path23]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path24]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path25]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path26]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path27]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path28]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path29]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path30]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path31]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path32]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path33]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path34]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path35]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path36]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path37]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path38]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path39]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path40]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path41]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path42]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path43]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path44]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path45]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path46]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path47]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path48]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path49]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path50]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path51]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path52]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path53]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path54]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path55]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path56]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path57]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path58]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path59]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path60]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path61]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path62]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path63]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path64]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path65]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path66]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path67]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path68]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path69]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path70]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path71]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path72]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path73]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path74]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path75]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path76]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path77]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path78]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path79]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path80]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path81]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path82]"}, {"type": "Function", "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path83]"}], "outcome": "passed"}, {"nodeid": "core/tests/test_utcdatetime.py", "result": [{"type": "Class", "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime"}], "outcome": "passed"}, {"nodeid": "core/tests/test_util_attribdict.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_util_attribdict.py::TestAttribDict", "result": [{"type": "Function", "lineno": 17, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_pop"}, {"type": "Function", "lineno": 37, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_popitem"}, {"type": "Function", "lineno": 53, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_delete"}, {"type": "Function", "lineno": 74, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_init"}, {"type": "Function", "lineno": 89, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_setitem"}, {"type": "Function", "lineno": 118, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_setattr"}, {"type": "Function", "lineno": 147, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_setdefault"}, {"type": "Function", "lineno": 190, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_clear"}, {"type": "Function", "lineno": 209, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_init_argument"}, {"type": "Function", "lineno": 227, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_defaults"}, {"type": "Function", "lineno": 251, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_set_readonly"}, {"type": "Function", "lineno": 264, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_deepcopy_and_pickle"}, {"type": "Function", "lineno": 279, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_compare_with_dict"}, {"type": "Function", "lineno": 288, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_pretty_str"}, {"type": "Function", "lineno": 305, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_types"}], "outcome": "passed"}, {"nodeid": "core/tests/test_util_attribdict.py", "result": [{"type": "Class", "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict"}], "outcome": "passed"}, {"nodeid": "core/tests/test_util_base.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_util_base.py::TestUtilBase", "result": [{"type": "Function", "lineno": 18, "nodeid": "core/tests/test_util_base.py::TestUtilBase::test_get_matplotlib_version"}, {"type": "Function", "lineno": 33, "nodeid": "core/tests/test_util_base.py::TestUtilBase::test_named_temporay_file__context_manager"}, {"type": "Function", "lineno": 58, "nodeid": "core/tests/test_util_base.py::TestUtilBase::test_mock_read_inventory_http_errors"}, {"type": "Function", "lineno": 74, "nodeid": "core/tests/test_util_base.py::TestUtilBase::test_sanitize_filename"}, {"type": "Function", "lineno": 84, "nodeid": "core/tests/test_util_base.py::TestUtilBase::test_create_empty_data_chunk"}, {"type": "Function", "lineno": 103, "nodeid": "core/tests/test_util_base.py::TestUtilBase::test_comparing_object_eq"}], "outcome": "passed"}, {"nodeid": "core/tests/test_util_base.py", "result": [{"type": "Class", "nodeid": "core/tests/test_util_base.py::TestUtilBase"}], "outcome": "passed"}, {"nodeid": "core/tests/test_util_decorator.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_util_decorator.py::TestUtilDecorator", "result": [{"type": "Function", "lineno": 6, "nodeid": "core/tests/test_util_decorator.py::TestUtilDecorator::test_map_example_filename"}], "outcome": "passed"}, {"nodeid": "core/tests/test_util_decorator.py", "result": [{"type": "Class", "nodeid": "core/tests/test_util_decorator.py::TestUtilDecorator"}], "outcome": "passed"}, {"nodeid": "core/tests/test_util_misc.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_util_misc.py::TestUtilMisc", "result": [{"type": "Function", "lineno": 20, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_supress_output"}, {"type": "Function", "lineno": 32, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_catch_output"}, {"type": "Function", "lineno": 53, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_catch_output_bytes"}, {"type": "Function", "lineno": 61, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_catch_output_io"}, {"type": "Function", "lineno": 76, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_no_obspy_imports"}, {"type": "Function", "lineno": 97, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_1"}, {"type": "Function", "lineno": 116, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_2"}, {"type": "Function", "lineno": 134, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_3"}, {"type": "Function", "lineno": 151, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_4"}, {"type": "Function", "lineno": 166, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_5"}, {"type": "Function", "lineno": 183, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_6"}, {"type": "Function", "lineno": 202, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_7"}, {"type": "Function", "lineno": 216, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_8"}, {"type": "Function", "lineno": 233, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_9"}, {"type": "Function", "lineno": 253, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_entry_point_buffer"}, {"type": "Function", "lineno": 277, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_yield_obj_parent_attr"}, {"type": "Function", "lineno": 308, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_warning_capture"}], "outcome": "passed"}, {"nodeid": "core/tests/test_util_misc.py", "result": [{"type": "Class", "nodeid": "core/tests/test_util_misc.py::TestUtilMisc"}], "outcome": "passed"}, {"nodeid": "core/tests/test_util_testing.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_util_testing.py::TestAlmostEqual", "result": [{"type": "Function", "lineno": 15, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_identical_traces"}, {"type": "Function", "lineno": 26, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_slightly_modified_data"}, {"type": "Function", "lineno": 35, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_empty_traces"}, {"type": "Function", "lineno": 42, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_different_stats_no_processing"}, {"type": "Function", "lineno": 52, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_processing"}, {"type": "Function", "lineno": 66, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_nan"}, {"type": "Function", "lineno": 75, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_unequal_trace_lengths"}, {"type": "Function", "lineno": 83, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_not_a_trace"}, {"type": "Function", "lineno": 92, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_stream_almost_equal"}], "outcome": "passed"}, {"nodeid": "core/tests/test_util_testing.py", "result": [{"type": "Class", "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual"}], "outcome": "passed"}, {"nodeid": "core/tests/test_util_types.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_util_types.py::TestUtilTypes", "result": [{"type": "Function", "lineno": 14, "nodeid": "core/tests/test_util_types.py::TestUtilTypes::test_enum"}, {"type": "Function", "lineno": 65, "nodeid": "core/tests/test_util_types.py::TestUtilTypes::test_complex"}, {"type": "Function", "lineno": 95, "nodeid": "core/tests/test_util_types.py::TestUtilTypes::test_floating_point_types_are_indempotent"}, {"type": "Function", "lineno": 121, "nodeid": "core/tests/test_util_types.py::TestUtilTypes::test_comment_str"}], "outcome": "passed"}, {"nodeid": "core/tests/test_util_types.py", "result": [{"type": "Class", "nodeid": "core/tests/test_util_types.py::TestUtilTypes"}], "outcome": "passed"}, {"nodeid": "core/tests/test_waveform_plugins.py", "result": [], "outcome": "passed"}, {"nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins", "result": [{"type": "Function", "lineno": 43, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_raise_on_empty_file"}, {"type": "Function", "lineno": 60, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_and_write"}, {"type": "Function", "lineno": 196, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_is_format"}, {"type": "Function", "lineno": 281, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_thread_safe"}, {"type": "Function", "lineno": 360, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_issue_193"}, {"type": "Function", "lineno": 392, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_gzip2_file"}, {"type": "Function", "lineno": 400, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_bzip2_file"}, {"type": "Function", "lineno": 408, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_tar_archive"}, {"type": "Function", "lineno": 429, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_zip_archive"}, {"type": "Function", "lineno": 437, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_raise_on_unknown_format"}, {"type": "Function", "lineno": 449, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_deepcopy"}, {"type": "Function", "lineno": 488, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_auto_file_format_during_writing"}, {"type": "Function", "lineno": 548, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_reading_tarfile_impostor"}, {"type": "Function", "lineno": 558, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_read_invalid_filename"}], "outcome": "passed"}, {"nodeid": "core/tests/test_waveform_plugins.py", "result": [{"type": "Class", "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins"}], "outcome": "passed"}, {"nodeid": "core/tests", "result": [{"type": "DoctestModule", "nodeid": "core/tests/__init__.py"}, {"type": "Dir", "nodeid": "core/tests/data"}, {"type": "DoctestModule", "nodeid": "core/tests/test_channel.py"}, {"type": "Module", "nodeid": "core/tests/test_channel.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_compatibility.py"}, {"type": "Module", "nodeid": "core/tests/test_compatibility.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_event.py"}, {"type": "Module", "nodeid": "core/tests/test_event.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_inventory.py"}, {"type": "Module", "nodeid": "core/tests/test_inventory.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_network.py"}, {"type": "Module", "nodeid": "core/tests/test_network.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_preview.py"}, {"type": "Module", "nodeid": "core/tests/test_preview.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_resource_identifier.py"}, {"type": "Module", "nodeid": "core/tests/test_resource_identifier.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_response.py"}, {"type": "Module", "nodeid": "core/tests/test_response.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_station.py"}, {"type": "Module", "nodeid": "core/tests/test_station.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_stats.py"}, {"type": "Module", "nodeid": "core/tests/test_stats.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_stream.py"}, {"type": "Module", "nodeid": "core/tests/test_stream.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_trace.py"}, {"type": "Module", "nodeid": "core/tests/test_trace.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_utcdatetime.py"}, {"type": "Module", "nodeid": "core/tests/test_utcdatetime.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_util_attribdict.py"}, {"type": "Module", "nodeid": "core/tests/test_util_attribdict.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_util_base.py"}, {"type": "Module", "nodeid": "core/tests/test_util_base.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_util_decorator.py"}, {"type": "Module", "nodeid": "core/tests/test_util_decorator.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_util_misc.py"}, {"type": "Module", "nodeid": "core/tests/test_util_misc.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_util_testing.py"}, {"type": "Module", "nodeid": "core/tests/test_util_testing.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_util_types.py"}, {"type": "Module", "nodeid": "core/tests/test_util_types.py"}, {"type": "DoctestModule", "nodeid": "core/tests/test_waveform_plugins.py"}, {"type": "Module", "nodeid": "core/tests/test_waveform_plugins.py"}], "outcome": "passed"}, {"nodeid": "core/trace.py", "result": [{"type": "DoctestItem", "lineno": 30, "nodeid": "core/trace.py::obspy.core.trace.Stats"}, {"type": "DoctestItem", "lineno": 458, "nodeid": "core/trace.py::obspy.core.trace.Trace.__len__"}, {"type": "DoctestItem", "lineno": 566, "nodeid": "core/trace.py::obspy.core.trace.Trace.__mod__"}, {"type": "DoctestItem", "lineno": 498, "nodeid": "core/trace.py::obspy.core.trace.Trace.__mul__"}, {"type": "DoctestItem", "lineno": 409, "nodeid": "core/trace.py::obspy.core.trace.Trace.__str__"}, {"type": "DoctestItem", "lineno": 522, "nodeid": "core/trace.py::obspy.core.trace.Trace.__truediv__"}, {"type": "DoctestItem", "lineno": 1001, "nodeid": "core/trace.py::obspy.core.trace.Trace._ltrim"}, {"type": "DoctestItem", "lineno": 1068, "nodeid": "core/trace.py::obspy.core.trace.Trace._rtrim"}, {"type": "DoctestItem", "lineno": 2271, "nodeid": "core/trace.py::obspy.core.trace.Trace.copy"}, {"type": "DoctestItem", "lineno": 1789, "nodeid": "core/trace.py::obspy.core.trace.Trace.decimate"}, {"type": "DoctestItem", "lineno": 1987, "nodeid": "core/trace.py::obspy.core.trace.Trace.detrend"}, {"type": "DoctestItem", "lineno": 1485, "nodeid": "core/trace.py::obspy.core.trace.Trace.filter"}, {"type": "DoctestItem", "lineno": 857, "nodeid": "core/trace.py::obspy.core.trace.Trace.get_id"}, {"type": "DoctestItem", "lineno": 857, "nodeid": "core/trace.py::obspy.core.trace.Trace.id"}, {"type": "DoctestItem", "lineno": 2364, "nodeid": "core/trace.py::obspy.core.trace.Trace.interpolate"}, {"type": "DoctestItem", "lineno": 1872, "nodeid": "core/trace.py::obspy.core.trace.Trace.max"}, {"type": "DoctestItem", "lineno": 2206, "nodeid": "core/trace.py::obspy.core.trace.Trace.normalize"}, {"type": "DoctestItem", "lineno": 916, "nodeid": "core/trace.py::obspy.core.trace.Trace.plot"}, {"type": "DoctestItem", "lineno": 2689, "nodeid": "core/trace.py::obspy.core.trace.Trace.remove_response"}, {"type": "DoctestItem", "lineno": 3000, "nodeid": "core/trace.py::obspy.core.trace.Trace.remove_sensitivity"}, {"type": "DoctestItem", "lineno": 1662, "nodeid": "core/trace.py::obspy.core.trace.Trace.resample"}, {"type": "DoctestItem", "lineno": 1350, "nodeid": "core/trace.py::obspy.core.trace.Trace.simulate"}, {"type": "DoctestItem", "lineno": 1199, "nodeid": "core/trace.py::obspy.core.trace.Trace.slice"}, {"type": "DoctestItem", "lineno": 1241, "nodeid": "core/trace.py::obspy.core.trace.Trace.slide"}, {"type": "DoctestItem", "lineno": 942, "nodeid": "core/trace.py::obspy.core.trace.Trace.spectrogram"}, {"type": "DoctestItem", "lineno": 1896, "nodeid": "core/trace.py::obspy.core.trace.Trace.std"}, {"type": "DoctestItem", "lineno": 2525, "nodeid": "core/trace.py::obspy.core.trace.Trace.times"}, {"type": "DoctestItem", "lineno": 1564, "nodeid": "core/trace.py::obspy.core.trace.Trace.trigger"}, {"type": "DoctestItem", "lineno": 1130, "nodeid": "core/trace.py::obspy.core.trace.Trace.trim"}, {"type": "DoctestItem", "lineno": 1305, "nodeid": "core/trace.py::obspy.core.trace.Trace.verify"}, {"type": "DoctestItem", "lineno": 971, "nodeid": "core/trace.py::obspy.core.trace.Trace.write"}], "outcome": "passed"}, {"nodeid": "core/utcdatetime.py", "result": [{"type": "DoctestItem", "lineno": 54, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime"}, {"type": "DoctestItem", "lineno": 976, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__add__"}, {"type": "DoctestItem", "lineno": 1095, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__eq__"}, {"type": "DoctestItem", "lineno": 656, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__float__"}, {"type": "DoctestItem", "lineno": 1215, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__ge__"}, {"type": "DoctestItem", "lineno": 1191, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__gt__"}, {"type": "DoctestItem", "lineno": 1167, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__le__"}, {"type": "DoctestItem", "lineno": 1143, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__lt__"}, {"type": "DoctestItem", "lineno": 1119, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__ne__"}, {"type": "DoctestItem", "lineno": 1040, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__str__"}, {"type": "DoctestItem", "lineno": 1010, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__sub__"}, {"type": "DoctestItem", "lineno": 1064, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.__unicode__"}, {"type": "DoctestItem", "lineno": 698, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_date"}, {"type": "DoctestItem", "lineno": 671, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_datetime"}, {"type": "DoctestItem", "lineno": 768, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_day"}, {"type": "DoctestItem", "lineno": 829, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_hour"}, {"type": "DoctestItem", "lineno": 1660, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_hours_after_midnight"}, {"type": "DoctestItem", "lineno": 934, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_julday"}, {"type": "DoctestItem", "lineno": 907, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_microsecond"}, {"type": "DoctestItem", "lineno": 855, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_minute"}, {"type": "DoctestItem", "lineno": 741, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_month"}, {"type": "DoctestItem", "lineno": 1531, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_precision"}, {"type": "DoctestItem", "lineno": 881, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_second"}, {"type": "DoctestItem", "lineno": 812, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_time"}, {"type": "DoctestItem", "lineno": 639, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_timestamp"}, {"type": "DoctestItem", "lineno": 794, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_weekday"}, {"type": "DoctestItem", "lineno": 715, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._get_year"}, {"type": "DoctestItem", "lineno": 1547, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime._set_precision"}, {"type": "DoctestItem", "lineno": 1359, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.ctime"}, {"type": "DoctestItem", "lineno": 698, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.date"}, {"type": "DoctestItem", "lineno": 671, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.datetime"}, {"type": "DoctestItem", "lineno": 768, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.day"}, {"type": "DoctestItem", "lineno": 1337, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.dst"}, {"type": "DoctestItem", "lineno": 1441, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.format_arclink"}, {"type": "DoctestItem", "lineno": 1424, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.format_fissures"}, {"type": "DoctestItem", "lineno": 1514, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.format_iris_web_service"}, {"type": "DoctestItem", "lineno": 1474, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.format_seed"}, {"type": "DoctestItem", "lineno": 1457, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.format_seedlink"}, {"type": "DoctestItem", "lineno": 829, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.hour"}, {"type": "DoctestItem", "lineno": 1386, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.isocalendar"}, {"type": "DoctestItem", "lineno": 1403, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.isoformat"}, {"type": "DoctestItem", "lineno": 1370, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.isoweekday"}, {"type": "DoctestItem", "lineno": 934, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.julday"}, {"type": "DoctestItem", "lineno": 1674, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.matplotlib_date"}, {"type": "DoctestItem", "lineno": 907, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.microsecond"}, {"type": "DoctestItem", "lineno": 855, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.minute"}, {"type": "DoctestItem", "lineno": 741, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.month"}, {"type": "DoctestItem", "lineno": 1531, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.precision"}, {"type": "DoctestItem", "lineno": 1577, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.replace"}, {"type": "DoctestItem", "lineno": 881, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.second"}, {"type": "DoctestItem", "lineno": 812, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.time"}, {"type": "DoctestItem", "lineno": 639, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.timestamp"}, {"type": "DoctestItem", "lineno": 1313, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.timetz"}, {"type": "DoctestItem", "lineno": 1630, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.toordinal"}, {"type": "DoctestItem", "lineno": 1348, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.tzname"}, {"type": "DoctestItem", "lineno": 1326, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.utcoffset"}, {"type": "DoctestItem", "lineno": 794, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.weekday"}, {"type": "DoctestItem", "lineno": 715, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.year"}], "outcome": "passed"}, {"nodeid": "core/util/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "core/util/__init__.py::obspy.core.util"}], "outcome": "passed"}, {"nodeid": "core/util/attribdict.py", "result": [{"type": "DoctestItem", "lineno": 41, "nodeid": "core/util/attribdict.py::obspy.core.util.attribdict.AttribDict"}, {"type": "DoctestItem", "lineno": 72, "nodeid": "core/util/attribdict.py::obspy.core.util.attribdict.AttribDict.__init__"}], "outcome": "passed"}, {"nodeid": "core/util/base.py", "result": [{"type": "DoctestItem", "lineno": 78, "nodeid": "core/util/base.py::obspy.core.util.base.NamedTemporaryFile"}, {"type": "DoctestItem", "lineno": 266, "nodeid": "core/util/base.py::obspy.core.util.base._get_entry_points"}, {"type": "DoctestItem", "lineno": 379, "nodeid": "core/util/base.py::obspy.core.util.base._get_function_from_entry_point"}, {"type": "DoctestItem", "lineno": 143, "nodeid": "core/util/base.py::obspy.core.util.base.create_empty_data_chunk"}, {"type": "DoctestItem", "lineno": 188, "nodeid": "core/util/base.py::obspy.core.util.base.get_example_file"}, {"type": "DoctestItem", "lineno": 531, "nodeid": "core/util/base.py::obspy.core.util.base.make_format_plugin_table"}], "outcome": "passed"}, {"nodeid": "core/util/decorator.py", "result": [], "outcome": "passed"}, {"nodeid": "core/util/deprecation_helpers.py", "result": [], "outcome": "passed"}, {"nodeid": "core/util/libnames.py", "result": [{"type": "DoctestItem", "lineno": 17, "nodeid": "core/util/libnames.py::obspy.core.util.libnames.cleanse_pymodule_filename"}], "outcome": "passed"}, {"nodeid": "core/util/misc.py", "result": [{"type": "DoctestItem", "lineno": 247, "nodeid": "core/util/misc.py::obspy.core.util.misc.CatchOutput"}, {"type": "DoctestItem", "lineno": 344, "nodeid": "core/util/misc.py::obspy.core.util.misc.SuppressOutput"}, {"type": "DoctestItem", "lineno": 377, "nodeid": "core/util/misc.py::obspy.core.util.misc.TemporaryWorkingDirectory"}, {"type": "DoctestItem", "lineno": 637, "nodeid": "core/util/misc.py::obspy.core.util.misc._yield_obj_parent_attr"}, {"type": "DoctestItem", "lineno": 164, "nodeid": "core/util/misc.py::obspy.core.util.misc.complexify_string"}, {"type": "DoctestItem", "lineno": 402, "nodeid": "core/util/misc.py::obspy.core.util.misc.factorize_int"}, {"type": "DoctestItem", "lineno": 60, "nodeid": "core/util/misc.py::obspy.core.util.misc.guess_delta"}, {"type": "DoctestItem", "lineno": 90, "nodeid": "core/util/misc.py::obspy.core.util.misc.score_at_percentile"}, {"type": "DoctestItem", "lineno": 185, "nodeid": "core/util/misc.py::obspy.core.util.misc.to_int_or_zero"}], "outcome": "passed"}, {"nodeid": "core/util/obspy_types.py", "result": [{"type": "DoctestItem", "lineno": 20, "nodeid": "core/util/obspy_types.py::obspy.core.util.obspy_types.Enum"}, {"type": "DoctestItem", "lineno": 146, "nodeid": "core/util/obspy_types.py::obspy.core.util.obspy_types.Enum.__repr__"}, {"type": "DoctestItem", "lineno": 129, "nodeid": "core/util/obspy_types.py::obspy.core.util.obspy_types.Enum.__str__"}], "outcome": "passed"}, {"nodeid": "core/util/testing.py", "result": [{"type": "DoctestItem", "lineno": 380, "nodeid": "core/util/testing.py::obspy.core.util.testing.streams_almost_equal"}], "outcome": "passed"}, {"nodeid": "core/util/version.py", "result": [], "outcome": "passed"}, {"nodeid": "core/util", "result": [{"type": "DoctestModule", "nodeid": "core/util/__init__.py"}, {"type": "DoctestModule", "nodeid": "core/util/attribdict.py"}, {"type": "DoctestModule", "nodeid": "core/util/base.py"}, {"type": "DoctestModule", "nodeid": "core/util/decorator.py"}, {"type": "DoctestModule", "nodeid": "core/util/deprecation_helpers.py"}, {"type": "DoctestModule", "nodeid": "core/util/libnames.py"}, {"type": "DoctestModule", "nodeid": "core/util/misc.py"}, {"type": "DoctestModule", "nodeid": "core/util/obspy_types.py"}, {"type": "DoctestModule", "nodeid": "core/util/testing.py"}, {"type": "DoctestModule", "nodeid": "core/util/version.py"}], "outcome": "passed"}, {"nodeid": "core", "result": [{"type": "DoctestModule", "nodeid": "core/__init__.py"}, {"type": "DoctestModule", "nodeid": "core/compatibility.py"}, {"type": "Dir", "nodeid": "core/data"}, {"type": "Package", "nodeid": "core/event"}, {"type": "Package", "nodeid": "core/inventory"}, {"type": "DoctestModule", "nodeid": "core/preview.py"}, {"type": "DoctestModule", "nodeid": "core/stream.py"}, {"type": "Package", "nodeid": "core/tests"}, {"type": "DoctestModule", "nodeid": "core/trace.py"}, {"type": "DoctestModule", "nodeid": "core/utcdatetime.py"}, {"type": "Package", "nodeid": "core/util"}], "outcome": "passed"}, {"nodeid": "geodetics/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "geodetics/base.py", "result": [{"type": "DoctestItem", "lineno": 298, "nodeid": "geodetics/base.py::obspy.geodetics.base.degrees2kilometers"}, {"type": "DoctestItem", "lineno": 391, "nodeid": "geodetics/base.py::obspy.geodetics.base.inside_geobounds"}, {"type": "DoctestItem", "lineno": 274, "nodeid": "geodetics/base.py::obspy.geodetics.base.kilometers2degrees"}, {"type": "DoctestItem", "lineno": 319, "nodeid": "geodetics/base.py::obspy.geodetics.base.locations2degrees"}, {"type": "DoctestItem", "lineno": 367, "nodeid": "geodetics/base.py::obspy.geodetics.base.mean_longitude"}], "outcome": "passed"}, {"nodeid": "geodetics/data", "result": [], "outcome": "passed"}, {"nodeid": "geodetics/flinnengdahl.py", "result": [{"type": "DoctestItem", "lineno": 7, "nodeid": "geodetics/flinnengdahl.py::obspy.geodetics.flinnengdahl.FlinnEngdahl"}, {"type": "DoctestItem", "lineno": 116, "nodeid": "geodetics/flinnengdahl.py::obspy.geodetics.flinnengdahl.FlinnEngdahl.get_number"}, {"type": "DoctestItem", "lineno": 163, "nodeid": "geodetics/flinnengdahl.py::obspy.geodetics.flinnengdahl.FlinnEngdahl.get_region"}, {"type": "DoctestItem", "lineno": 186, "nodeid": "geodetics/flinnengdahl.py::obspy.geodetics.flinnengdahl.FlinnEngdahl.get_region_by_number"}], "outcome": "passed"}, {"nodeid": "geodetics/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "geodetics/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "geodetics/tests/test_util_flinnengdahl.py", "result": [], "outcome": "passed"}, {"nodeid": "geodetics/tests/test_util_flinnengdahl.py::TestUtilFlinnEngdahl", "result": [{"type": "Function", "lineno": 9, "nodeid": "geodetics/tests/test_util_flinnengdahl.py::TestUtilFlinnEngdahl::test_coordinates"}, {"type": "Function", "lineno": 27, "nodeid": "geodetics/tests/test_util_flinnengdahl.py::TestUtilFlinnEngdahl::test_script"}], "outcome": "passed"}, {"nodeid": "geodetics/tests/test_util_flinnengdahl.py", "result": [{"type": "Class", "nodeid": "geodetics/tests/test_util_flinnengdahl.py::TestUtilFlinnEngdahl"}], "outcome": "passed"}, {"nodeid": "geodetics/tests/test_util_geodetics.py", "result": [], "outcome": "passed"}, {"nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics", "result": [{"type": "Function", "lineno": 22, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_calc_vincenty_inverse"}, {"type": "Function", "lineno": 71, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_gps_2_dist_azimuth_with_geographiclib"}, {"type": "Function", "lineno": 94, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_calc_vincenty_inverse_2"}, {"type": "Function", "lineno": 130, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_calc_vincenty_inverse_tabulated"}, {"type": "Function", "lineno": 194, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_gps_2_dist_azimuth_bug150"}, {"type": "Function", "lineno": 209, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_kilometer2degrees"}, {"type": "Function", "lineno": 220, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_degrees2kilometers"}, {"type": "Function", "lineno": 230, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_locations2degrees"}, {"type": "Function", "lineno": 309, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_issue_375"}, {"type": "Function", "lineno": 330, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_inside_geobounds"}], "outcome": "passed"}, {"nodeid": "geodetics/tests/test_util_geodetics.py", "result": [{"type": "Class", "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics"}], "outcome": "passed"}, {"nodeid": "geodetics/tests", "result": [{"type": "DoctestModule", "nodeid": "geodetics/tests/__init__.py"}, {"type": "Dir", "nodeid": "geodetics/tests/data"}, {"type": "DoctestModule", "nodeid": "geodetics/tests/test_util_flinnengdahl.py"}, {"type": "Module", "nodeid": "geodetics/tests/test_util_flinnengdahl.py"}, {"type": "DoctestModule", "nodeid": "geodetics/tests/test_util_geodetics.py"}, {"type": "Module", "nodeid": "geodetics/tests/test_util_geodetics.py"}], "outcome": "passed"}, {"nodeid": "geodetics", "result": [{"type": "DoctestModule", "nodeid": "geodetics/__init__.py"}, {"type": "DoctestModule", "nodeid": "geodetics/base.py"}, {"type": "Dir", "nodeid": "geodetics/data"}, {"type": "DoctestModule", "nodeid": "geodetics/flinnengdahl.py"}, {"type": "Package", "nodeid": "geodetics/tests"}], "outcome": "passed"}, {"nodeid": "imaging/__init__.py", "result": [{"type": "DoctestItem", "lineno": 0, "nodeid": "imaging/__init__.py::obspy.imaging"}], "outcome": "passed"}, {"nodeid": "imaging/beachball.py", "result": [{"type": "DoctestItem", "lineno": 1036, "nodeid": "imaging/beachball.py::obspy.imaging.beachball.MomentTensor"}, {"type": "DoctestItem", "lineno": 1016, "nodeid": "imaging/beachball.py::obspy.imaging.beachball.NodalPlane"}, {"type": "DoctestItem", "lineno": 996, "nodeid": "imaging/beachball.py::obspy.imaging.beachball.PrincipalAxis"}], "outcome": "passed"}, {"nodeid": "imaging/cm.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "imaging/cm.py::obspy.imaging.cm"}], "outcome": "passed"}, {"nodeid": "imaging/data", "result": [], "outcome": "passed"}, {"nodeid": "imaging/maps.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/mopad_wrapper.py", "result": [{"type": "DoctestItem", "lineno": 218, "nodeid": "imaging/mopad_wrapper.py::obspy.imaging.mopad_wrapper.beachball"}], "outcome": "passed"}, {"nodeid": "imaging/scripts/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/scripts/mopad.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/scripts/plot.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/scripts/scan.py", "result": [{"type": "DoctestItem", "lineno": 223, "nodeid": "imaging/scripts/scan.py::obspy.imaging.scripts.scan.Scanner"}], "outcome": "passed"}, {"nodeid": "imaging/scripts", "result": [{"type": "DoctestModule", "nodeid": "imaging/scripts/__init__.py"}, {"type": "DoctestModule", "nodeid": "imaging/scripts/mopad.py"}, {"type": "DoctestModule", "nodeid": "imaging/scripts/plot.py"}, {"type": "DoctestModule", "nodeid": "imaging/scripts/scan.py"}], "outcome": "passed"}, {"nodeid": "imaging/source.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/spectrogram.py", "result": [{"type": "DoctestItem", "lineno": 29, "nodeid": "imaging/spectrogram.py::obspy.imaging.spectrogram._nearest_pow_2"}], "outcome": "passed"}, {"nodeid": "imaging/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "imaging/tests/images", "result": [], "outcome": "passed"}, {"nodeid": "imaging/tests/test_backend.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/tests/test_backend.py::TestBackend", "result": [{"type": "Function", "lineno": 14, "nodeid": "imaging/tests/test_backend.py::TestBackend::test_backend"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_backend.py", "result": [{"type": "Class", "nodeid": "imaging/tests/test_backend.py::TestBackend"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_beachball.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot", "result": [{"type": "Function", "lineno": 19, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_beachball"}, {"type": "Function", "lineno": 75, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_beachball_output_format"}, {"type": "Function", "lineno": 109, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_strike_dip"}, {"type": "Function", "lineno": 120, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_aux_plane"}, {"type": "Function", "lineno": 141, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_aux_plane_735"}, {"type": "Function", "lineno": 150, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_tdl"}, {"type": "Function", "lineno": 161, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_mt2plane"}, {"type": "Function", "lineno": 171, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_mt2axes"}, {"type": "Function", "lineno": 188, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_collection"}, {"type": "Function", "lineno": 276, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_collection_aspect_x"}, {"type": "Function", "lineno": 284, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_collection_aspect_y"}, {"type": "Function", "lineno": 292, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_mopad_fallback"}, {"type": "Function", "lineno": 305, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_beach_with_axes_to_pdf"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_beachball.py", "result": [{"type": "Class", "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_mopad.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/tests/test_mopad.py::TestMopad", "result": [{"type": "Function", "lineno": 15, "nodeid": "imaging/tests/test_mopad.py::TestMopad::test_mopad_collection"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_mopad.py", "result": [{"type": "Class", "nodeid": "imaging/tests/test_mopad.py::TestMopad"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_mopad_script.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/tests/test_mopad_script.py::TestMopad", "result": [{"type": "Function", "lineno": 20, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_convert_type_sdr"}, {"type": "Function", "lineno": 31, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_convert_type_tensor"}, {"type": "Function", "lineno": 45, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_convert_type_tensor_large"}, {"type": "Function", "lineno": 59, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_convert_basis"}, {"type": "Function", "lineno": 94, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_convert_vector"}, {"type": "Function", "lineno": 105, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_decompose"}, {"type": "Function", "lineno": 152, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_gmt_fill"}, {"type": "Function", "lineno": 157, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_gmt_lines"}, {"type": "Function", "lineno": 162, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_gmt_lines_stereo"}, {"type": "Function", "lineno": 168, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_gmt_lines_ortho"}, {"type": "Function", "lineno": 174, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_gmt_lines_lambo"}, {"type": "Function", "lineno": 180, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_gmt_event"}, {"type": "Function", "lineno": 185, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_plot"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_mopad_script.py", "result": [{"type": "Class", "nodeid": "imaging/tests/test_mopad_script.py::TestMopad"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_plot.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/tests/test_plot.py::TestPlot", "result": [{"type": "Function", "lineno": 24, "nodeid": "imaging/tests/test_plot.py::TestPlot::test_plot"}, {"type": "Function", "lineno": 38, "nodeid": "imaging/tests/test_plot.py::TestPlot::test_plot_no_merge"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_plot.py", "result": [{"type": "Class", "nodeid": "imaging/tests/test_plot.py::TestPlot"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_ppsd.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/tests/test_ppsd.py::TestPPSD", "result": [{"type": "Function", "lineno": 11, "nodeid": "imaging/tests/test_ppsd.py::TestPPSD::test_ppsd_plot"}, {"type": "Function", "lineno": 26, "nodeid": "imaging/tests/test_ppsd.py::TestPPSD::test_ppsd_plot_frequency"}, {"type": "Function", "lineno": 42, "nodeid": "imaging/tests/test_ppsd.py::TestPPSD::test_ppsd_plot_cumulative"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_ppsd.py", "result": [{"type": "Class", "nodeid": "imaging/tests/test_ppsd.py::TestPPSD"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_scan.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/tests/test_scan.py::TestScan", "result": [{"type": "Function", "lineno": 40, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scan_main_method"}, {"type": "Function", "lineno": 51, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scan_dir_no_permission"}, {"type": "Function", "lineno": 96, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scan_function_and_scanner_class"}, {"type": "Function", "lineno": 114, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scan_plot_by_id_with_wildcard"}, {"type": "Function", "lineno": 155, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scanner_manually_add_streams"}, {"type": "Function", "lineno": 176, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scan_save_load_npz"}, {"type": "Function", "lineno": 211, "nodeid": "imaging/tests/test_scan.py::TestScan::test_scan_times"}, {"type": "Function", "lineno": 226, "nodeid": "imaging/tests/test_scan.py::TestScan::test_multiple_sampling_rates"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_scan.py", "result": [{"type": "Class", "nodeid": "imaging/tests/test_scan.py::TestScan"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_source.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/tests/test_source.py::TestRadPattern", "result": [{"type": "Function", "lineno": 11, "nodeid": "imaging/tests/test_source.py::TestRadPattern::test_farfield_with_quiver"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_source.py", "result": [{"type": "Class", "nodeid": "imaging/tests/test_source.py::TestRadPattern"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_spectrogram.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/tests/test_spectrogram.py::TestSpectrogram", "result": [{"type": "Function", "lineno": 18, "nodeid": "imaging/tests/test_spectrogram.py::TestSpectrogram::test_spectrogram"}, {"type": "Function", "lineno": 45, "nodeid": "imaging/tests/test_spectrogram.py::TestSpectrogram::test_spectrogram_defaults"}, {"type": "Function", "lineno": 62, "nodeid": "imaging/tests/test_spectrogram.py::TestSpectrogram::test_spectrogram_nice_error_messages"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_spectrogram.py", "result": [{"type": "Class", "nodeid": "imaging/tests/test_spectrogram.py::TestSpectrogram"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_waveform.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot", "result": [{"type": "Function", "lineno": 59, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_data_remains_unchanged"}, {"type": "Function", "lineno": 81, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_empty_stream"}, {"type": "Function", "lineno": 89, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_same_trace_different_sample_rates"}, {"type": "Function", "lineno": 100, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_one_hour_many_samples"}, {"type": "Function", "lineno": 113, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_one_hour_few_samples"}, {"type": "Function", "lineno": 124, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_simple_gap_many_samples"}, {"type": "Function", "lineno": 137, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_simple_gap_few_samples"}, {"type": "Function", "lineno": 150, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_complex_gap_many_samples"}, {"type": "Function", "lineno": 169, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_complex_gap_few_samples"}, {"type": "Function", "lineno": 188, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_1_trace"}, {"type": "Function", "lineno": 196, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_3_traces"}, {"type": "Function", "lineno": 203, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_5_traces"}, {"type": "Function", "lineno": 210, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_10_traces"}, {"type": "Function", "lineno": 218, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_10_traces_huge"}, {"type": "Function", "lineno": 228, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_10_traces_tiny"}, {"type": "Function", "lineno": 239, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_with_labels"}, {"type": "Function", "lineno": 251, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_binning_error_1"}, {"type": "Function", "lineno": 260, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_binning_error_2"}, {"type": "Function", "lineno": 269, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_default_section"}, {"type": "Function", "lineno": 282, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_azim_section"}, {"type": "Function", "lineno": 297, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_horizontal_section"}, {"type": "Function", "lineno": 309, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_ref_time_section"}, {"type": "Function", "lineno": 323, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_colored_section"}, {"type": "Function", "lineno": 337, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_wiggles_negative_section"}, {"type": "Function", "lineno": 353, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_wiggles_positive_section"}, {"type": "Function", "lineno": 369, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_wiggles_horizontal_section"}, {"type": "Function", "lineno": 384, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_wiggles_vertical_section"}, {"type": "Function", "lineno": 399, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_default_relative"}, {"type": "Function", "lineno": 408, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_ref_time_relative"}, {"type": "Function", "lineno": 420, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot"}, {"type": "Function", "lineno": 430, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot_interval[2-16-True]"}, {"type": "Function", "lineno": 430, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot_interval[10-11-True]"}, {"type": "Function", "lineno": 430, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot_interval[23-10-False]"}, {"type": "Function", "lineno": 430, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot_interval[25-6-True]"}, {"type": "Function", "lineno": 447, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot_explicit_event"}, {"type": "Function", "lineno": 467, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_day_plot_catalog"}, {"type": "Function", "lineno": 479, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_section_max_npts"}], "outcome": "passed"}, {"nodeid": "imaging/tests/test_waveform.py", "result": [{"type": "Class", "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot"}], "outcome": "passed"}, {"nodeid": "imaging/tests", "result": [{"type": "DoctestModule", "nodeid": "imaging/tests/__init__.py"}, {"type": "Dir", "nodeid": "imaging/tests/data"}, {"type": "Dir", "nodeid": "imaging/tests/images"}, {"type": "DoctestModule", "nodeid": "imaging/tests/test_backend.py"}, {"type": "Module", "nodeid": "imaging/tests/test_backend.py"}, {"type": "DoctestModule", "nodeid": "imaging/tests/test_beachball.py"}, {"type": "Module", "nodeid": "imaging/tests/test_beachball.py"}, {"type": "DoctestModule", "nodeid": "imaging/tests/test_mopad.py"}, {"type": "Module", "nodeid": "imaging/tests/test_mopad.py"}, {"type": "DoctestModule", "nodeid": "imaging/tests/test_mopad_script.py"}, {"type": "Module", "nodeid": "imaging/tests/test_mopad_script.py"}, {"type": "DoctestModule", "nodeid": "imaging/tests/test_plot.py"}, {"type": "Module", "nodeid": "imaging/tests/test_plot.py"}, {"type": "DoctestModule", "nodeid": "imaging/tests/test_ppsd.py"}, {"type": "Module", "nodeid": "imaging/tests/test_ppsd.py"}, {"type": "DoctestModule", "nodeid": "imaging/tests/test_scan.py"}, {"type": "Module", "nodeid": "imaging/tests/test_scan.py"}, {"type": "DoctestModule", "nodeid": "imaging/tests/test_source.py"}, {"type": "Module", "nodeid": "imaging/tests/test_source.py"}, {"type": "DoctestModule", "nodeid": "imaging/tests/test_spectrogram.py"}, {"type": "Module", "nodeid": "imaging/tests/test_spectrogram.py"}, {"type": "DoctestModule", "nodeid": "imaging/tests/test_waveform.py"}, {"type": "Module", "nodeid": "imaging/tests/test_waveform.py"}], "outcome": "passed"}, {"nodeid": "imaging/util.py", "result": [{"type": "DoctestItem", "lineno": 194, "nodeid": "imaging/util.py::obspy.imaging.util._component_code_key"}, {"type": "DoctestItem", "lineno": 148, "nodeid": "imaging/util.py::obspy.imaging.util._id_key"}, {"type": "DoctestItem", "lineno": 223, "nodeid": "imaging/util.py::obspy.imaging.util._timestring"}], "outcome": "passed"}, {"nodeid": "imaging/waveform.py", "result": [], "outcome": "passed"}, {"nodeid": "imaging", "result": [{"type": "DoctestModule", "nodeid": "imaging/__init__.py"}, {"type": "DoctestModule", "nodeid": "imaging/beachball.py"}, {"type": "DoctestModule", "nodeid": "imaging/cm.py"}, {"type": "Dir", "nodeid": "imaging/data"}, {"type": "DoctestModule", "nodeid": "imaging/maps.py"}, {"type": "DoctestModule", "nodeid": "imaging/mopad_wrapper.py"}, {"type": "Package", "nodeid": "imaging/scripts"}, {"type": "DoctestModule", "nodeid": "imaging/source.py"}, {"type": "DoctestModule", "nodeid": "imaging/spectrogram.py"}, {"type": "Package", "nodeid": "imaging/tests"}, {"type": "DoctestModule", "nodeid": "imaging/util.py"}, {"type": "DoctestModule", "nodeid": "imaging/waveform.py"}], "outcome": "passed"}, {"nodeid": "io/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/ah/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/ah/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/ah/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/ah/tests/data/TSG", "result": [], "outcome": "passed"}, {"nodeid": "io/ah/tests/data", "result": [{"type": "Dir", "nodeid": "io/ah/tests/data/TSG"}], "outcome": "passed"}, {"nodeid": "io/ah/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/ah/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 14, "nodeid": "io/ah/tests/test_core.py::TestCore::test_is_ah"}, {"type": "Function", "lineno": 50, "nodeid": "io/ah/tests/test_core.py::TestCore::test_read"}, {"type": "Function", "lineno": 75, "nodeid": "io/ah/tests/test_core.py::TestCore::test_read_ah"}, {"type": "Function", "lineno": 178, "nodeid": "io/ah/tests/test_core.py::TestCore::test_tsg"}, {"type": "Function", "lineno": 251, "nodeid": "io/ah/tests/test_core.py::TestCore::test_write_ah1"}], "outcome": "passed"}, {"nodeid": "io/ah/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/ah/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/ah/tests/test_xdrlib.py", "result": [], "outcome": "passed"}, {"nodeid": "io/ah/tests/test_xdrlib.py::TestXDR", "result": [{"type": "Function", "lineno": 61, "nodeid": "io/ah/tests/test_xdrlib.py::TestXDR::test_xdr"}], "outcome": "passed"}, {"nodeid": "io/ah/tests/test_xdrlib.py::TestConversionError", "result": [{"type": "Function", "lineno": 118, "nodeid": "io/ah/tests/test_xdrlib.py::TestConversionError::test_pack_int"}, {"type": "Function", "lineno": 121, "nodeid": "io/ah/tests/test_xdrlib.py::TestConversionError::test_pack_uint"}, {"type": "Function", "lineno": 124, "nodeid": "io/ah/tests/test_xdrlib.py::TestConversionError::test_float"}, {"type": "Function", "lineno": 127, "nodeid": "io/ah/tests/test_xdrlib.py::TestConversionError::test_double"}, {"type": "Function", "lineno": 130, "nodeid": "io/ah/tests/test_xdrlib.py::TestConversionError::test_uhyper"}], "outcome": "passed"}, {"nodeid": "io/ah/tests/test_xdrlib.py", "result": [{"type": "Class", "nodeid": "io/ah/tests/test_xdrlib.py::TestXDR"}, {"type": "Class", "nodeid": "io/ah/tests/test_xdrlib.py::TestConversionError"}], "outcome": "passed"}, {"nodeid": "io/ah/tests", "result": [{"type": "DoctestModule", "nodeid": "io/ah/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/ah/tests/data"}, {"type": "DoctestModule", "nodeid": "io/ah/tests/test_core.py"}, {"type": "Module", "nodeid": "io/ah/tests/test_core.py"}, {"type": "DoctestModule", "nodeid": "io/ah/tests/test_xdrlib.py"}, {"type": "Module", "nodeid": "io/ah/tests/test_xdrlib.py"}], "outcome": "passed"}, {"nodeid": "io/ah/xdrlib.py", "result": [], "outcome": "passed"}, {"nodeid": "io/ah", "result": [{"type": "DoctestModule", "nodeid": "io/ah/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/ah/core.py"}, {"type": "Package", "nodeid": "io/ah/tests"}, {"type": "DoctestModule", "nodeid": "io/ah/xdrlib.py"}], "outcome": "passed"}, {"nodeid": "io/alsep/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/alsep/__init__.py::obspy.io.alsep"}], "outcome": "passed"}, {"nodeid": "io/alsep/assign.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/core.py", "result": [{"type": "DoctestItem", "lineno": 116, "nodeid": "io/alsep/core.py::obspy.io.alsep.core._read_pse"}, {"type": "DoctestItem", "lineno": 283, "nodeid": "io/alsep/core.py::obspy.io.alsep.core._read_wth"}, {"type": "DoctestItem", "lineno": 193, "nodeid": "io/alsep/core.py::obspy.io.alsep.core._read_wtn"}], "outcome": "passed"}, {"nodeid": "io/alsep/define.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/pse/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/pse/define.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/pse/frame.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/pse/parser.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/pse/record.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/pse/tape.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/pse", "result": [{"type": "DoctestModule", "nodeid": "io/alsep/pse/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/alsep/pse/define.py"}, {"type": "DoctestModule", "nodeid": "io/alsep/pse/frame.py"}, {"type": "DoctestModule", "nodeid": "io/alsep/pse/parser.py"}, {"type": "DoctestModule", "nodeid": "io/alsep/pse/record.py"}, {"type": "DoctestModule", "nodeid": "io/alsep/pse/tape.py"}], "outcome": "passed"}, {"nodeid": "io/alsep/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/tests/test_alsep.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/tests/test_alsep.py::TestAlsep", "result": [{"type": "Function", "lineno": 8, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_is_pse"}, {"type": "Function", "lineno": 19, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_is_wtn"}, {"type": "Function", "lineno": 30, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_is_wth"}, {"type": "Function", "lineno": 41, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_read_alsep_pse_file"}, {"type": "Function", "lineno": 57, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_read_alsep_pse_file_with_ignore_error"}, {"type": "Function", "lineno": 65, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_read_alsep_wtn_file"}, {"type": "Function", "lineno": 80, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_read_alsep_wth_file"}, {"type": "Function", "lineno": 95, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_single_header_wtn"}, {"type": "Function", "lineno": 110, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_single_header_wth"}, {"type": "Function", "lineno": 119, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_pse_new_format"}, {"type": "Function", "lineno": 128, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_frame_loss"}, {"type": "Function", "lineno": 137, "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep::test_pse_read_year_option"}], "outcome": "passed"}, {"nodeid": "io/alsep/tests/test_alsep.py", "result": [{"type": "Class", "nodeid": "io/alsep/tests/test_alsep.py::TestAlsep"}], "outcome": "passed"}, {"nodeid": "io/alsep/tests", "result": [{"type": "DoctestModule", "nodeid": "io/alsep/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/alsep/tests/data"}, {"type": "DoctestModule", "nodeid": "io/alsep/tests/test_alsep.py"}, {"type": "Module", "nodeid": "io/alsep/tests/test_alsep.py"}], "outcome": "passed"}, {"nodeid": "io/alsep/util.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/wt/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/wt/define.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/wt/frame.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/wt/parser.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/wt/record.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/wt/tape.py", "result": [], "outcome": "passed"}, {"nodeid": "io/alsep/wt", "result": [{"type": "DoctestModule", "nodeid": "io/alsep/wt/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/alsep/wt/define.py"}, {"type": "DoctestModule", "nodeid": "io/alsep/wt/frame.py"}, {"type": "DoctestModule", "nodeid": "io/alsep/wt/parser.py"}, {"type": "DoctestModule", "nodeid": "io/alsep/wt/record.py"}, {"type": "DoctestModule", "nodeid": "io/alsep/wt/tape.py"}], "outcome": "passed"}, {"nodeid": "io/alsep", "result": [{"type": "DoctestModule", "nodeid": "io/alsep/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/alsep/assign.py"}, {"type": "DoctestModule", "nodeid": "io/alsep/core.py"}, {"type": "DoctestModule", "nodeid": "io/alsep/define.py"}, {"type": "Package", "nodeid": "io/alsep/pse"}, {"type": "Package", "nodeid": "io/alsep/tests"}, {"type": "DoctestModule", "nodeid": "io/alsep/util.py"}, {"type": "Package", "nodeid": "io/alsep/wt"}], "outcome": "passed"}, {"nodeid": "io/arclink/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/arclink/data", "result": [], "outcome": "passed"}, {"nodeid": "io/arclink/inventory.py", "result": [], "outcome": "passed"}, {"nodeid": "io/arclink/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/arclink/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/arclink/tests/test_inventory_xml.py", "result": [], "outcome": "passed"}, {"nodeid": "io/arclink/tests/test_inventory_xml.py::TestArclinkInventory", "result": [{"type": "Function", "lineno": 33, "nodeid": "io/arclink/tests/test_inventory_xml.py::TestArclinkInventory::test_publicid_slash"}, {"type": "Function", "lineno": 37, "nodeid": "io/arclink/tests/test_inventory_xml.py::TestArclinkInventory::test_analogue_filter_chain"}, {"type": "Function", "lineno": 62, "nodeid": "io/arclink/tests/test_inventory_xml.py::TestArclinkInventory::test_validate_inventories_against_schema"}, {"type": "Function", "lineno": 66, "nodeid": "io/arclink/tests/test_inventory_xml.py::TestArclinkInventory::test_raise_polynomial"}, {"type": "Function", "lineno": 72, "nodeid": "io/arclink/tests/test_inventory_xml.py::TestArclinkInventory::test_auto_read_arclink_xml"}], "outcome": "passed"}, {"nodeid": "io/arclink/tests/test_inventory_xml.py", "result": [{"type": "Class", "nodeid": "io/arclink/tests/test_inventory_xml.py::TestArclinkInventory"}], "outcome": "passed"}, {"nodeid": "io/arclink/tests", "result": [{"type": "DoctestModule", "nodeid": "io/arclink/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/arclink/tests/data"}, {"type": "DoctestModule", "nodeid": "io/arclink/tests/test_inventory_xml.py"}, {"type": "Module", "nodeid": "io/arclink/tests/test_inventory_xml.py"}], "outcome": "passed"}, {"nodeid": "io/arclink", "result": [{"type": "DoctestModule", "nodeid": "io/arclink/__init__.py"}, {"type": "Dir", "nodeid": "io/arclink/data"}, {"type": "DoctestModule", "nodeid": "io/arclink/inventory.py"}, {"type": "Package", "nodeid": "io/arclink/tests"}], "outcome": "passed"}, {"nodeid": "io/ascii/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/ascii/core.py", "result": [{"type": "DoctestItem", "lineno": 59, "nodeid": "io/ascii/core.py::obspy.io.ascii.core._is_slist"}, {"type": "DoctestItem", "lineno": 85, "nodeid": "io/ascii/core.py::obspy.io.ascii.core._is_tspair"}, {"type": "DoctestItem", "lineno": 111, "nodeid": "io/ascii/core.py::obspy.io.ascii.core._read_slist"}, {"type": "DoctestItem", "lineno": 179, "nodeid": "io/ascii/core.py::obspy.io.ascii.core._read_tspair"}, {"type": "DoctestItem", "lineno": 249, "nodeid": "io/ascii/core.py::obspy.io.ascii.core._write_slist"}, {"type": "DoctestItem", "lineno": 359, "nodeid": "io/ascii/core.py::obspy.io.ascii.core._write_tspair"}], "outcome": "passed"}, {"nodeid": "io/ascii/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/ascii/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/ascii/tests/test_ascii.py", "result": [], "outcome": "passed"}, {"nodeid": "io/ascii/tests/test_ascii.py::TestASCII", "result": [{"type": "Function", "lineno": 14, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_is_slist_file"}, {"type": "Function", "lineno": 28, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_slist_file_single_trace"}, {"type": "Function", "lineno": 52, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_slist_file_multiple_traces"}, {"type": "Function", "lineno": 92, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_slist_file_head_only"}, {"type": "Function", "lineno": 110, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_slist_file_encoding"}, {"type": "Function", "lineno": 134, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_is_tspair_file"}, {"type": "Function", "lineno": 148, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_tspair_file_single_trace"}, {"type": "Function", "lineno": 173, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_tspair_file_multiple_traces"}, {"type": "Function", "lineno": 217, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_tspair_head_only"}, {"type": "Function", "lineno": 236, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_tspair_file_encoding"}, {"type": "Function", "lineno": 262, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_tspair"}, {"type": "Function", "lineno": 305, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_tspair_custom_fmt"}, {"type": "Function", "lineno": 349, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_tspair_custom_fmt_custom"}, {"type": "Function", "lineno": 371, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_tspair_file_multiple_traces"}, {"type": "Function", "lineno": 428, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_slist"}, {"type": "Function", "lineno": 472, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_slist_custom_fmt_float"}, {"type": "Function", "lineno": 518, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_slist_custom_fmt_custom"}, {"type": "Function", "lineno": 542, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_slist_file_multiple_traces"}, {"type": "Function", "lineno": 597, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_write_small_trace"}, {"type": "Function", "lineno": 612, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_float_sampling_rates_write_and_read"}, {"type": "Function", "lineno": 630, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_determine_dtype"}, {"type": "Function", "lineno": 665, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_regression_against_mseed2ascii"}, {"type": "Function", "lineno": 684, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_slist_file_single_trace_int32"}, {"type": "Function", "lineno": 709, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_slist_file_single_trace_float64"}], "outcome": "passed"}, {"nodeid": "io/ascii/tests/test_ascii.py", "result": [{"type": "Class", "nodeid": "io/ascii/tests/test_ascii.py::TestASCII"}], "outcome": "passed"}, {"nodeid": "io/ascii/tests", "result": [{"type": "DoctestModule", "nodeid": "io/ascii/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/ascii/tests/data"}, {"type": "DoctestModule", "nodeid": "io/ascii/tests/test_ascii.py"}, {"type": "Module", "nodeid": "io/ascii/tests/test_ascii.py"}], "outcome": "passed"}, {"nodeid": "io/ascii", "result": [{"type": "DoctestModule", "nodeid": "io/ascii/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/ascii/core.py"}, {"type": "Package", "nodeid": "io/ascii/tests"}], "outcome": "passed"}, {"nodeid": "io/cmtsolution/__init__.py", "result": [{"type": "DoctestItem", "lineno": 2, "nodeid": "io/cmtsolution/__init__.py::obspy.io.cmtsolution"}], "outcome": "passed"}, {"nodeid": "io/cmtsolution/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/cmtsolution/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/cmtsolution/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/cmtsolution/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution", "result": [{"type": "Function", "lineno": 17, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_read_and_write_cmtsolution_from_files"}, {"type": "Function", "lineno": 43, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_write_no_preferred_focal_mechanism"}, {"type": "Function", "lineno": 70, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_read_and_write_cmtsolution_from_open_files"}, {"type": "Function", "lineno": 90, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_read_and_write_cmtsolution_from_bytes_io"}, {"type": "Function", "lineno": 114, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_read_and_write_cmtsolution_explosion"}, {"type": "Function", "lineno": 138, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_is_cmtsolution"}, {"type": "Function", "lineno": 153, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_read_and_write_multiple_cmtsolution_from_files"}, {"type": "Function", "lineno": 181, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_read_and_write_multiple_events_from_bytes_io"}, {"type": "Function", "lineno": 207, "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution::test_reading_newer_cmtsolution_files"}], "outcome": "passed"}, {"nodeid": "io/cmtsolution/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/cmtsolution/tests/test_core.py::TestCmtsolution"}], "outcome": "passed"}, {"nodeid": "io/cmtsolution/tests", "result": [{"type": "DoctestModule", "nodeid": "io/cmtsolution/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/cmtsolution/tests/data"}, {"type": "DoctestModule", "nodeid": "io/cmtsolution/tests/test_core.py"}, {"type": "Module", "nodeid": "io/cmtsolution/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/cmtsolution", "result": [{"type": "DoctestModule", "nodeid": "io/cmtsolution/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/cmtsolution/core.py"}, {"type": "Package", "nodeid": "io/cmtsolution/tests"}], "outcome": "passed"}, {"nodeid": "io/cnv/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/cnv/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/cnv/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/cnv/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/cnv/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/cnv/tests/test_core.py::TestCNV", "result": [{"type": "Function", "lineno": 13, "nodeid": "io/cnv/tests/test_core.py::TestCNV::test_write_cnv"}], "outcome": "passed"}, {"nodeid": "io/cnv/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/cnv/tests/test_core.py::TestCNV"}], "outcome": "passed"}, {"nodeid": "io/cnv/tests", "result": [{"type": "DoctestModule", "nodeid": "io/cnv/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/cnv/tests/data"}, {"type": "DoctestModule", "nodeid": "io/cnv/tests/test_core.py"}, {"type": "Module", "nodeid": "io/cnv/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/cnv", "result": [{"type": "DoctestModule", "nodeid": "io/cnv/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/cnv/core.py"}, {"type": "Package", "nodeid": "io/cnv/tests"}], "outcome": "passed"}, {"nodeid": "io/css/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/css/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/css/station.py", "result": [], "outcome": "passed"}, {"nodeid": "io/css/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/css/tests/data/station", "result": [], "outcome": "passed"}, {"nodeid": "io/css/tests/data", "result": [{"type": "Dir", "nodeid": "io/css/tests/data/station"}], "outcome": "passed"}, {"nodeid": "io/css/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/css/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 56, "nodeid": "io/css/tests/test_core.py::TestCore::test_is_css"}, {"type": "Function", "lineno": 69, "nodeid": "io/css/tests/test_core.py::TestCore::test_is_nnsa_kb_core"}, {"type": "Function", "lineno": 82, "nodeid": "io/css/tests/test_core.py::TestCore::test_is_not_this_format_core"}, {"type": "Function", "lineno": 88, "nodeid": "io/css/tests/test_core.py::TestCore::test_css_read_via_obspy"}, {"type": "Function", "lineno": 96, "nodeid": "io/css/tests/test_core.py::TestCore::test_css_read_via_module"}, {"type": "Function", "lineno": 107, "nodeid": "io/css/tests/test_core.py::TestCore::test_nnsa_kb_core_read_via_obspy"}, {"type": "Function", "lineno": 115, "nodeid": "io/css/tests/test_core.py::TestCore::test_nnsa_kb_core_read_via_module"}, {"type": "Function", "lineno": 126, "nodeid": "io/css/tests/test_core.py::TestCore::test_css_2_read_via_module"}, {"type": "Function", "lineno": 138, "nodeid": "io/css/tests/test_core.py::TestCore::test_css_3_read_via_module"}], "outcome": "passed"}, {"nodeid": "io/css/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/css/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/css/tests/test_station.py", "result": [], "outcome": "passed"}, {"nodeid": "io/css/tests/test_station.py::TestCSSStation", "result": [{"type": "Function", "lineno": 49, "nodeid": "io/css/tests/test_station.py::TestCSSStation::test_default_write"}], "outcome": "passed"}, {"nodeid": "io/css/tests/test_station.py", "result": [{"type": "Class", "nodeid": "io/css/tests/test_station.py::TestCSSStation"}], "outcome": "passed"}, {"nodeid": "io/css/tests", "result": [{"type": "DoctestModule", "nodeid": "io/css/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/css/tests/data"}, {"type": "DoctestModule", "nodeid": "io/css/tests/test_core.py"}, {"type": "Module", "nodeid": "io/css/tests/test_core.py"}, {"type": "DoctestModule", "nodeid": "io/css/tests/test_station.py"}, {"type": "Module", "nodeid": "io/css/tests/test_station.py"}], "outcome": "passed"}, {"nodeid": "io/css", "result": [{"type": "DoctestModule", "nodeid": "io/css/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/css/core.py"}, {"type": "DoctestModule", "nodeid": "io/css/station.py"}, {"type": "Package", "nodeid": "io/css/tests"}], "outcome": "passed"}, {"nodeid": "io/csv/__init__.py", "result": [{"type": "DoctestItem", "lineno": 0, "nodeid": "io/csv/__init__.py::obspy.io.csv"}], "outcome": "passed"}, {"nodeid": "io/csv/core.py", "result": [{"type": "DoctestItem", "lineno": 382, "nodeid": "io/csv/core.py::obspy.io.csv.core._events2array"}, {"type": "DoctestItem", "lineno": 132, "nodeid": "io/csv/core.py::obspy.io.csv.core._read_csv"}, {"type": "DoctestItem", "lineno": 249, "nodeid": "io/csv/core.py::obspy.io.csv.core._write_csv"}], "outcome": "passed"}, {"nodeid": "io/csv/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/csv/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/csv/tests/test_csv.py", "result": [], "outcome": "passed"}, {"nodeid": "io/csv/tests/test_csv.py", "result": [{"type": "Function", "lineno": 12, "nodeid": "io/csv/tests/test_csv.py::test_csv"}, {"type": "Function", "lineno": 26, "nodeid": "io/csv/tests/test_csv.py::test_csv_reading_external_catalog"}, {"type": "Function", "lineno": 41, "nodeid": "io/csv/tests/test_csv.py::test_csv_incomplete_catalog"}, {"type": "Function", "lineno": 69, "nodeid": "io/csv/tests/test_csv.py::test_csv_custom_fmt"}, {"type": "Function", "lineno": 80, "nodeid": "io/csv/tests/test_csv.py::test_csv_empty"}, {"type": "Function", "lineno": 86, "nodeid": "io/csv/tests/test_csv.py::test_csz"}, {"type": "Function", "lineno": 126, "nodeid": "io/csv/tests/test_csv.py::test_csz_without_picks"}, {"type": "Function", "lineno": 137, "nodeid": "io/csv/tests/test_csv.py::test_csz_without_check_compression_parameters"}, {"type": "Function", "lineno": 142, "nodeid": "io/csv/tests/test_csv.py::test_load_csv"}, {"type": "Function", "lineno": 156, "nodeid": "io/csv/tests/test_csv.py::test_load_csv_incomplete_catalog"}, {"type": "Function", "lineno": 171, "nodeid": "io/csv/tests/test_csv.py::test_load_csv_some_cols"}, {"type": "Function", "lineno": 188, "nodeid": "io/csv/tests/test_csv.py::test_events2array"}, {"type": "Function", "lineno": 194, "nodeid": "io/csv/tests/test_csv.py::test_eventtxt"}], "outcome": "passed"}, {"nodeid": "io/csv/tests", "result": [{"type": "DoctestModule", "nodeid": "io/csv/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/csv/tests/data"}, {"type": "DoctestModule", "nodeid": "io/csv/tests/test_csv.py"}, {"type": "Module", "nodeid": "io/csv/tests/test_csv.py"}], "outcome": "passed"}, {"nodeid": "io/csv", "result": [{"type": "DoctestModule", "nodeid": "io/csv/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/csv/core.py"}, {"type": "Package", "nodeid": "io/csv/tests"}], "outcome": "passed"}, {"nodeid": "io/cybershake/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/cybershake/__init__.py::obspy.io.cybershake"}], "outcome": "passed"}, {"nodeid": "io/cybershake/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/cybershake/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/cybershake/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/cybershake/tests/test_core.py::TestCybershake", "result": [{"type": "Function", "lineno": 14, "nodeid": "io/cybershake/tests/test_core.py::TestCybershake::test_is_cybershake"}, {"type": "Function", "lineno": 30, "nodeid": "io/cybershake/tests/test_core.py::TestCybershake::test_read_cybershake"}], "outcome": "passed"}, {"nodeid": "io/cybershake/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/cybershake/tests/test_core.py::TestCybershake"}], "outcome": "passed"}, {"nodeid": "io/cybershake/tests", "result": [{"type": "Dir", "nodeid": "io/cybershake/tests/data"}, {"type": "DoctestModule", "nodeid": "io/cybershake/tests/test_core.py"}, {"type": "Module", "nodeid": "io/cybershake/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/cybershake", "result": [{"type": "DoctestModule", "nodeid": "io/cybershake/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/cybershake/core.py"}, {"type": "Dir", "nodeid": "io/cybershake/tests"}], "outcome": "passed"}, {"nodeid": "io/dmx/__init__.py", "result": [{"type": "DoctestItem", "lineno": 0, "nodeid": "io/dmx/__init__.py::obspy.io.dmx"}], "outcome": "passed"}, {"nodeid": "io/dmx/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/dmx/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/dmx/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/dmx/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/dmx/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 16, "nodeid": "io/dmx/tests/test_core.py::TestCore::test_read_via_obspy"}, {"type": "Function", "lineno": 34, "nodeid": "io/dmx/tests/test_core.py::TestCore::test_read_via_module"}, {"type": "Function", "lineno": 52, "nodeid": "io/dmx/tests/test_core.py::TestCore::test_read_with_station"}, {"type": "Function", "lineno": 66, "nodeid": "io/dmx/tests/test_core.py::TestCore::test_check_data_content_sum"}], "outcome": "passed"}, {"nodeid": "io/dmx/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/dmx/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/dmx/tests", "result": [{"type": "DoctestModule", "nodeid": "io/dmx/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/dmx/tests/data"}, {"type": "DoctestModule", "nodeid": "io/dmx/tests/test_core.py"}, {"type": "Module", "nodeid": "io/dmx/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/dmx", "result": [{"type": "DoctestModule", "nodeid": "io/dmx/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/dmx/core.py"}, {"type": "Package", "nodeid": "io/dmx/tests"}], "outcome": "passed"}, {"nodeid": "io/focmec/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/focmec/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/focmec/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/focmec/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/focmec/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/focmec/tests/test_core.py::TestFOCMEC", "result": [{"type": "Function", "lineno": 125, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_is_focmec"}, {"type": "Function", "lineno": 129, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_out"}, {"type": "Function", "lineno": 133, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_out_open_file"}, {"type": "Function", "lineno": 139, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_lst"}, {"type": "Function", "lineno": 143, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_lst_open_file"}, {"type": "Function", "lineno": 149, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_out_through_plugin"}, {"type": "Function", "lineno": 153, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_lst_through_plugin"}, {"type": "Function", "lineno": 157, "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC::test_read_focmec_lst_other_flavors"}], "outcome": "passed"}, {"nodeid": "io/focmec/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/focmec/tests/test_core.py::TestFOCMEC"}], "outcome": "passed"}, {"nodeid": "io/focmec/tests", "result": [{"type": "DoctestModule", "nodeid": "io/focmec/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/focmec/tests/data"}, {"type": "DoctestModule", "nodeid": "io/focmec/tests/test_core.py"}, {"type": "Module", "nodeid": "io/focmec/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/focmec", "result": [{"type": "DoctestModule", "nodeid": "io/focmec/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/focmec/core.py"}, {"type": "Package", "nodeid": "io/focmec/tests"}], "outcome": "passed"}, {"nodeid": "io/gcf/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/gcf/__init__.py::obspy.io.gcf"}], "outcome": "passed"}, {"nodeid": "io/gcf/core.py", "result": [{"type": "DoctestItem", "lineno": 327, "nodeid": "io/gcf/core.py::obspy.io.gcf.core._read_gcf"}, {"type": "DoctestItem", "lineno": 550, "nodeid": "io/gcf/core.py::obspy.io.gcf.core._write_gcf"}], "outcome": "passed"}, {"nodeid": "io/gcf/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/gcf/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/gcf/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/gcf/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 25, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_read_via_obspy"}, {"type": "Function", "lineno": 44, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_read_head_via_obspy"}, {"type": "Function", "lineno": 61, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_read_via_module"}, {"type": "Function", "lineno": 80, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_read_head_via_module"}, {"type": "Function", "lineno": 97, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_read_channel_prefix_via_obspy"}, {"type": "Function", "lineno": 114, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_merge_gcf_stream"}, {"type": "Function", "lineno": 139, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_sps_d"}, {"type": "Function", "lineno": 156, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_read_no_merge"}, {"type": "Function", "lineno": 187, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_write_read_fractional_start"}, {"type": "Function", "lineno": 258, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_write_read"}, {"type": "Function", "lineno": 304, "nodeid": "io/gcf/tests/test_core.py::TestCore::test_split_last_block"}], "outcome": "passed"}, {"nodeid": "io/gcf/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/gcf/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/gcf/tests", "result": [{"type": "DoctestModule", "nodeid": "io/gcf/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/gcf/tests/data"}, {"type": "DoctestModule", "nodeid": "io/gcf/tests/test_core.py"}, {"type": "Module", "nodeid": "io/gcf/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/gcf", "result": [{"type": "DoctestModule", "nodeid": "io/gcf/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/gcf/core.py"}, {"type": "Package", "nodeid": "io/gcf/tests"}], "outcome": "passed"}, {"nodeid": "io/gse2/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/gse2/__init__.py::obspy.io.gse2"}], "outcome": "passed"}, {"nodeid": "io/gse2/bulletin.py", "result": [{"type": "DoctestItem", "lineno": 1004, "nodeid": "io/gse2/bulletin.py::obspy.io.gse2.bulletin._read_gse2"}], "outcome": "passed"}, {"nodeid": "io/gse2/core.py", "result": [{"type": "DoctestItem", "lineno": 128, "nodeid": "io/gse2/core.py::obspy.io.gse2.core._read_gse1"}, {"type": "DoctestItem", "lineno": 30, "nodeid": "io/gse2/core.py::obspy.io.gse2.core._read_gse2"}, {"type": "DoctestItem", "lineno": 71, "nodeid": "io/gse2/core.py::obspy.io.gse2.core._write_gse2"}], "outcome": "passed"}, {"nodeid": "io/gse2/libgse1.py", "result": [], "outcome": "passed"}, {"nodeid": "io/gse2/libgse2.py", "result": [{"type": "DoctestItem", "lineno": 446, "nodeid": "io/gse2/libgse2.py::obspy.io.gse2.libgse2.parse_sta2"}], "outcome": "passed"}, {"nodeid": "io/gse2/paz.py", "result": [{"type": "DoctestItem", "lineno": 93, "nodeid": "io/gse2/paz.py::obspy.io.gse2.paz.attach_paz"}, {"type": "DoctestItem", "lineno": 29, "nodeid": "io/gse2/paz.py::obspy.io.gse2.paz.read_paz"}], "outcome": "passed"}, {"nodeid": "io/gse2/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/gse2/tests/data/bulletin", "result": [], "outcome": "passed"}, {"nodeid": "io/gse2/tests/data", "result": [{"type": "Dir", "nodeid": "io/gse2/tests/data/bulletin"}], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_bulletin.py", "result": [], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin", "result": [{"type": "Function", "lineno": 27, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_catalog"}, {"type": "Function", "lineno": 41, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_event"}, {"type": "Function", "lineno": 68, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_origin"}, {"type": "Function", "lineno": 125, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_pick"}, {"type": "Function", "lineno": 181, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_arrival"}, {"type": "Function", "lineno": 230, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_magnitude"}, {"type": "Function", "lineno": 270, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_station_magnitude"}, {"type": "Function", "lineno": 348, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_amplitude"}, {"type": "Function", "lineno": 412, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_several_events"}, {"type": "Function", "lineno": 444, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_parameters"}, {"type": "Function", "lineno": 556, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_non_standard_format"}, {"type": "Function", "lineno": 601, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_inventory"}, {"type": "Function", "lineno": 640, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_inventory_with_multiple_channels"}, {"type": "Function", "lineno": 686, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_several_begin"}, {"type": "Function", "lineno": 718, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_read_events"}, {"type": "Function", "lineno": 726, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_incomplete_file"}], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_bulletin.py", "result": [{"type": "Class", "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin"}], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 20, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_via_obspy"}, {"type": "Function", "lineno": 42, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_head_via_obspy"}, {"type": "Function", "lineno": 60, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_and_write_via_obspy"}, {"type": "Function", "lineno": 96, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_and_write_streams_via_obspy"}, {"type": "Function", "lineno": 138, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_write_integers_via_obspy"}, {"type": "Function", "lineno": 167, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_tab_complete_stats"}, {"type": "Function", "lineno": 181, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_write_wrong_format"}, {"type": "Function", "lineno": 192, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_with_wrong_checksum"}, {"type": "Function", "lineno": 204, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_with_wrong_parameters"}, {"type": "Function", "lineno": 213, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_gse1_via_obspy"}, {"type": "Function", "lineno": 231, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_gse1_head_via_obspy"}, {"type": "Function", "lineno": 246, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_intv_gse1_via_obspy"}, {"type": "Function", "lineno": 286, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_dos"}, {"type": "Function", "lineno": 299, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_apply_calib"}, {"type": "Function", "lineno": 315, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_write_and_read_correct_network"}, {"type": "Function", "lineno": 329, "nodeid": "io/gse2/tests/test_core.py::TestCore::test_read_gse2_int_datatype"}], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/gse2/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_libgse1.py", "result": [], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_libgse1.py::TestLibGSE1", "result": [{"type": "Function", "lineno": 14, "nodeid": "io/gse2/tests/test_libgse1.py::TestLibGSE1::test_verify_checksums"}], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_libgse1.py", "result": [{"type": "Class", "nodeid": "io/gse2/tests/test_libgse1.py::TestLibGSE1"}], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_libgse2.py", "result": [], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2", "result": [{"type": "Function", "lineno": 23, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_read"}, {"type": "Function", "lineno": 48, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_read_with_wrong_checksum"}, {"type": "Function", "lineno": 62, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_read_and_write"}, {"type": "Function", "lineno": 80, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_bytes_io"}, {"type": "Function", "lineno": 101, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_read_header"}, {"type": "Function", "lineno": 118, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_is_widi_2"}, {"type": "Function", "lineno": 132, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_max_value_exceeded"}, {"type": "Function", "lineno": 149, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_array_not_numpy"}, {"type": "Function", "lineno": 170, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_chk2_in_cm6"}, {"type": "Function", "lineno": 181, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_broken_head"}, {"type": "Function", "lineno": 190, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_no_dat2_null_pointer"}, {"type": "Function", "lineno": 207, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_parse_sta2"}], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_libgse2.py", "result": [{"type": "Class", "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2"}], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_paz.py", "result": [], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_paz.py::TestPAZ", "result": [{"type": "Function", "lineno": 14, "nodeid": "io/gse2/tests/test_paz.py::TestPAZ::test_read_with_spaces"}, {"type": "Function", "lineno": 36, "nodeid": "io/gse2/tests/test_paz.py::TestPAZ::test_read_without_spaces"}], "outcome": "passed"}, {"nodeid": "io/gse2/tests/test_paz.py", "result": [{"type": "Class", "nodeid": "io/gse2/tests/test_paz.py::TestPAZ"}], "outcome": "passed"}, {"nodeid": "io/gse2/tests", "result": [{"type": "DoctestModule", "nodeid": "io/gse2/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/gse2/tests/data"}, {"type": "DoctestModule", "nodeid": "io/gse2/tests/test_bulletin.py"}, {"type": "Module", "nodeid": "io/gse2/tests/test_bulletin.py"}, {"type": "DoctestModule", "nodeid": "io/gse2/tests/test_core.py"}, {"type": "Module", "nodeid": "io/gse2/tests/test_core.py"}, {"type": "DoctestModule", "nodeid": "io/gse2/tests/test_libgse1.py"}, {"type": "Module", "nodeid": "io/gse2/tests/test_libgse1.py"}, {"type": "DoctestModule", "nodeid": "io/gse2/tests/test_libgse2.py"}, {"type": "Module", "nodeid": "io/gse2/tests/test_libgse2.py"}, {"type": "DoctestModule", "nodeid": "io/gse2/tests/test_paz.py"}, {"type": "Module", "nodeid": "io/gse2/tests/test_paz.py"}], "outcome": "passed"}, {"nodeid": "io/gse2", "result": [{"type": "DoctestModule", "nodeid": "io/gse2/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/gse2/bulletin.py"}, {"type": "DoctestModule", "nodeid": "io/gse2/core.py"}, {"type": "DoctestModule", "nodeid": "io/gse2/libgse1.py"}, {"type": "DoctestModule", "nodeid": "io/gse2/libgse2.py"}, {"type": "DoctestModule", "nodeid": "io/gse2/paz.py"}, {"type": "Package", "nodeid": "io/gse2/tests"}], "outcome": "passed"}, {"nodeid": "io/hypodd/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/hypodd/__init__.py::obspy.io.hypodd"}], "outcome": "passed"}, {"nodeid": "io/hypodd/pha.py", "result": [], "outcome": "passed"}, {"nodeid": "io/hypodd/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/hypodd/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/hypodd/tests/test_pha.py", "result": [], "outcome": "passed"}, {"nodeid": "io/hypodd/tests/test_pha.py::TestPHA", "result": [{"type": "Function", "lineno": 19, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_is_pha"}, {"type": "Function", "lineno": 22, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_is_not_pha"}, {"type": "Function", "lineno": 26, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_read_pha"}, {"type": "Function", "lineno": 60, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_60s_nan"}, {"type": "Function", "lineno": 74, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_populate_waveform_id"}, {"type": "Function", "lineno": 95, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_eventid_map"}, {"type": "Function", "lineno": 120, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_write_pha"}, {"type": "Function", "lineno": 132, "nodeid": "io/hypodd/tests/test_pha.py::TestPHA::test_write_pha_minimal"}], "outcome": "passed"}, {"nodeid": "io/hypodd/tests/test_pha.py", "result": [{"type": "Class", "nodeid": "io/hypodd/tests/test_pha.py::TestPHA"}], "outcome": "passed"}, {"nodeid": "io/hypodd/tests", "result": [{"type": "DoctestModule", "nodeid": "io/hypodd/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/hypodd/tests/data"}, {"type": "DoctestModule", "nodeid": "io/hypodd/tests/test_pha.py"}, {"type": "Module", "nodeid": "io/hypodd/tests/test_pha.py"}], "outcome": "passed"}, {"nodeid": "io/hypodd", "result": [{"type": "DoctestModule", "nodeid": "io/hypodd/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/hypodd/pha.py"}, {"type": "Package", "nodeid": "io/hypodd/tests"}], "outcome": "passed"}, {"nodeid": "io/iaspei/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/iaspei/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/iaspei/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/iaspei/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/iaspei/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/iaspei/tests/test_core.py::TestIASPEI", "result": [{"type": "Function", "lineno": 89, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_reading"}, {"type": "Function", "lineno": 97, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_reading_via_file"}, {"type": "Function", "lineno": 111, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_reading_via_bytes_io"}, {"type": "Function", "lineno": 122, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_reading_via_plugin"}, {"type": "Function", "lineno": 131, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_is_ims10_bulltin"}, {"type": "Function", "lineno": 138, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_is_ims10_bulltin_open_file"}, {"type": "Function", "lineno": 151, "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI::test_is_ims10_bulltin_from_bytes_io"}], "outcome": "passed"}, {"nodeid": "io/iaspei/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/iaspei/tests/test_core.py::TestIASPEI"}], "outcome": "passed"}, {"nodeid": "io/iaspei/tests", "result": [{"type": "DoctestModule", "nodeid": "io/iaspei/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/iaspei/tests/data"}, {"type": "DoctestModule", "nodeid": "io/iaspei/tests/test_core.py"}, {"type": "Module", "nodeid": "io/iaspei/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/iaspei/util.py", "result": [], "outcome": "passed"}, {"nodeid": "io/iaspei", "result": [{"type": "DoctestModule", "nodeid": "io/iaspei/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/iaspei/core.py"}, {"type": "Package", "nodeid": "io/iaspei/tests"}, {"type": "DoctestModule", "nodeid": "io/iaspei/util.py"}], "outcome": "passed"}, {"nodeid": "io/json/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/json/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/json/default.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/json/default.py::obspy.io.json.default"}], "outcome": "passed"}, {"nodeid": "io/json/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/json/tests/test_json.py", "result": [], "outcome": "passed"}, {"nodeid": "io/json/tests/test_json.py::TestJSON", "result": [{"type": "Function", "lineno": 26, "nodeid": "io/json/tests/test_json.py::TestJSON::test_default"}, {"type": "Function", "lineno": 37, "nodeid": "io/json/tests/test_json.py::TestJSON::test_get_dump_kwargs"}, {"type": "Function", "lineno": 57, "nodeid": "io/json/tests/test_json.py::TestJSON::test_write_json"}], "outcome": "passed"}, {"nodeid": "io/json/tests/test_json.py", "result": [{"type": "Class", "nodeid": "io/json/tests/test_json.py::TestJSON"}], "outcome": "passed"}, {"nodeid": "io/json/tests", "result": [{"type": "DoctestModule", "nodeid": "io/json/tests/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/json/tests/test_json.py"}, {"type": "Module", "nodeid": "io/json/tests/test_json.py"}], "outcome": "passed"}, {"nodeid": "io/json", "result": [{"type": "DoctestModule", "nodeid": "io/json/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/json/core.py"}, {"type": "DoctestModule", "nodeid": "io/json/default.py"}, {"type": "Package", "nodeid": "io/json/tests"}], "outcome": "passed"}, {"nodeid": "io/kinemetrics/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/kinemetrics/__init__.py::obspy.io.kinemetrics"}], "outcome": "passed"}, {"nodeid": "io/kinemetrics/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/kinemetrics/evt.py", "result": [], "outcome": "passed"}, {"nodeid": "io/kinemetrics/evt_base.py", "result": [], "outcome": "passed"}, {"nodeid": "io/kinemetrics/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/kinemetrics/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/kinemetrics/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/kinemetrics/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 19, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_is_evt"}, {"type": "Function", "lineno": 36, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_is_evt_from_bytesio"}, {"type": "Function", "lineno": 62, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_obspy1"}, {"type": "Function", "lineno": 87, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_obspy2"}, {"type": "Function", "lineno": 115, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_obspy_and_bytesio1"}, {"type": "Function", "lineno": 143, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_obspy_and_bytesio2"}, {"type": "Function", "lineno": 175, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_module1"}, {"type": "Function", "lineno": 200, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_module2"}, {"type": "Function", "lineno": 227, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_module_and_bytesio"}, {"type": "Function", "lineno": 340, "nodeid": "io/kinemetrics/tests/test_core.py::TestCore::test_read_via_module_raw"}], "outcome": "passed"}, {"nodeid": "io/kinemetrics/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/kinemetrics/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/kinemetrics/tests", "result": [{"type": "DoctestModule", "nodeid": "io/kinemetrics/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/kinemetrics/tests/data"}, {"type": "DoctestModule", "nodeid": "io/kinemetrics/tests/test_core.py"}, {"type": "Module", "nodeid": "io/kinemetrics/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/kinemetrics", "result": [{"type": "DoctestModule", "nodeid": "io/kinemetrics/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/kinemetrics/core.py"}, {"type": "DoctestModule", "nodeid": "io/kinemetrics/evt.py"}, {"type": "DoctestModule", "nodeid": "io/kinemetrics/evt_base.py"}, {"type": "Package", "nodeid": "io/kinemetrics/tests"}], "outcome": "passed"}, {"nodeid": "io/kml/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/kml/__init__.py::obspy.io.kml"}], "outcome": "passed"}, {"nodeid": "io/kml/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/kml/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/kml/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/kml/tests/test_kml.py", "result": [], "outcome": "passed"}, {"nodeid": "io/kml/tests/test_kml.py::TestKML", "result": [{"type": "Function", "lineno": 10, "nodeid": "io/kml/tests/test_kml.py::TestKML::test_write_inventory"}, {"type": "Function", "lineno": 27, "nodeid": "io/kml/tests/test_kml.py::TestKML::test_write_catalog"}], "outcome": "passed"}, {"nodeid": "io/kml/tests/test_kml.py", "result": [{"type": "Class", "nodeid": "io/kml/tests/test_kml.py::TestKML"}], "outcome": "passed"}, {"nodeid": "io/kml/tests", "result": [{"type": "DoctestModule", "nodeid": "io/kml/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/kml/tests/data"}, {"type": "DoctestModule", "nodeid": "io/kml/tests/test_kml.py"}, {"type": "Module", "nodeid": "io/kml/tests/test_kml.py"}], "outcome": "passed"}, {"nodeid": "io/kml", "result": [{"type": "DoctestModule", "nodeid": "io/kml/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/kml/core.py"}, {"type": "Package", "nodeid": "io/kml/tests"}], "outcome": "passed"}, {"nodeid": "io/mseed/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/mseed/__init__.py::obspy.io.mseed"}], "outcome": "passed"}, {"nodeid": "io/mseed/core.py", "result": [{"type": "DoctestItem", "lineno": 318, "nodeid": "io/mseed/core.py::obspy.io.mseed.core._read_mseed"}, {"type": "DoctestItem", "lineno": 759, "nodeid": "io/mseed/core.py::obspy.io.mseed.core._write_mseed"}], "outcome": "passed"}, {"nodeid": "io/mseed/headers.py", "result": [], "outcome": "passed"}, {"nodeid": "io/mseed/msstruct.py", "result": [], "outcome": "passed"}, {"nodeid": "io/mseed/scripts/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/mseed/scripts/recordanalyzer.py", "result": [], "outcome": "passed"}, {"nodeid": "io/mseed/scripts", "result": [{"type": "DoctestModule", "nodeid": "io/mseed/scripts/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/mseed/scripts/recordanalyzer.py"}], "outcome": "passed"}, {"nodeid": "io/mseed/src/libmseed/test/data", "result": [], "outcome": "passed"}, {"nodeid": "io/mseed/src/libmseed/test", "result": [{"type": "Dir", "nodeid": "io/mseed/src/libmseed/test/data"}], "outcome": "passed"}, {"nodeid": "io/mseed/src/libmseed", "result": [{"type": "Dir", "nodeid": "io/mseed/src/libmseed/test"}], "outcome": "passed"}, {"nodeid": "io/mseed/src", "result": [{"type": "Dir", "nodeid": "io/mseed/src/libmseed"}], "outcome": "passed"}, {"nodeid": "io/mseed/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/mseed/tests/data/bizarre", "result": [], "outcome": "passed"}, {"nodeid": "io/mseed/tests/data/encoding", "result": [], "outcome": "passed"}, {"nodeid": "io/mseed/tests/data", "result": [{"type": "Dir", "nodeid": "io/mseed/tests/data/bizarre"}, {"type": "Dir", "nodeid": "io/mseed/tests/data/encoding"}], "outcome": "passed"}, {"nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py", "result": [], "outcome": "passed"}, {"nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting", "result": [{"type": "Function", "lineno": 30, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_head_file_via_obspy"}, {"type": "Function", "lineno": 54, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_gappy_file"}, {"type": "Function", "lineno": 101, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_and_write_traces"}, {"type": "Function", "lineno": 145, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_downcast_int64_to_int32"}, {"type": "Function", "lineno": 175, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_get_record_information"}, {"type": "Function", "lineno": 221, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_and_write_file_with_gaps"}, {"type": "Function", "lineno": 241, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_is_mseed"}, {"type": "Function", "lineno": 304, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_single_record_to_msr"}, {"type": "Function", "lineno": 322, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_file_via_mseed"}, {"type": "Function", "lineno": 408, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_partial_time_window_from_file"}, {"type": "Function", "lineno": 421, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_partial_with_only_starttime_set"}, {"type": "Function", "lineno": 433, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test__partial_with_only_endtime_set"}, {"type": "Function", "lineno": 445, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_partial_frame_with_empty_time_range"}, {"type": "Function", "lineno": 457, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_bisection_read"}, {"type": "Function", "lineno": 535, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_partial_with_source_name"}, {"type": "Function", "lineno": 559, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_write_integers"}, {"type": "Function", "lineno": 577, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_ms_traces_via_records_multiple_ids"}, {"type": "Function", "lineno": 615, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_write_sequence_number"}, {"type": "Function", "lineno": 708, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_write_and_read_different_record_lengths"}, {"type": "Function", "lineno": 735, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_full_seed"}, {"type": "Function", "lineno": 746, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_with_wild_card"}, {"type": "Function", "lineno": 756, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_header"}, {"type": "Function", "lineno": 782, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_and_writing_via_the_stats_attribute"}, {"type": "Function", "lineno": 833, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_parts_of_file"}, {"type": "Function", "lineno": 850, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_with_gse2_option"}, {"type": "Function", "lineno": 864, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_all_data_types_and_endians_in_multiple_files"}, {"type": "Function", "lineno": 895, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_saving_small_ascii"}, {"type": "Function", "lineno": 905, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_all_data_types_and_endians_in_single_file"}, {"type": "Function", "lineno": 932, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_enforce_steim2_with_steim1_as_encoding"}, {"type": "Function", "lineno": 946, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_files_from_libmseed"}, {"type": "Function", "lineno": 1012, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_writing_microseconds"}, {"type": "Function", "lineno": 1033, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_and_writing_dataquality"}, {"type": "Function", "lineno": 1073, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_writing_invalid_data_quality"}, {"type": "Function", "lineno": 1091, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_is_invalid_mseed"}, {"type": "Function", "lineno": 1108, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_is_valid_mseed"}, {"type": "Function", "lineno": 1123, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_bizarre_files"}, {"type": "Function", "lineno": 1148, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_write_and_read_different_encodings"}, {"type": "Function", "lineno": 1187, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_issue376"}, {"type": "Function", "lineno": 1208, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_empty_trace"}, {"type": "Function", "lineno": 1221, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_timing_qual"}, {"type": "Function", "lineno": 1239, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_corrupt_file_length"}, {"type": "Function", "lineno": 1260, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_verbosity"}, {"type": "Function", "lineno": 1276, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_writing_with_some_encoding_fails"}, {"type": "Function", "lineno": 1322, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_geoscope_16bit_4bit_exponent_format"}, {"type": "Function", "lineno": 1338, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_sro_format"}, {"type": "Function", "lineno": 1349, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_dwwssn_format"}, {"type": "Function", "lineno": 1360, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_cdsn_format"}, {"type": "Function", "lineno": 1371, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_write_timing_quality"}, {"type": "Function", "lineno": 1433, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_libmseed_test_cases"}, {"type": "Function", "lineno": 1617, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_per_trace_mseed_attributes"}, {"type": "Function", "lineno": 1664, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_mseed_sr0"}, {"type": "Function", "lineno": 1677, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_and_writing_zero_sampling_rate_traces"}], "outcome": "passed"}, {"nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py", "result": [{"type": "Class", "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting"}], "outcome": "passed"}, {"nodeid": "io/mseed/tests/test_mseed_special_issues.py", "result": [], "outcome": "passed"}, {"nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue", "result": [{"type": "Function", "lineno": 59, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_invalid_record_length"}, {"type": "Function", "lineno": 80, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_invalid_encoding"}, {"type": "Function", "lineno": 98, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_ctypes_arg_types"}, {"type": "Function", "lineno": 136, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_broken_last_record"}, {"type": "Function", "lineno": 167, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_one_sample_overlap"}, {"type": "Function", "lineno": 185, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_bug_write_read_float32_seed_win32"}, {"type": "Function", "lineno": 209, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_write_with_date_time_before_1970"}, {"type": "Function", "lineno": 230, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_invalid_data_type"}, {"type": "Function", "lineno": 255, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_write_wrong_encoding"}, {"type": "Function", "lineno": 271, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_write_wrong_encoding_via_mseed_stats"}, {"type": "Function", "lineno": 291, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_wrong_record_length_as_argument"}, {"type": "Function", "lineno": 308, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_read_with_missing_blockette010"}, {"type": "Function", "lineno": 323, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue160"}, {"type": "Function", "lineno": 342, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue217"}, {"type": "Function", "lineno": 359, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue296"}, {"type": "Function", "lineno": 434, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue289"}, {"type": "Function", "lineno": 450, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue312"}, {"type": "Function", "lineno": 472, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue272"}, {"type": "Function", "lineno": 488, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue325"}, {"type": "Function", "lineno": 523, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue332"}, {"type": "Function", "lineno": 541, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue341"}, {"type": "Function", "lineno": 566, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue485"}, {"type": "Function", "lineno": 578, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_enforcing_reading_byteorder"}, {"type": "Function", "lineno": 622, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_long_year_range"}, {"type": "Function", "lineno": 659, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_full_seed_with_non_default_dataquality"}, {"type": "Function", "lineno": 691, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_infinite_loop"}, {"type": "Function", "lineno": 716, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_microsecond_accuracy_reading_and_writing_before_1970"}, {"type": "Function", "lineno": 744, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_noise_records"}, {"type": "Function", "lineno": 756, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_read_file_with_various_noise_records"}, {"type": "Function", "lineno": 784, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_mseed_zero_data_offset"}, {"type": "Function", "lineno": 830, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_mseed_zero_data_headonly"}, {"type": "Function", "lineno": 864, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_read_file_with_microsecond_wrap"}, {"type": "Function", "lineno": 908, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_miniseed_with_no_blockette_1000"}, {"type": "Function", "lineno": 927, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_writing_of_blockette_100"}, {"type": "Function", "lineno": 1022, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_file_with_data_offset_of_48"}, {"type": "Function", "lineno": 1042, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_truncated_miniseed_files"}, {"type": "Function", "lineno": 1070, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_truncated_miniseed_files_case_2"}, {"type": "Function", "lineno": 1099, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_less_than_128_bytes"}, {"type": "Function", "lineno": 1131, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_read_file_with_non_valid_blocks_in_between"}, {"type": "Function", "lineno": 1191, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_files_with_non_ascii_headers"}], "outcome": "passed"}, {"nodeid": "io/mseed/tests/test_mseed_special_issues.py", "result": [{"type": "Class", "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue"}], "outcome": "passed"}, {"nodeid": "io/mseed/tests/test_mseed_util.py", "result": [], "outcome": "passed"}, {"nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil", "result": [{"type": "Function", "lineno": 97, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_convert_datetime"}, {"type": "Function", "lineno": 129, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_convert_datetime2"}, {"type": "Function", "lineno": 152, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_record_information"}, {"type": "Function", "lineno": 192, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_record_information_negative_sr_rate_and_mult"}, {"type": "Function", "lineno": 219, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_issue2069"}, {"type": "Function", "lineno": 248, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_data_quality"}, {"type": "Function", "lineno": 293, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_flags"}, {"type": "Function", "lineno": 418, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_flags_from_files_and_file_like_objects"}, {"type": "Function", "lineno": 519, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_start_and_end_time"}, {"type": "Function", "lineno": 536, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_timing_quality"}, {"type": "Function", "lineno": 580, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_unpack_steim_1"}, {"type": "Function", "lineno": 593, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_unpack_steim_2"}, {"type": "Function", "lineno": 606, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_time_shifting"}, {"type": "Function", "lineno": 650, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_time_spreading"}, {"type": "Function", "lineno": 675, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_time_shifting_special_case"}, {"type": "Function", "lineno": 713, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_check_flag_value"}, {"type": "Function", "lineno": 872, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_search_flag_in_blockette"}, {"type": "Function", "lineno": 931, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_convert_flags_to_raw_bytes"}, {"type": "Function", "lineno": 996, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_set_flags_in_fixed_header"}, {"type": "Function", "lineno": 1149, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_set_flags_in_fixed_header_with_blockette_100"}, {"type": "Function", "lineno": 1173, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_regression_segfault_when_hooking_up_libmseeds_logging"}, {"type": "Function", "lineno": 1267, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_record_information_with_invalid_word_order"}, {"type": "Function", "lineno": 1297, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_read_fullseed_no_data_record"}], "outcome": "passed"}, {"nodeid": "io/mseed/tests/test_mseed_util.py", "result": [{"type": "Class", "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil"}], "outcome": "passed"}, {"nodeid": "io/mseed/tests/test_recordanalyzer.py", "result": [], "outcome": "passed"}, {"nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser", "result": [{"type": "Function", "lineno": 11, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_default_record"}, {"type": "Function", "lineno": 53, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_second_record"}, {"type": "Function", "lineno": 96, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_record_with_data_offset_zero"}, {"type": "Function", "lineno": 183, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_record_with_negative_sr_fact_and_mult"}, {"type": "Function", "lineno": 229, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_step_cal_blockette"}, {"type": "Function", "lineno": 285, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_sine_cal_blockette"}, {"type": "Function", "lineno": 340, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_random_cal_blockette"}], "outcome": "passed"}, {"nodeid": "io/mseed/tests/test_recordanalyzer.py", "result": [{"type": "Class", "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser"}], "outcome": "passed"}, {"nodeid": "io/mseed/tests", "result": [{"type": "DoctestModule", "nodeid": "io/mseed/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/mseed/tests/data"}, {"type": "DoctestModule", "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py"}, {"type": "Module", "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py"}, {"type": "DoctestModule", "nodeid": "io/mseed/tests/test_mseed_special_issues.py"}, {"type": "Module", "nodeid": "io/mseed/tests/test_mseed_special_issues.py"}, {"type": "DoctestModule", "nodeid": "io/mseed/tests/test_mseed_util.py"}, {"type": "Module", "nodeid": "io/mseed/tests/test_mseed_util.py"}, {"type": "DoctestModule", "nodeid": "io/mseed/tests/test_recordanalyzer.py"}, {"type": "Module", "nodeid": "io/mseed/tests/test_recordanalyzer.py"}], "outcome": "passed"}, {"nodeid": "io/mseed/util.py", "result": [{"type": "DoctestItem", "lineno": 98, "nodeid": "io/mseed/util.py::obspy.io.mseed.util.get_flags"}, {"type": "DoctestItem", "lineno": 504, "nodeid": "io/mseed/util.py::obspy.io.mseed.util.get_record_information"}, {"type": "DoctestItem", "lineno": 27, "nodeid": "io/mseed/util.py::obspy.io.mseed.util.get_start_and_end_time"}], "outcome": "passed"}, {"nodeid": "io/mseed", "result": [{"type": "DoctestModule", "nodeid": "io/mseed/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/mseed/core.py"}, {"type": "DoctestModule", "nodeid": "io/mseed/headers.py"}, {"type": "DoctestModule", "nodeid": "io/mseed/msstruct.py"}, {"type": "Package", "nodeid": "io/mseed/scripts"}, {"type": "Dir", "nodeid": "io/mseed/src"}, {"type": "Package", "nodeid": "io/mseed/tests"}, {"type": "DoctestModule", "nodeid": "io/mseed/util.py"}], "outcome": "passed"}, {"nodeid": "io/ndk/__init__.py", "result": [{"type": "DoctestItem", "lineno": 2, "nodeid": "io/ndk/__init__.py::obspy.io.ndk"}], "outcome": "passed"}, {"nodeid": "io/ndk/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/ndk/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/ndk/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/ndk/tests/test_ndk.py", "result": [], "outcome": "passed"}, {"nodeid": "io/ndk/tests/test_ndk.py::TestNDK", "result": [{"type": "Function", "lineno": 15, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_read_single_ndk"}, {"type": "Function", "lineno": 29, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_read_multiple_events"}, {"type": "Function", "lineno": 65, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_is_ndk"}, {"type": "Function", "lineno": 79, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_using_obspy_plugin"}, {"type": "Function", "lineno": 91, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_from_string_io"}, {"type": "Function", "lineno": 107, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_from_bytes_io"}, {"type": "Function", "lineno": 123, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_from_open_file_in_text_mode"}, {"type": "Function", "lineno": 136, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_from_open_file_in_binary_mode"}, {"type": "Function", "lineno": 149, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_the_same_file_twice_does_not_raise_a_warnings"}, {"type": "Function", "lineno": 175, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_is_ndk_for_file_with_invalid_date"}, {"type": "Function", "lineno": 181, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_is_ndk_for_file_with_invalid_latitude"}, {"type": "Function", "lineno": 187, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_is_ndk_for_file_with_infeasible_latitude"}, {"type": "Function", "lineno": 193, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_file_with_multiple_errors"}, {"type": "Function", "lineno": 214, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_from_string"}, {"type": "Function", "lineno": 231, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_from_bytestring"}, {"type": "Function", "lineno": 248, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_missing_lines"}, {"type": "Function", "lineno": 270, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_reading_event_with_faulty_but_often_occurring_timestamp"}, {"type": "Function", "lineno": 286, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_raise_exception_if_no_events_in_file"}, {"type": "Function", "lineno": 303, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_parse_date_time_function"}], "outcome": "passed"}, {"nodeid": "io/ndk/tests/test_ndk.py", "result": [{"type": "Class", "nodeid": "io/ndk/tests/test_ndk.py::TestNDK"}], "outcome": "passed"}, {"nodeid": "io/ndk/tests", "result": [{"type": "DoctestModule", "nodeid": "io/ndk/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/ndk/tests/data"}, {"type": "DoctestModule", "nodeid": "io/ndk/tests/test_ndk.py"}, {"type": "Module", "nodeid": "io/ndk/tests/test_ndk.py"}], "outcome": "passed"}, {"nodeid": "io/ndk", "result": [{"type": "DoctestModule", "nodeid": "io/ndk/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/ndk/core.py"}, {"type": "Package", "nodeid": "io/ndk/tests"}], "outcome": "passed"}, {"nodeid": "io/nied/__init__.py", "result": [{"type": "DoctestItem", "lineno": 0, "nodeid": "io/nied/__init__.py::obspy.io.nied"}], "outcome": "passed"}, {"nodeid": "io/nied/fnetmt.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nied/knet.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nied/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nied/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/nied/tests/test_fnetmt_reading.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nied/tests/test_fnetmt_reading.py::TestFNETMTCatalogReading", "result": [{"type": "Function", "lineno": 11, "nodeid": "io/nied/tests/test_fnetmt_reading.py::TestFNETMTCatalogReading::test_read_fnetmt_catalog"}, {"type": "Function", "lineno": 19, "nodeid": "io/nied/tests/test_fnetmt_reading.py::TestFNETMTCatalogReading::test_read_fnetmt_catalog_from_open_files"}, {"type": "Function", "lineno": 27, "nodeid": "io/nied/tests/test_fnetmt_reading.py::TestFNETMTCatalogReading::test_read_fnetmt_catalog_from_bytes_io"}, {"type": "Function", "lineno": 39, "nodeid": "io/nied/tests/test_fnetmt_reading.py::TestFNETMTCatalogReading::test_is_fnetmt_catalog"}], "outcome": "passed"}, {"nodeid": "io/nied/tests/test_fnetmt_reading.py", "result": [{"type": "Class", "nodeid": "io/nied/tests/test_fnetmt_reading.py::TestFNETMTCatalogReading"}], "outcome": "passed"}, {"nodeid": "io/nied/tests/test_knet_reading.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nied/tests/test_knet_reading.py::TestKnetReading", "result": [{"type": "Function", "lineno": 13, "nodeid": "io/nied/tests/test_knet_reading.py::TestKnetReading::test_read_knet_ascii"}, {"type": "Function", "lineno": 24, "nodeid": "io/nied/tests/test_knet_reading.py::TestKnetReading::test_read_knet_ascii_from_open_files"}, {"type": "Function", "lineno": 38, "nodeid": "io/nied/tests/test_knet_reading.py::TestKnetReading::test_read_knet_ascii_from_bytes_io"}, {"type": "Function", "lineno": 57, "nodeid": "io/nied/tests/test_knet_reading.py::TestKnetReading::test_station_name_hack"}, {"type": "Function", "lineno": 67, "nodeid": "io/nied/tests/test_knet_reading.py::TestKnetReading::test_is_knet_ascii"}], "outcome": "passed"}, {"nodeid": "io/nied/tests/test_knet_reading.py", "result": [{"type": "Class", "nodeid": "io/nied/tests/test_knet_reading.py::TestKnetReading"}], "outcome": "passed"}, {"nodeid": "io/nied/tests", "result": [{"type": "DoctestModule", "nodeid": "io/nied/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/nied/tests/data"}, {"type": "DoctestModule", "nodeid": "io/nied/tests/test_fnetmt_reading.py"}, {"type": "Module", "nodeid": "io/nied/tests/test_fnetmt_reading.py"}, {"type": "DoctestModule", "nodeid": "io/nied/tests/test_knet_reading.py"}, {"type": "Module", "nodeid": "io/nied/tests/test_knet_reading.py"}], "outcome": "passed"}, {"nodeid": "io/nied/util.py", "result": [{"type": "DoctestItem", "lineno": 2, "nodeid": "io/nied/util.py::obspy.io.nied.util.gen_sc3_id"}], "outcome": "passed"}, {"nodeid": "io/nied", "result": [{"type": "DoctestModule", "nodeid": "io/nied/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/nied/fnetmt.py"}, {"type": "DoctestModule", "nodeid": "io/nied/knet.py"}, {"type": "Package", "nodeid": "io/nied/tests"}, {"type": "DoctestModule", "nodeid": "io/nied/util.py"}], "outcome": "passed"}, {"nodeid": "io/nlloc/__init__.py", "result": [{"type": "DoctestItem", "lineno": 2, "nodeid": "io/nlloc/__init__.py::obspy.io.nlloc"}], "outcome": "passed"}, {"nodeid": "io/nlloc/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nlloc/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nlloc/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/nlloc/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nlloc/tests/test_core.py::TestNLLOC", "result": [{"type": "Function", "lineno": 35, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_write_nlloc_obs"}, {"type": "Function", "lineno": 71, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_hyp"}, {"type": "Function", "lineno": 111, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_hyp_with_builtin_projection"}, {"type": "Function", "lineno": 219, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_hyp_via_plugin"}, {"type": "Function", "lineno": 226, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_with_pick_seed_id_lookup"}, {"type": "Function", "lineno": 258, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_is_nlloc_hyp"}, {"type": "Function", "lineno": 268, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_with_picks"}, {"type": "Function", "lineno": 281, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_with_multiple_events"}, {"type": "Function", "lineno": 300, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_6_beta_signature"}, {"type": "Function", "lineno": 315, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_issue_2222"}, {"type": "Function", "lineno": 342, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_reading_nlloc_v7_hyp_file"}, {"type": "Function", "lineno": 362, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_rejected_origin"}, {"type": "Function", "lineno": 379, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_read_nlloc_doc_resolve_seedid"}], "outcome": "passed"}, {"nodeid": "io/nlloc/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC"}], "outcome": "passed"}, {"nodeid": "io/nlloc/tests/test_util.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nlloc/tests/test_util.py::TestNLLOC", "result": [{"type": "Function", "lineno": 31, "nodeid": "io/nlloc/tests/test_util.py::TestNLLOC::test_read_nlloc_scatter_plain"}, {"type": "Function", "lineno": 42, "nodeid": "io/nlloc/tests/test_util.py::TestNLLOC::test_read_nlloc_scatter_coordinate_conversion"}], "outcome": "passed"}, {"nodeid": "io/nlloc/tests/test_util.py", "result": [{"type": "Class", "nodeid": "io/nlloc/tests/test_util.py::TestNLLOC"}], "outcome": "passed"}, {"nodeid": "io/nlloc/tests", "result": [{"type": "DoctestModule", "nodeid": "io/nlloc/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/nlloc/tests/data"}, {"type": "DoctestModule", "nodeid": "io/nlloc/tests/test_core.py"}, {"type": "Module", "nodeid": "io/nlloc/tests/test_core.py"}, {"type": "DoctestModule", "nodeid": "io/nlloc/tests/test_util.py"}, {"type": "Module", "nodeid": "io/nlloc/tests/test_util.py"}], "outcome": "passed"}, {"nodeid": "io/nlloc/util.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nlloc", "result": [{"type": "DoctestModule", "nodeid": "io/nlloc/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/nlloc/core.py"}, {"type": "Package", "nodeid": "io/nlloc/tests"}, {"type": "DoctestModule", "nodeid": "io/nlloc/util.py"}], "outcome": "passed"}, {"nodeid": "io/nordic/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nordic/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nordic/ellipse.py", "result": [{"type": "DoctestItem", "lineno": 157, "nodeid": "io/nordic/ellipse.py::obspy.io.nordic.ellipse.Ellipse.__repr__"}], "outcome": "passed"}, {"nodeid": "io/nordic/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nordic/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/nordic/tests/test_nordic.py", "result": [], "outcome": "passed"}, {"nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods", "result": [{"type": "Function", "lineno": 35, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_write"}, {"type": "Function", "lineno": 152, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_write_read_quakeml"}, {"type": "Function", "lineno": 175, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_compact_file"}, {"type": "Function", "lineno": 186, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_fail_writing"}, {"type": "Function", "lineno": 260, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_blanksfile"}, {"type": "Function", "lineno": 296, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_write_empty"}, {"type": "Function", "lineno": 315, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_empty_header"}, {"type": "Function", "lineno": 329, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_extra_header"}, {"type": "Function", "lineno": 347, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_header_mapping"}, {"type": "Function", "lineno": 360, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_missing_header"}, {"type": "Function", "lineno": 368, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_reading_string_io"}, {"type": "Function", "lineno": 383, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_reading_bytes_io"}, {"type": "Function", "lineno": 398, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_corrupt_header"}, {"type": "Function", "lineno": 410, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_multi_writing"}, {"type": "Function", "lineno": 426, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_mag_conv"}, {"type": "Function", "lineno": 437, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_str_conv"}, {"type": "Function", "lineno": 451, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_wavename"}, {"type": "Function", "lineno": 483, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_event"}, {"type": "Function", "lineno": 495, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_event_new"}, {"type": "Function", "lineno": 508, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_latin1"}, {"type": "Function", "lineno": 529, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_many_events"}, {"type": "Function", "lineno": 537, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_write_select"}, {"type": "Function", "lineno": 552, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_write_select_new"}, {"type": "Function", "lineno": 567, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_write_plugin"}, {"type": "Function", "lineno": 583, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_more_than_three_mags"}, {"type": "Function", "lineno": 602, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_inaccurate_picks"}, {"type": "Function", "lineno": 612, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_round_len"}, {"type": "Function", "lineno": 622, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_moment"}, {"type": "Function", "lineno": 635, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_moment_info"}, {"type": "Function", "lineno": 660, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_is_sfile"}, {"type": "Function", "lineno": 672, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_picks_across_day_end"}, {"type": "Function", "lineno": 699, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_distance_conversion"}, {"type": "Function", "lineno": 717, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_large_negative_longitude"}, {"type": "Function", "lineno": 730, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_write_preferred_origin"}, {"type": "Function", "lineno": 751, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_high_precision_pick"}, {"type": "Function", "lineno": 773, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_high_precision_read_write"}, {"type": "Function", "lineno": 818, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_long_phase_name"}, {"type": "Function", "lineno": 839, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_write_over_day"}, {"type": "Function", "lineno": 858, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_seconds_overflow"}, {"type": "Function", "lineno": 885, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_bad_covariance"}, {"type": "Function", "lineno": 894, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_high_accuracy"}, {"type": "Function", "lineno": 913, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_from__to_uncerts"}, {"type": "Function", "lineno": 947, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_from_to_cov"}, {"type": "Function", "lineno": 970, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_from_uncerts_baz"}, {"type": "Function", "lineno": 997, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_is_inside"}, {"type": "Function", "lineno": 1013, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_is_on"}, {"type": "Function", "lineno": 1029, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_subtended_angle"}, {"type": "Function", "lineno": 1040, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_plot_1"}, {"type": "Function", "lineno": 1052, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_plot_2"}, {"type": "Function", "lineno": 1063, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_plot_tangents_1"}, {"type": "Function", "lineno": 1083, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_plot_tangents_2"}, {"type": "Function", "lineno": 1105, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_plot_tangents_3"}, {"type": "Function", "lineno": 1127, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_uncert_ellipse"}, {"type": "Function", "lineno": 1143, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_resolve_seedid"}, {"type": "Function", "lineno": 1156, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_resolve_seedid_new_format"}], "outcome": "passed"}, {"nodeid": "io/nordic/tests/test_nordic.py", "result": [{"type": "Class", "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods"}], "outcome": "passed"}, {"nodeid": "io/nordic/tests", "result": [{"type": "DoctestModule", "nodeid": "io/nordic/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/nordic/tests/data"}, {"type": "DoctestModule", "nodeid": "io/nordic/tests/test_nordic.py"}, {"type": "Module", "nodeid": "io/nordic/tests/test_nordic.py"}], "outcome": "passed"}, {"nodeid": "io/nordic/utils.py", "result": [{"type": "DoctestItem", "lineno": 189, "nodeid": "io/nordic/utils.py::obspy.io.nordic.utils._evmagtonor"}, {"type": "DoctestItem", "lineno": 106, "nodeid": "io/nordic/utils.py::obspy.io.nordic.utils._float_conv"}, {"type": "DoctestItem", "lineno": 88, "nodeid": "io/nordic/utils.py::obspy.io.nordic.utils._int_conv"}, {"type": "DoctestItem", "lineno": 210, "nodeid": "io/nordic/utils.py::obspy.io.nordic.utils._nortoevmag"}, {"type": "DoctestItem", "lineno": 125, "nodeid": "io/nordic/utils.py::obspy.io.nordic.utils._str_conv"}], "outcome": "passed"}, {"nodeid": "io/nordic", "result": [{"type": "DoctestModule", "nodeid": "io/nordic/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/nordic/core.py"}, {"type": "DoctestModule", "nodeid": "io/nordic/ellipse.py"}, {"type": "Package", "nodeid": "io/nordic/tests"}, {"type": "DoctestModule", "nodeid": "io/nordic/utils.py"}], "outcome": "passed"}, {"nodeid": "io/pdas/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/pdas/core.py", "result": [{"type": "DoctestItem", "lineno": 41, "nodeid": "io/pdas/core.py::obspy.io.pdas.core._read_pdas"}], "outcome": "passed"}, {"nodeid": "io/pdas/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/pdas/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/pdas/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/pdas/tests/test_core.py::TestPDAS", "result": [{"type": "Function", "lineno": 11, "nodeid": "io/pdas/tests/test_core.py::TestPDAS::test_read_pdas"}, {"type": "Function", "lineno": 43, "nodeid": "io/pdas/tests/test_core.py::TestPDAS::test_is_pdas"}], "outcome": "passed"}, {"nodeid": "io/pdas/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/pdas/tests/test_core.py::TestPDAS"}], "outcome": "passed"}, {"nodeid": "io/pdas/tests", "result": [{"type": "DoctestModule", "nodeid": "io/pdas/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/pdas/tests/data"}, {"type": "DoctestModule", "nodeid": "io/pdas/tests/test_core.py"}, {"type": "Module", "nodeid": "io/pdas/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/pdas", "result": [{"type": "DoctestModule", "nodeid": "io/pdas/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/pdas/core.py"}, {"type": "Package", "nodeid": "io/pdas/tests"}], "outcome": "passed"}, {"nodeid": "io/pde/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/pde/mchedr.py", "result": [{"type": "DoctestItem", "lineno": 40, "nodeid": "io/pde/mchedr.py::obspy.io.pde.mchedr._is_mchedr"}, {"type": "DoctestItem", "lineno": 1062, "nodeid": "io/pde/mchedr.py::obspy.io.pde.mchedr._read_mchedr"}], "outcome": "passed"}, {"nodeid": "io/pde/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/pde/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/pde/tests/test_mchedr.py", "result": [], "outcome": "passed"}, {"nodeid": "io/pde/tests/test_mchedr.py::TestMchedr", "result": [{"type": "Function", "lineno": 31, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_catalog"}, {"type": "Function", "lineno": 37, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_event"}, {"type": "Function", "lineno": 66, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_origin"}, {"type": "Function", "lineno": 134, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_magnitude"}, {"type": "Function", "lineno": 158, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_stationmagnitude"}, {"type": "Function", "lineno": 170, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_amplitude"}, {"type": "Function", "lineno": 183, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_arrival"}, {"type": "Function", "lineno": 204, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_pick"}, {"type": "Function", "lineno": 221, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_focalmechanism"}, {"type": "Function", "lineno": 283, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_write_quakeml"}, {"type": "Function", "lineno": 297, "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr::test_read_events"}], "outcome": "passed"}, {"nodeid": "io/pde/tests/test_mchedr.py", "result": [{"type": "Class", "nodeid": "io/pde/tests/test_mchedr.py::TestMchedr"}], "outcome": "passed"}, {"nodeid": "io/pde/tests", "result": [{"type": "DoctestModule", "nodeid": "io/pde/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/pde/tests/data"}, {"type": "DoctestModule", "nodeid": "io/pde/tests/test_mchedr.py"}, {"type": "Module", "nodeid": "io/pde/tests/test_mchedr.py"}], "outcome": "passed"}, {"nodeid": "io/pde", "result": [{"type": "DoctestModule", "nodeid": "io/pde/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/pde/mchedr.py"}, {"type": "Package", "nodeid": "io/pde/tests"}], "outcome": "passed"}, {"nodeid": "io/quakeml/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/quakeml/core.py", "result": [{"type": "DoctestItem", "lineno": 1294, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Pickler._magnitude"}, {"type": "DoctestItem", "lineno": 1369, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Pickler._origin"}, {"type": "DoctestItem", "lineno": 1333, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Pickler._station_magnitude"}, {"type": "DoctestItem", "lineno": 858, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Unpickler._focal_mechanism"}, {"type": "DoctestItem", "lineno": 592, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Unpickler._magnitude"}, {"type": "DoctestItem", "lineno": 543, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Unpickler._origin"}, {"type": "DoctestItem", "lineno": 631, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core.Unpickler._station_magnitude"}, {"type": "DoctestItem", "lineno": 84, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core._is_quakeml"}, {"type": "DoctestItem", "lineno": 1810, "nodeid": "io/quakeml/core.py::obspy.io.quakeml.core._read_quakeml"}], "outcome": "passed"}, {"nodeid": "io/quakeml/data", "result": [], "outcome": "passed"}, {"nodeid": "io/quakeml/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/quakeml/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/quakeml/tests/test_quakeml.py", "result": [], "outcome": "passed"}, {"nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML", "result": [{"type": "Function", "lineno": 48, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_read_quakeml"}, {"type": "Function", "lineno": 73, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_usgs_eventype"}, {"type": "Function", "lineno": 84, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_event"}, {"type": "Function", "lineno": 133, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_origin"}, {"type": "Function", "lineno": 231, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_magnitude"}, {"type": "Function", "lineno": 274, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_station_magnitude_contribution"}, {"type": "Function", "lineno": 306, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_station_magnitude"}, {"type": "Function", "lineno": 340, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_data_used_in_moment_tensor"}, {"type": "Function", "lineno": 381, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_arrival"}, {"type": "Function", "lineno": 416, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_pick"}, {"type": "Function", "lineno": 451, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_focalmechanism"}, {"type": "Function", "lineno": 536, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_write_quakeml"}, {"type": "Function", "lineno": 555, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_read_events"}, {"type": "Function", "lineno": 573, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_enums"}, {"type": "Function", "lineno": 638, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_read_string"}, {"type": "Function", "lineno": 649, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_preferred_tags"}, {"type": "Function", "lineno": 676, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_creating_minimal_quakeml_with_mt"}, {"type": "Function", "lineno": 748, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_read_equivalence"}, {"type": "Function", "lineno": 759, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_reading_twice_raises_no_warning"}, {"type": "Function", "lineno": 777, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_read_amplitude_time_window"}, {"type": "Function", "lineno": 799, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_write_amplitude_time_window"}, {"type": "Function", "lineno": 839, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_write_with_extra_tags_and_read"}, {"type": "Function", "lineno": 954, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_read_same_file_twice_to_same_variable"}, {"type": "Function", "lineno": 996, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_focal_mechanism_write_read"}, {"type": "Function", "lineno": 1015, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_avoid_empty_stub_elements"}, {"type": "Function", "lineno": 1052, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_writing_invalid_quakeml_id"}, {"type": "Function", "lineno": 1075, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_reading_invalid_enums"}, {"type": "Function", "lineno": 1093, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_issue_2339"}, {"type": "Function", "lineno": 1115, "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML::test_native_namespace_in_extra"}], "outcome": "passed"}, {"nodeid": "io/quakeml/tests/test_quakeml.py", "result": [{"type": "Class", "nodeid": "io/quakeml/tests/test_quakeml.py::TestQuakeML"}], "outcome": "passed"}, {"nodeid": "io/quakeml/tests", "result": [{"type": "DoctestModule", "nodeid": "io/quakeml/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/quakeml/tests/data"}, {"type": "DoctestModule", "nodeid": "io/quakeml/tests/test_quakeml.py"}, {"type": "Module", "nodeid": "io/quakeml/tests/test_quakeml.py"}], "outcome": "passed"}, {"nodeid": "io/quakeml", "result": [{"type": "DoctestModule", "nodeid": "io/quakeml/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/quakeml/core.py"}, {"type": "Dir", "nodeid": "io/quakeml/data"}, {"type": "Package", "nodeid": "io/quakeml/tests"}], "outcome": "passed"}, {"nodeid": "io/reftek/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/reftek/__init__.py::obspy.io.reftek"}], "outcome": "passed"}, {"nodeid": "io/reftek/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/reftek/packet.py", "result": [], "outcome": "passed"}, {"nodeid": "io/reftek/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/reftek/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/reftek/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/reftek/tests/test_core.py::TestReftek", "result": [{"type": "Function", "lineno": 121, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_read_reftek130_steim1"}, {"type": "Function", "lineno": 135, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_read_reftek130_steim2"}, {"type": "Function", "lineno": 162, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_read_reftek130_no_component_codes_specified"}, {"type": "Function", "lineno": 190, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_is_reftek130"}, {"type": "Function", "lineno": 198, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_integration_with_obspy_core"}, {"type": "Function", "lineno": 207, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_error_no_packets_read"}, {"type": "Function", "lineno": 220, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_warning_disturbed_packet_sequence"}, {"type": "Function", "lineno": 241, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_read_file_perturbed_packet_sequence"}, {"type": "Function", "lineno": 276, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_drop_not_implemented_packets"}, {"type": "Function", "lineno": 316, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_missing_event_trailer_packet"}, {"type": "Function", "lineno": 340, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_truncated_last_packet"}, {"type": "Function", "lineno": 373, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_no_eh_et_packet"}, {"type": "Function", "lineno": 394, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_data_unpacking_steim1"}, {"type": "Function", "lineno": 406, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_data_unpacking_steim2"}, {"type": "Function", "lineno": 418, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_string_representations"}, {"type": "Function", "lineno": 493, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_reading_packet_with_vpu_float_string"}, {"type": "Function", "lineno": 515, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_reading_file_with_multiple_events"}, {"type": "Function", "lineno": 537, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_reading_file_with_no_data_in_channel_zero"}, {"type": "Function", "lineno": 560, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_reading_file_with_encoding_32"}, {"type": "Function", "lineno": 577, "nodeid": "io/reftek/tests/test_core.py::TestReftek::test_reading_file_with_encoding_16"}], "outcome": "passed"}, {"nodeid": "io/reftek/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/reftek/tests/test_core.py::TestReftek"}], "outcome": "passed"}, {"nodeid": "io/reftek/tests", "result": [{"type": "DoctestModule", "nodeid": "io/reftek/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/reftek/tests/data"}, {"type": "DoctestModule", "nodeid": "io/reftek/tests/test_core.py"}, {"type": "Module", "nodeid": "io/reftek/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/reftek/util.py", "result": [], "outcome": "passed"}, {"nodeid": "io/reftek", "result": [{"type": "DoctestModule", "nodeid": "io/reftek/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/reftek/core.py"}, {"type": "DoctestModule", "nodeid": "io/reftek/packet.py"}, {"type": "Package", "nodeid": "io/reftek/tests"}, {"type": "DoctestModule", "nodeid": "io/reftek/util.py"}], "outcome": "passed"}, {"nodeid": "io/rg16/__init__.py", "result": [{"type": "DoctestItem", "lineno": 0, "nodeid": "io/rg16/__init__.py::obspy.io.rg16"}], "outcome": "passed"}, {"nodeid": "io/rg16/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/rg16/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/rg16/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/rg16/tests/test_read_rg16.py", "result": [], "outcome": "passed"}, {"nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16", "result": [{"type": "Function", "lineno": 24, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_reading_rg16_files"}, {"type": "Function", "lineno": 43, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_rg16_files_identified"}, {"type": "Function", "lineno": 52, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_empty_buffer"}, {"type": "Function", "lineno": 59, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_headonly_option"}, {"type": "Function", "lineno": 68, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_starttime_endtime_option"}, {"type": "Function", "lineno": 86, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_intrablock_starttime_endtime"}, {"type": "Function", "lineno": 104, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_merge"}, {"type": "Function", "lineno": 115, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_contacts_north_and_merge"}, {"type": "Function", "lineno": 124, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_make_stats"}], "outcome": "passed"}, {"nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers", "result": [{"type": "Function", "lineno": 154, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_cmp_nbr_headers"}, {"type": "Function", "lineno": 165, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_cmp_nbr_records"}, {"type": "Function", "lineno": 176, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_cmp_jump"}, {"type": "Function", "lineno": 184, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header"}, {"type": "Function", "lineno": 193, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_1"}, {"type": "Function", "lineno": 204, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_2"}, {"type": "Function", "lineno": 221, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_3"}, {"type": "Function", "lineno": 233, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_4"}, {"type": "Function", "lineno": 251, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_5"}, {"type": "Function", "lineno": 266, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_6"}, {"type": "Function", "lineno": 281, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_7"}, {"type": "Function", "lineno": 296, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_8"}, {"type": "Function", "lineno": 312, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_9"}, {"type": "Function", "lineno": 333, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_10"}, {"type": "Function", "lineno": 344, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_make_trace"}, {"type": "Function", "lineno": 365, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_can_write"}, {"type": "Function", "lineno": 379, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_general_header_1"}, {"type": "Function", "lineno": 401, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_general_header_2"}, {"type": "Function", "lineno": 415, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_channel_sets"}, {"type": "Function", "lineno": 423, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_channel_set"}, {"type": "Function", "lineno": 452, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_extended_header_1"}, {"type": "Function", "lineno": 466, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_extended_header_2"}, {"type": "Function", "lineno": 486, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_extended_header_3"}, {"type": "Function", "lineno": 502, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_bad_alias_filter"}, {"type": "Function", "lineno": 512, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_3_channel_header"}], "outcome": "passed"}, {"nodeid": "io/rg16/tests/test_read_rg16.py", "result": [{"type": "Class", "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16"}, {"type": "Class", "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers"}], "outcome": "passed"}, {"nodeid": "io/rg16/tests/test_util.py", "result": [], "outcome": "passed"}, {"nodeid": "io/rg16/tests/test_util.py::TestRG16Util", "result": [{"type": "Function", "lineno": 17, "nodeid": "io/rg16/tests/test_util.py::TestRG16Util::test_read_bcd"}, {"type": "Function", "lineno": 30, "nodeid": "io/rg16/tests/test_util.py::TestRG16Util::test_read_binary"}, {"type": "Function", "lineno": 44, "nodeid": "io/rg16/tests/test_util.py::TestRG16Util::test_read"}], "outcome": "passed"}, {"nodeid": "io/rg16/tests/test_util.py", "result": [{"type": "Class", "nodeid": "io/rg16/tests/test_util.py::TestRG16Util"}], "outcome": "passed"}, {"nodeid": "io/rg16/tests", "result": [{"type": "DoctestModule", "nodeid": "io/rg16/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/rg16/tests/data"}, {"type": "DoctestModule", "nodeid": "io/rg16/tests/test_read_rg16.py"}, {"type": "Module", "nodeid": "io/rg16/tests/test_read_rg16.py"}, {"type": "DoctestModule", "nodeid": "io/rg16/tests/test_util.py"}, {"type": "Module", "nodeid": "io/rg16/tests/test_util.py"}], "outcome": "passed"}, {"nodeid": "io/rg16/util.py", "result": [], "outcome": "passed"}, {"nodeid": "io/rg16", "result": [{"type": "DoctestModule", "nodeid": "io/rg16/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/rg16/core.py"}, {"type": "Package", "nodeid": "io/rg16/tests"}, {"type": "DoctestModule", "nodeid": "io/rg16/util.py"}], "outcome": "passed"}, {"nodeid": "io/sac/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/sac/__init__.py::obspy.io.sac"}], "outcome": "passed"}, {"nodeid": "io/sac/arrayio.py", "result": [], "outcome": "passed"}, {"nodeid": "io/sac/core.py", "result": [{"type": "DoctestItem", "lineno": 215, "nodeid": "io/sac/core.py::obspy.io.sac.core._internal_read_sac_xy"}, {"type": "DoctestItem", "lineno": 21, "nodeid": "io/sac/core.py::obspy.io.sac.core._is_sac"}, {"type": "DoctestItem", "lineno": 114, "nodeid": "io/sac/core.py::obspy.io.sac.core._is_sac_xy"}, {"type": "DoctestItem", "lineno": 319, "nodeid": "io/sac/core.py::obspy.io.sac.core._read_sac"}, {"type": "DoctestItem", "lineno": 170, "nodeid": "io/sac/core.py::obspy.io.sac.core._read_sac_xy"}, {"type": "DoctestItem", "lineno": 423, "nodeid": "io/sac/core.py::obspy.io.sac.core._write_sac"}, {"type": "DoctestItem", "lineno": 255, "nodeid": "io/sac/core.py::obspy.io.sac.core._write_sac_xy"}], "outcome": "passed"}, {"nodeid": "io/sac/header.py", "result": [], "outcome": "passed"}, {"nodeid": "io/sac/sacpz.py", "result": [{"type": "DoctestItem", "lineno": 122, "nodeid": "io/sac/sacpz.py::obspy.io.sac.sacpz.attach_paz"}, {"type": "DoctestItem", "lineno": 295, "nodeid": "io/sac/sacpz.py::obspy.io.sac.sacpz.attach_resp"}], "outcome": "passed"}, {"nodeid": "io/sac/sactrace.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace"}, {"type": "DoctestItem", "lineno": 827, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace.__init__"}, {"type": "DoctestItem", "lineno": 1506, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace._allt"}, {"type": "DoctestItem", "lineno": 1145, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace._from_arrays"}, {"type": "DoctestItem", "lineno": 1419, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace.listhdr"}, {"type": "DoctestItem", "lineno": 1032, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace.read"}, {"type": "DoctestItem", "lineno": 1251, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace.to_obspy_trace"}, {"type": "DoctestItem", "lineno": 1310, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace.validate"}], "outcome": "passed"}, {"nodeid": "io/sac/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/sac/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/sac/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/sac/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 39, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_via_obspy"}, {"type": "Function", "lineno": 54, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_write_via_obspy"}, {"type": "Function", "lineno": 72, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_xy_write_xy_via_obspy"}, {"type": "Function", "lineno": 87, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_write_xy_via_obspy"}, {"type": "Function", "lineno": 106, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_big_endian_via_obspy"}, {"type": "Function", "lineno": 121, "nodeid": "io/sac/tests/test_core.py::TestCore::test_swap_bytes_via_obspy"}, {"type": "Function", "lineno": 147, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_head_via_obspy"}, {"type": "Function", "lineno": 161, "nodeid": "io/sac/tests/test_core.py::TestCore::test_write_via_obspy"}, {"type": "Function", "lineno": 172, "nodeid": "io/sac/tests/test_core.py::TestCore::test_set_version"}, {"type": "Function", "lineno": 184, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_and_write_via_obspy"}, {"type": "Function", "lineno": 210, "nodeid": "io/sac/tests/test_core.py::TestCore::test_convert_to_sac"}, {"type": "Function", "lineno": 245, "nodeid": "io/sac/tests/test_core.py::TestCore::test_iztype11"}, {"type": "Function", "lineno": 264, "nodeid": "io/sac/tests/test_core.py::TestCore::test_default_values"}, {"type": "Function", "lineno": 270, "nodeid": "io/sac/tests/test_core.py::TestCore::test_reference_time"}, {"type": "Function", "lineno": 297, "nodeid": "io/sac/tests/test_core.py::TestCore::test_undefined_b"}, {"type": "Function", "lineno": 324, "nodeid": "io/sac/tests/test_core.py::TestCore::test_issue_156"}, {"type": "Function", "lineno": 349, "nodeid": "io/sac/tests/test_core.py::TestCore::test_write_sac_xy_with_minimum_stats"}, {"type": "Function", "lineno": 363, "nodeid": "io/sac/tests/test_core.py::TestCore::test_not_used_but_given_headers"}, {"type": "Function", "lineno": 380, "nodeid": "io/sac/tests/test_core.py::TestCore::test_writing_micro_seconds"}, {"type": "Function", "lineno": 400, "nodeid": "io/sac/tests/test_core.py::TestCore::test_null_terminated_strings"}, {"type": "Function", "lineno": 411, "nodeid": "io/sac/tests/test_core.py::TestCore::test_write_small_trace"}, {"type": "Function", "lineno": 426, "nodeid": "io/sac/tests/test_core.py::TestCore::test_issue390"}, {"type": "Function", "lineno": 459, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_with_fsize"}, {"type": "Function", "lineno": 497, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_sac_from_bytes_io"}, {"type": "Function", "lineno": 515, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_sac_from_open_file"}, {"type": "Function", "lineno": 528, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_write_bytes_io"}, {"type": "Function", "lineno": 547, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_write_open_file"}, {"type": "Function", "lineno": 563, "nodeid": "io/sac/tests/test_core.py::TestCore::test_writing_to_obj_with_multiple_traces_fails"}, {"type": "Function", "lineno": 573, "nodeid": "io/sac/tests/test_core.py::TestCore::test_writing_to_io_string_io_fails"}, {"type": "Function", "lineno": 582, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_via_obspy_from_bytes_io"}, {"type": "Function", "lineno": 600, "nodeid": "io/sac/tests/test_core.py::TestCore::test_write_via_obspy_to_bytes_io"}, {"type": "Function", "lineno": 617, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_xy_write_xy_from_bytes_io"}, {"type": "Function", "lineno": 635, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_xy_write_xy_from_open_file_binary_mode"}, {"type": "Function", "lineno": 652, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sac_bytes_io"}, {"type": "Function", "lineno": 671, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sac_string_io_raises"}, {"type": "Function", "lineno": 681, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sac_open_file"}, {"type": "Function", "lineno": 688, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sacxy_bytes_io"}, {"type": "Function", "lineno": 707, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sacxy_string_io_raises"}, {"type": "Function", "lineno": 720, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sacxy_open_file_binary_mode"}, {"type": "Function", "lineno": 730, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sacxy_open_file_text_mode_fails"}, {"type": "Function", "lineno": 738, "nodeid": "io/sac/tests/test_core.py::TestCore::test_writing_to_file_like_objects_with_obspy"}, {"type": "Function", "lineno": 762, "nodeid": "io/sac/tests/test_core.py::TestCore::test_valid_sac_from_minimal_existing_sac_header"}, {"type": "Function", "lineno": 809, "nodeid": "io/sac/tests/test_core.py::TestCore::test_merge_sac_obspy_headers"}, {"type": "Function", "lineno": 827, "nodeid": "io/sac/tests/test_core.py::TestCore::test_decimate_resample"}, {"type": "Function", "lineno": 841, "nodeid": "io/sac/tests/test_core.py::TestCore::test_invalid_header_field"}, {"type": "Function", "lineno": 864, "nodeid": "io/sac/tests/test_core.py::TestCore::test_not_ascii"}, {"type": "Function", "lineno": 874, "nodeid": "io/sac/tests/test_core.py::TestCore::test_sac_booleans_from_trace"}, {"type": "Function", "lineno": 884, "nodeid": "io/sac/tests/test_core.py::TestCore::test_sac_file_from_new_header"}, {"type": "Function", "lineno": 901, "nodeid": "io/sac/tests/test_core.py::TestCore::test_always_sac_reftime"}, {"type": "Function", "lineno": 924, "nodeid": "io/sac/tests/test_core.py::TestCore::test_wrong_encoding"}, {"type": "Function", "lineno": 931, "nodeid": "io/sac/tests/test_core.py::TestCore::test_encoding_flag"}, {"type": "Function", "lineno": 938, "nodeid": "io/sac/tests/test_core.py::TestCore::test_write_keep_sac_header_false"}, {"type": "Function", "lineno": 1024, "nodeid": "io/sac/tests/test_core.py::TestCore::test_sampling_rate_float_issue"}], "outcome": "passed"}, {"nodeid": "io/sac/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/sac/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/sac/tests/test_sacpz.py", "result": [], "outcome": "passed"}, {"nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ", "result": [{"type": "Function", "lineno": 42, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_write_sacpz_single_channel"}, {"type": "Function", "lineno": 60, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_write_sacpz_multiple_channels"}, {"type": "Function", "lineno": 78, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_write_sacpz_soh"}, {"type": "Function", "lineno": 94, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_write_sacpz_no_sensor[None]"}, {"type": "Function", "lineno": 94, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_write_sacpz_no_sensor[sensor1]"}, {"type": "Function", "lineno": 110, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_attach_paz"}, {"type": "Function", "lineno": 127, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_attach_paz_diff_order"}, {"type": "Function", "lineno": 136, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_sacpaz_from_dataless"}, {"type": "Function", "lineno": 158, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_sacpaz_from_resp"}, {"type": "Function", "lineno": 216, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_writing_sacpz_hertz_to_radians"}], "outcome": "passed"}, {"nodeid": "io/sac/tests/test_sacpz.py", "result": [{"type": "Class", "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ"}], "outcome": "passed"}, {"nodeid": "io/sac/tests/test_sactrace.py", "result": [], "outcome": "passed"}, {"nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace", "result": [{"type": "Function", "lineno": 34, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_read_binary"}, {"type": "Function", "lineno": 50, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_read_binary_headonly"}, {"type": "Function", "lineno": 61, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_read_sac_byteorder"}, {"type": "Function", "lineno": 80, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_write_sac"}, {"type": "Function", "lineno": 93, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_write_binary_headonly"}, {"type": "Function", "lineno": 125, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_read_sac_ascii"}, {"type": "Function", "lineno": 140, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_reftime"}, {"type": "Function", "lineno": 156, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_reftime_relative_times"}, {"type": "Function", "lineno": 175, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_lcalda"}, {"type": "Function", "lineno": 211, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_propagate_modified_stats_strings_to_sactrace"}, {"type": "Function", "lineno": 227, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_reftime_incomplete"}, {"type": "Function", "lineno": 246, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_floatheader"}, {"type": "Function", "lineno": 276, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_relative_time_headers"}, {"type": "Function", "lineno": 295, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_int_headers"}, {"type": "Function", "lineno": 320, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_bool_headers"}, {"type": "Function", "lineno": 332, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_enumheader"}, {"type": "Function", "lineno": 351, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_string_headers"}, {"type": "Function", "lineno": 385, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_kevnm"}, {"type": "Function", "lineno": 402, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_data_headers"}, {"type": "Function", "lineno": 430, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_char_header_padding"}], "outcome": "passed"}, {"nodeid": "io/sac/tests/test_sactrace.py", "result": [{"type": "Class", "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace"}], "outcome": "passed"}, {"nodeid": "io/sac/tests", "result": [{"type": "DoctestModule", "nodeid": "io/sac/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/sac/tests/data"}, {"type": "DoctestModule", "nodeid": "io/sac/tests/test_core.py"}, {"type": "Module", "nodeid": "io/sac/tests/test_core.py"}, {"type": "DoctestModule", "nodeid": "io/sac/tests/test_sacpz.py"}, {"type": "Module", "nodeid": "io/sac/tests/test_sacpz.py"}, {"type": "DoctestModule", "nodeid": "io/sac/tests/test_sactrace.py"}, {"type": "Module", "nodeid": "io/sac/tests/test_sactrace.py"}], "outcome": "passed"}, {"nodeid": "io/sac/util.py", "result": [], "outcome": "passed"}, {"nodeid": "io/sac", "result": [{"type": "DoctestModule", "nodeid": "io/sac/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/sac/arrayio.py"}, {"type": "DoctestModule", "nodeid": "io/sac/core.py"}, {"type": "DoctestModule", "nodeid": "io/sac/header.py"}, {"type": "DoctestModule", "nodeid": "io/sac/sacpz.py"}, {"type": "DoctestModule", "nodeid": "io/sac/sactrace.py"}, {"type": "Package", "nodeid": "io/sac/tests"}, {"type": "DoctestModule", "nodeid": "io/sac/util.py"}], "outcome": "passed"}, {"nodeid": "io/scardec/__init__.py", "result": [{"type": "DoctestItem", "lineno": 2, "nodeid": "io/scardec/__init__.py::obspy.io.scardec"}], "outcome": "passed"}, {"nodeid": "io/scardec/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/scardec/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/scardec/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/scardec/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/scardec/tests/test_core.py::TestScardec", "result": [{"type": "Function", "lineno": 19, "nodeid": "io/scardec/tests/test_core.py::TestScardec::test_read_and_write_scardec_from_files"}, {"type": "Function", "lineno": 71, "nodeid": "io/scardec/tests/test_core.py::TestScardec::test_read_and_write_scardec_from_open_files"}, {"type": "Function", "lineno": 112, "nodeid": "io/scardec/tests/test_core.py::TestScardec::test_read_and_write_scardec_from_bytes_io"}, {"type": "Function", "lineno": 158, "nodeid": "io/scardec/tests/test_core.py::TestScardec::test_is_scardec"}], "outcome": "passed"}, {"nodeid": "io/scardec/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/scardec/tests/test_core.py::TestScardec"}], "outcome": "passed"}, {"nodeid": "io/scardec/tests", "result": [{"type": "DoctestModule", "nodeid": "io/scardec/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/scardec/tests/data"}, {"type": "DoctestModule", "nodeid": "io/scardec/tests/test_core.py"}, {"type": "Module", "nodeid": "io/scardec/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/scardec", "result": [{"type": "DoctestModule", "nodeid": "io/scardec/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/scardec/core.py"}, {"type": "Package", "nodeid": "io/scardec/tests"}], "outcome": "passed"}, {"nodeid": "io/seg2/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/seg2/header.py", "result": [], "outcome": "passed"}, {"nodeid": "io/seg2/seg2.py", "result": [], "outcome": "passed"}, {"nodeid": "io/seg2/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/seg2/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/seg2/tests/test_seg2.py", "result": [], "outcome": "passed"}, {"nodeid": "io/seg2/tests/test_seg2.py::TestSEG2", "result": [{"type": "Function", "lineno": 82, "nodeid": "io/seg2/tests/test_seg2.py::TestSEG2::test_read_data_format_2"}, {"type": "Function", "lineno": 105, "nodeid": "io/seg2/tests/test_seg2.py::TestSEG2::test_read_data_format_3"}], "outcome": "passed"}, {"nodeid": "io/seg2/tests/test_seg2.py", "result": [{"type": "Class", "nodeid": "io/seg2/tests/test_seg2.py::TestSEG2"}], "outcome": "passed"}, {"nodeid": "io/seg2/tests", "result": [{"type": "DoctestModule", "nodeid": "io/seg2/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/seg2/tests/data"}, {"type": "DoctestModule", "nodeid": "io/seg2/tests/test_seg2.py"}, {"type": "Module", "nodeid": "io/seg2/tests/test_seg2.py"}], "outcome": "passed"}, {"nodeid": "io/seg2", "result": [{"type": "DoctestModule", "nodeid": "io/seg2/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/seg2/header.py"}, {"type": "DoctestModule", "nodeid": "io/seg2/seg2.py"}, {"type": "Package", "nodeid": "io/seg2/tests"}], "outcome": "passed"}, {"nodeid": "io/segy/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/segy/__init__.py::obspy.io.segy"}], "outcome": "passed"}, {"nodeid": "io/segy/core.py", "result": [{"type": "DoctestItem", "lineno": 131, "nodeid": "io/segy/core.py::obspy.io.segy.core._read_segy"}, {"type": "DoctestItem", "lineno": 425, "nodeid": "io/segy/core.py::obspy.io.segy.core._read_su"}], "outcome": "passed"}, {"nodeid": "io/segy/header.py", "result": [], "outcome": "passed"}, {"nodeid": "io/segy/pack.py", "result": [], "outcome": "passed"}, {"nodeid": "io/segy/segy.py", "result": [{"type": "DoctestItem", "lineno": 986, "nodeid": "io/segy/segy.py::obspy.io.segy.segy.iread_segy"}, {"type": "DoctestItem", "lineno": 1072, "nodeid": "io/segy/segy.py::obspy.io.segy.segy.iread_su"}], "outcome": "passed"}, {"nodeid": "io/segy/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/segy/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/segy/tests/header.py", "result": [], "outcome": "passed"}, {"nodeid": "io/segy/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/segy/tests/test_core.py::TestSEGYCore", "result": [{"type": "Function", "lineno": 29, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_is_segy_file"}, {"type": "Function", "lineno": 44, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_is_su_file"}, {"type": "Function", "lineno": 62, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_read_head_only"}, {"type": "Function", "lineno": 77, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_enforcing_textual_header_encoding_while_reading"}, {"type": "Function", "lineno": 99, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_enforcing_endianness_while_writing"}, {"type": "Function", "lineno": 122, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_setting_data_encoding_works"}, {"type": "Function", "lineno": 148, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_reading_and_writing_different_data_encodings"}, {"type": "Function", "lineno": 177, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_not_matching_data_encoding_and_dtype_raises"}, {"type": "Function", "lineno": 195, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_invalid_data_encoding_raises"}, {"type": "Function", "lineno": 208, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_enforcing_textual_header_encoding_while_writing"}, {"type": "Function", "lineno": 255, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_enforcing_endianness_while_reading"}, {"type": "Function", "lineno": 276, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_reading_using_core"}, {"type": "Function", "lineno": 314, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_using_core"}, {"type": "Function", "lineno": 344, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_invalid_values_for_textual_header_encoding"}, {"type": "Function", "lineno": 352, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_setting_delta_and_sampling_rate_in_stats"}, {"type": "Function", "lineno": 367, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_new_sampling_rate"}, {"type": "Function", "lineno": 385, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_reading_date"}, {"type": "Function", "lineno": 400, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_large_sample_rate_interval_raises"}, {"type": "Function", "lineno": 432, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_su_file_with_no_header"}, {"type": "Function", "lineno": 464, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_modified_date"}, {"type": "Function", "lineno": 488, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_starttime_timestamp_0"}, {"type": "Function", "lineno": 545, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_two_digit_years_segy"}, {"type": "Function", "lineno": 561, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_two_digit_years_su"}, {"type": "Function", "lineno": 573, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_issue_377"}, {"type": "Function", "lineno": 587, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_comparing_still_packed_trace_headers"}, {"type": "Function", "lineno": 600, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_reading_and_writing_with_unset_dates"}, {"type": "Function", "lineno": 631, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_text_and_binary_textual_file_headers"}, {"type": "Function", "lineno": 655, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_writing_too_long_trace"}], "outcome": "passed"}, {"nodeid": "io/segy/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/segy/tests/test_core.py::TestSEGYCore"}], "outcome": "passed"}, {"nodeid": "io/segy/tests/test_segy.py", "result": [], "outcome": "passed"}, {"nodeid": "io/segy/tests/test_segy.py::TestSEGY", "result": [{"type": "Function", "lineno": 30, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_unpack_segy_data"}, {"type": "Function", "lineno": 53, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_pack_segy_data"}, {"type": "Function", "lineno": 169, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_pack_and_unpack_ibm_float"}, {"type": "Function", "lineno": 200, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_pack_and_unpack_very_small_ibm_floats"}, {"type": "Function", "lineno": 230, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_pack_and_unpack_ibm_special_cases"}, {"type": "Function", "lineno": 258, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_and_write_binary_file_header"}, {"type": "Function", "lineno": 280, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_and_write_textual_file_header"}, {"type": "Function", "lineno": 316, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_and_write_trace_header"}, {"type": "Function", "lineno": 338, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_and_write_segy[True]"}, {"type": "Function", "lineno": 338, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_and_write_segy[False]"}, {"type": "Function", "lineno": 382, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_unpack_binary_file_header"}, {"type": "Function", "lineno": 426, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_unpack_trace_header"}, {"type": "Function", "lineno": 534, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_bytes_io"}, {"type": "Function", "lineno": 569, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_iterative_reading"}, {"type": "Function", "lineno": 588, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_revision_number_in_binary_file_header"}, {"type": "Function", "lineno": 610, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_textual_header_has_the_right_fields_at_the_end"}, {"type": "Function", "lineno": 738, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_packing_raises_nice_error_messages"}], "outcome": "passed"}, {"nodeid": "io/segy/tests/test_segy.py", "result": [{"type": "Class", "nodeid": "io/segy/tests/test_segy.py::TestSEGY"}], "outcome": "passed"}, {"nodeid": "io/segy/tests/test_su.py", "result": [], "outcome": "passed"}, {"nodeid": "io/segy/tests/test_su.py::TestSU", "result": [{"type": "Function", "lineno": 22, "nodeid": "io/segy/tests/test_su.py::TestSU::test_read_and_write_su"}, {"type": "Function", "lineno": 41, "nodeid": "io/segy/tests/test_su.py::TestSU::test_enforcing_byteorders_while_reading"}, {"type": "Function", "lineno": 60, "nodeid": "io/segy/tests/test_su.py::TestSU::test_reading_and_writing_different_byteorders"}, {"type": "Function", "lineno": 92, "nodeid": "io/segy/tests/test_su.py::TestSU::test_unpacking_su_data"}, {"type": "Function", "lineno": 106, "nodeid": "io/segy/tests/test_su.py::TestSU::test_read_bytes_io"}, {"type": "Function", "lineno": 117, "nodeid": "io/segy/tests/test_su.py::TestSU::test_iterative_reading"}], "outcome": "passed"}, {"nodeid": "io/segy/tests/test_su.py", "result": [{"type": "Class", "nodeid": "io/segy/tests/test_su.py::TestSU"}], "outcome": "passed"}, {"nodeid": "io/segy/tests", "result": [{"type": "DoctestModule", "nodeid": "io/segy/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/segy/tests/data"}, {"type": "DoctestModule", "nodeid": "io/segy/tests/header.py"}, {"type": "DoctestModule", "nodeid": "io/segy/tests/test_core.py"}, {"type": "Module", "nodeid": "io/segy/tests/test_core.py"}, {"type": "DoctestModule", "nodeid": "io/segy/tests/test_segy.py"}, {"type": "Module", "nodeid": "io/segy/tests/test_segy.py"}, {"type": "DoctestModule", "nodeid": "io/segy/tests/test_su.py"}, {"type": "Module", "nodeid": "io/segy/tests/test_su.py"}], "outcome": "passed"}, {"nodeid": "io/segy/unpack.py", "result": [], "outcome": "passed"}, {"nodeid": "io/segy/util.py", "result": [], "outcome": "passed"}, {"nodeid": "io/segy", "result": [{"type": "DoctestModule", "nodeid": "io/segy/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/segy/core.py"}, {"type": "DoctestModule", "nodeid": "io/segy/header.py"}, {"type": "DoctestModule", "nodeid": "io/segy/pack.py"}, {"type": "DoctestModule", "nodeid": "io/segy/segy.py"}, {"type": "Package", "nodeid": "io/segy/tests"}, {"type": "DoctestModule", "nodeid": "io/segy/unpack.py"}, {"type": "DoctestModule", "nodeid": "io/segy/util.py"}], "outcome": "passed"}, {"nodeid": "io/seisan/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/seisan/__init__.py::obspy.io.seisan"}], "outcome": "passed"}, {"nodeid": "io/seisan/core.py", "result": [{"type": "DoctestItem", "lineno": 19, "nodeid": "io/seisan/core.py::obspy.io.seisan.core._is_seisan"}, {"type": "DoctestItem", "lineno": 107, "nodeid": "io/seisan/core.py::obspy.io.seisan.core._read_seisan"}], "outcome": "passed"}, {"nodeid": "io/seisan/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/seisan/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/seisan/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/seisan/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 15, "nodeid": "io/seisan/tests/test_core.py::TestCore::test_get_version"}, {"type": "Function", "lineno": 37, "nodeid": "io/seisan/tests/test_core.py::TestCore::test_is_seisan"}, {"type": "Function", "lineno": 57, "nodeid": "io/seisan/tests/test_core.py::TestCore::test_read_seisan"}, {"type": "Function", "lineno": 116, "nodeid": "io/seisan/tests/test_core.py::TestCore::test_read_seisan_head_only"}, {"type": "Function", "lineno": 196, "nodeid": "io/seisan/tests/test_core.py::TestCore::test_read_obspy"}], "outcome": "passed"}, {"nodeid": "io/seisan/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/seisan/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/seisan/tests", "result": [{"type": "DoctestModule", "nodeid": "io/seisan/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/seisan/tests/data"}, {"type": "DoctestModule", "nodeid": "io/seisan/tests/test_core.py"}, {"type": "Module", "nodeid": "io/seisan/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/seisan", "result": [{"type": "DoctestModule", "nodeid": "io/seisan/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/seisan/core.py"}, {"type": "Package", "nodeid": "io/seisan/tests"}], "outcome": "passed"}, {"nodeid": "io/seiscomp/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/seiscomp/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/seiscomp/data", "result": [], "outcome": "passed"}, {"nodeid": "io/seiscomp/event.py", "result": [{"type": "DoctestItem", "lineno": 46, "nodeid": "io/seiscomp/event.py::obspy.io.seiscomp.event._read_scml"}], "outcome": "passed"}, {"nodeid": "io/seiscomp/inventory.py", "result": [{"type": "DoctestItem", "lineno": 49, "nodeid": "io/seiscomp/inventory.py::obspy.io.seiscomp.inventory._get_schema_namespace"}], "outcome": "passed"}, {"nodeid": "io/seiscomp/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/seiscomp/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/seiscomp/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/seiscomp/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 24, "nodeid": "io/seiscomp/tests/test_core.py::TestCore::test_scml_versions"}, {"type": "Function", "lineno": 32, "nodeid": "io/seiscomp/tests/test_core.py::TestCore::test_scml_no_version_attribute"}, {"type": "Function", "lineno": 36, "nodeid": "io/seiscomp/tests/test_core.py::TestCore::test_validate"}], "outcome": "passed"}, {"nodeid": "io/seiscomp/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/seiscomp/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/seiscomp/tests/test_event.py", "result": [], "outcome": "passed"}, {"nodeid": "io/seiscomp/tests/test_event.py::TestEvent", "result": [{"type": "Function", "lineno": 192, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_scml_versions"}, {"type": "Function", "lineno": 217, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_event"}, {"type": "Function", "lineno": 221, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_origin"}, {"type": "Function", "lineno": 225, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_magnitude"}, {"type": "Function", "lineno": 229, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_station_magnitude_contribution"}, {"type": "Function", "lineno": 234, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_station_magnitude"}, {"type": "Function", "lineno": 238, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_data_used_in_moment_tensor"}, {"type": "Function", "lineno": 242, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_arrival"}, {"type": "Function", "lineno": 246, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_pick"}, {"type": "Function", "lineno": 250, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_focalmechanism"}, {"type": "Function", "lineno": 254, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_amplitude"}, {"type": "Function", "lineno": 259, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_iris_events"}, {"type": "Function", "lineno": 263, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_xslt_example"}, {"type": "Function", "lineno": 267, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_example"}, {"type": "Function", "lineno": 274, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_id_prefix"}, {"type": "Function", "lineno": 302, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_string"}, {"type": "Function", "lineno": 313, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_quakeml"}, {"type": "Function", "lineno": 322, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_scml_fields"}, {"type": "Function", "lineno": 350, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_event"}, {"type": "Function", "lineno": 356, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_origin"}, {"type": "Function", "lineno": 362, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_quarryblast"}, {"type": "Function", "lineno": 367, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_magnitude"}, {"type": "Function", "lineno": 373, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_station_magnitude_contribution"}, {"type": "Function", "lineno": 381, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_station_magnitude"}, {"type": "Function", "lineno": 387, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_data_used_in_moment_tensor"}, {"type": "Function", "lineno": 392, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_arrival"}, {"type": "Function", "lineno": 397, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_pick"}, {"type": "Function", "lineno": 402, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_012_events"}, {"type": "Function", "lineno": 407, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_014_events"}, {"type": "Function", "lineno": 412, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_focalmechanism"}, {"type": "Function", "lineno": 418, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_iris_events"}, {"type": "Function", "lineno": 424, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_neries_events"}, {"type": "Function", "lineno": 437, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_usgs_events"}, {"type": "Function", "lineno": 446, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_xslt_example"}, {"type": "Function", "lineno": 451, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_example"}, {"type": "Function", "lineno": 462, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_write_remove_events"}, {"type": "Function", "lineno": 473, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_and_write"}, {"type": "Function", "lineno": 482, "nodeid": "io/seiscomp/tests/test_event.py::TestEvent::test_read_and_write_scml_fields"}], "outcome": "passed"}, {"nodeid": "io/seiscomp/tests/test_event.py", "result": [{"type": "Class", "nodeid": "io/seiscomp/tests/test_event.py::TestEvent"}], "outcome": "passed"}, {"nodeid": "io/seiscomp/tests/test_inventory.py", "result": [], "outcome": "passed"}, {"nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML", "result": [{"type": "Function", "lineno": 39, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_scml_versions"}, {"type": "Function", "lineno": 52, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_channel_level"}, {"type": "Function", "lineno": 64, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_compare_xml"}, {"type": "Function", "lineno": 110, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_empty_depth"}, {"type": "Function", "lineno": 127, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_compare_upper_level"}, {"type": "Function", "lineno": 137, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_compare_response"}, {"type": "Function", "lineno": 248, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_parse_complex_list"}, {"type": "Function", "lineno": 265, "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML::test_stage_empty_poles_and_zeros"}], "outcome": "passed"}, {"nodeid": "io/seiscomp/tests/test_inventory.py", "result": [{"type": "Class", "nodeid": "io/seiscomp/tests/test_inventory.py::TestSCML"}], "outcome": "passed"}, {"nodeid": "io/seiscomp/tests", "result": [{"type": "DoctestModule", "nodeid": "io/seiscomp/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/seiscomp/tests/data"}, {"type": "DoctestModule", "nodeid": "io/seiscomp/tests/test_core.py"}, {"type": "Module", "nodeid": "io/seiscomp/tests/test_core.py"}, {"type": "DoctestModule", "nodeid": "io/seiscomp/tests/test_event.py"}, {"type": "Module", "nodeid": "io/seiscomp/tests/test_event.py"}, {"type": "DoctestModule", "nodeid": "io/seiscomp/tests/test_inventory.py"}, {"type": "Module", "nodeid": "io/seiscomp/tests/test_inventory.py"}], "outcome": "passed"}, {"nodeid": "io/seiscomp", "result": [{"type": "DoctestModule", "nodeid": "io/seiscomp/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/seiscomp/core.py"}, {"type": "Dir", "nodeid": "io/seiscomp/data"}, {"type": "DoctestModule", "nodeid": "io/seiscomp/event.py"}, {"type": "DoctestModule", "nodeid": "io/seiscomp/inventory.py"}, {"type": "Package", "nodeid": "io/seiscomp/tests"}], "outcome": "passed"}, {"nodeid": "io/sh/__init__.py", "result": [{"type": "DoctestItem", "lineno": 0, "nodeid": "io/sh/__init__.py::obspy.io.sh"}], "outcome": "passed"}, {"nodeid": "io/sh/core.py", "result": [{"type": "DoctestItem", "lineno": 68, "nodeid": "io/sh/core.py::obspy.io.sh.core._is_asc"}, {"type": "DoctestItem", "lineno": 299, "nodeid": "io/sh/core.py::obspy.io.sh.core._is_q"}, {"type": "DoctestItem", "lineno": 94, "nodeid": "io/sh/core.py::obspy.io.sh.core._read_asc"}, {"type": "DoctestItem", "lineno": 325, "nodeid": "io/sh/core.py::obspy.io.sh.core._read_q"}, {"type": "DoctestItem", "lineno": 642, "nodeid": "io/sh/core.py::obspy.io.sh.core.from_utcdatetime"}, {"type": "DoctestItem", "lineno": 587, "nodeid": "io/sh/core.py::obspy.io.sh.core.to_utcdatetime"}], "outcome": "passed"}, {"nodeid": "io/sh/evt.py", "result": [], "outcome": "passed"}, {"nodeid": "io/sh/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/sh/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/sh/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/sh/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 15, "nodeid": "io/sh/tests/test_core.py::TestCore::test_read_101_traces"}, {"type": "Function", "lineno": 25, "nodeid": "io/sh/tests/test_core.py::TestCore::test_is_asc_file"}, {"type": "Function", "lineno": 34, "nodeid": "io/sh/tests/test_core.py::TestCore::test_is_q_file"}, {"type": "Function", "lineno": 45, "nodeid": "io/sh/tests/test_core.py::TestCore::test_read_single_channel_asc_file"}, {"type": "Function", "lineno": 102, "nodeid": "io/sh/tests/test_core.py::TestCore::test_read_and_write_multi_channel_asc_file"}, {"type": "Function", "lineno": 126, "nodeid": "io/sh/tests/test_core.py::TestCore::test_read_and_write_multi_channel_asc_file_via_obspy"}, {"type": "Function", "lineno": 145, "nodeid": "io/sh/tests/test_core.py::TestCore::test_read_and_write_multi_channel_q_file"}, {"type": "Function", "lineno": 182, "nodeid": "io/sh/tests/test_core.py::TestCore::test_read_and_write_multi_channel_q_file_via_obspy"}, {"type": "Function", "lineno": 219, "nodeid": "io/sh/tests/test_core.py::TestCore::test_skip_asc_lines"}, {"type": "Function", "lineno": 234, "nodeid": "io/sh/tests/test_core.py::TestCore::test_write_small_trace"}, {"type": "Function", "lineno": 257, "nodeid": "io/sh/tests/test_core.py::TestCore::test_write_long_header"}, {"type": "Function", "lineno": 272, "nodeid": "io/sh/tests/test_core.py::TestCore::test_header_whitespaces"}, {"type": "Function", "lineno": 287, "nodeid": "io/sh/tests/test_core.py::TestCore::test_append_traces"}], "outcome": "passed"}, {"nodeid": "io/sh/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/sh/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/sh/tests/test_evt.py", "result": [], "outcome": "passed"}, {"nodeid": "io/sh/tests/test_evt.py::TestEvt", "result": [{"type": "Function", "lineno": 5, "nodeid": "io/sh/tests/test_evt.py::TestEvt::test_is_evt_file"}, {"type": "Function", "lineno": 9, "nodeid": "io/sh/tests/test_evt.py::TestEvt::test_local_event1"}, {"type": "Function", "lineno": 14, "nodeid": "io/sh/tests/test_evt.py::TestEvt::test_local_event2"}, {"type": "Function", "lineno": 31, "nodeid": "io/sh/tests/test_evt.py::TestEvt::test_tele_event1"}, {"type": "Function", "lineno": 36, "nodeid": "io/sh/tests/test_evt.py::TestEvt::test_tele_event2"}, {"type": "Function", "lineno": 78, "nodeid": "io/sh/tests/test_evt.py::TestEvt::test_populate_waveform_id"}], "outcome": "passed"}, {"nodeid": "io/sh/tests/test_evt.py", "result": [{"type": "Class", "nodeid": "io/sh/tests/test_evt.py::TestEvt"}], "outcome": "passed"}, {"nodeid": "io/sh/tests", "result": [{"type": "DoctestModule", "nodeid": "io/sh/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/sh/tests/data"}, {"type": "DoctestModule", "nodeid": "io/sh/tests/test_core.py"}, {"type": "Module", "nodeid": "io/sh/tests/test_core.py"}, {"type": "DoctestModule", "nodeid": "io/sh/tests/test_evt.py"}, {"type": "Module", "nodeid": "io/sh/tests/test_evt.py"}], "outcome": "passed"}, {"nodeid": "io/sh", "result": [{"type": "DoctestModule", "nodeid": "io/sh/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/sh/core.py"}, {"type": "DoctestModule", "nodeid": "io/sh/evt.py"}, {"type": "Package", "nodeid": "io/sh/tests"}], "outcome": "passed"}, {"nodeid": "io/shapefile/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/shapefile/__init__.py::obspy.io.shapefile"}], "outcome": "passed"}, {"nodeid": "io/shapefile/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/shapefile/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/shapefile/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/shapefile/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/shapefile/tests/test_core.py::TestShapefile", "result": [{"type": "Function", "lineno": 188, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_catalog_shapefile"}, {"type": "Function", "lineno": 225, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_catalog_shapefile_with_extra_field"}, {"type": "Function", "lineno": 288, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_inventory_shapefile_with_extra_field"}, {"type": "Function", "lineno": 334, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_catalog_shapefile_via_plugin"}, {"type": "Function", "lineno": 371, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_inventory_shapefile"}, {"type": "Function", "lineno": 400, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_inventory_shapefile_via_plugin"}], "outcome": "passed"}, {"nodeid": "io/shapefile/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/shapefile/tests/test_core.py::TestShapefile"}], "outcome": "passed"}, {"nodeid": "io/shapefile/tests", "result": [{"type": "DoctestModule", "nodeid": "io/shapefile/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/shapefile/tests/data"}, {"type": "DoctestModule", "nodeid": "io/shapefile/tests/test_core.py"}, {"type": "Module", "nodeid": "io/shapefile/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/shapefile", "result": [{"type": "DoctestModule", "nodeid": "io/shapefile/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/shapefile/core.py"}, {"type": "Package", "nodeid": "io/shapefile/tests"}], "outcome": "passed"}, {"nodeid": "io/stationtxt/__init__.py", "result": [{"type": "DoctestItem", "lineno": 2, "nodeid": "io/stationtxt/__init__.py::obspy.io.stationtxt"}], "outcome": "passed"}, {"nodeid": "io/stationtxt/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/stationtxt/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/stationtxt/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/stationtxt/tests/test_station_text_parsing.py", "result": [], "outcome": "passed"}, {"nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText", "result": [{"type": "Function", "lineno": 25, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_is_txt_file"}, {"type": "Function", "lineno": 85, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_reading_network_file"}, {"type": "Function", "lineno": 160, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_reading_station_file"}, {"type": "Function", "lineno": 245, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_reading_channel_file"}, {"type": "Function", "lineno": 448, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_reading_unicode_file"}, {"type": "Function", "lineno": 518, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_reading_channel_without_response_info"}, {"type": "Function", "lineno": 608, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_parsing_faulty_header_at_channel_level"}, {"type": "Function", "lineno": 632, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_parsing_files_with_no_endtime"}, {"type": "Function", "lineno": 670, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_write_stationtxt"}, {"type": "Function", "lineno": 831, "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText::test_read_write_stationtxt"}], "outcome": "passed"}, {"nodeid": "io/stationtxt/tests/test_station_text_parsing.py", "result": [{"type": "Class", "nodeid": "io/stationtxt/tests/test_station_text_parsing.py::TestStationText"}], "outcome": "passed"}, {"nodeid": "io/stationtxt/tests", "result": [{"type": "DoctestModule", "nodeid": "io/stationtxt/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/stationtxt/tests/data"}, {"type": "DoctestModule", "nodeid": "io/stationtxt/tests/test_station_text_parsing.py"}, {"type": "Module", "nodeid": "io/stationtxt/tests/test_station_text_parsing.py"}], "outcome": "passed"}, {"nodeid": "io/stationtxt", "result": [{"type": "DoctestModule", "nodeid": "io/stationtxt/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/stationtxt/core.py"}, {"type": "Package", "nodeid": "io/stationtxt/tests"}], "outcome": "passed"}, {"nodeid": "io/stationxml/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/stationxml/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/stationxml/data", "result": [], "outcome": "passed"}, {"nodeid": "io/stationxml/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/stationxml/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/stationxml/tests/test_stationxml.py", "result": [], "outcome": "passed"}, {"nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML", "result": [{"type": "Function", "lineno": 70, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_is_stationxml"}, {"type": "Function", "lineno": 88, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_different_write_levels"}, {"type": "Function", "lineno": 133, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_read_and_write_minimal_file"}, {"type": "Function", "lineno": 160, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_subsecond_read_and_write_minimal_file"}, {"type": "Function", "lineno": 184, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_read_and_write_full_file"}, {"type": "Function", "lineno": 292, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_writing_module_tags"}, {"type": "Function", "lineno": 311, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_other_module_tags"}, {"type": "Function", "lineno": 322, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_and_writing_full_root_tag"}, {"type": "Function", "lineno": 350, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_and_writing_full_network_tag"}, {"type": "Function", "lineno": 430, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_and_writing_full_station_tag"}, {"type": "Function", "lineno": 640, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_and_writing_channel_with_response"}, {"type": "Function", "lineno": 701, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_stationxml_with_availability"}, {"type": "Function", "lineno": 727, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_parse_file_with_no_default_namespace"}, {"type": "Function", "lineno": 739, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_parse_file_with_schema_2"}, {"type": "Function", "lineno": 755, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_numbers_are_written_to_poles_and_zeros"}, {"type": "Function", "lineno": 789, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_write_with_extra_tags_namespace_redef"}, {"type": "Function", "lineno": 806, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_write_with_extra_tags_without_read_extra"}, {"type": "Function", "lineno": 909, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_write_with_extra_tags_and_read"}, {"type": "Function", "lineno": 1084, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_file_with_empty_channel_object"}, {"type": "Function", "lineno": 1095, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_channel_without_coordinates"}, {"type": "Function", "lineno": 1118, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_units_during_identity_stage"}, {"type": "Function", "lineno": 1199, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_reading_full_stationxml_1_0_file"}, {"type": "Function", "lineno": 1211, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_read_with_level"}, {"type": "Function", "lineno": 1246, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_read_basic_responsestage_with_decimation"}, {"type": "Function", "lineno": 1260, "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML::test_do_not_write_None_IO_units"}], "outcome": "passed"}, {"nodeid": "io/stationxml/tests/test_stationxml.py", "result": [{"type": "Class", "nodeid": "io/stationxml/tests/test_stationxml.py::TestStationXML"}], "outcome": "passed"}, {"nodeid": "io/stationxml/tests", "result": [{"type": "DoctestModule", "nodeid": "io/stationxml/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/stationxml/tests/data"}, {"type": "DoctestModule", "nodeid": "io/stationxml/tests/test_stationxml.py"}, {"type": "Module", "nodeid": "io/stationxml/tests/test_stationxml.py"}], "outcome": "passed"}, {"nodeid": "io/stationxml", "result": [{"type": "DoctestModule", "nodeid": "io/stationxml/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/stationxml/core.py"}, {"type": "Dir", "nodeid": "io/stationxml/data"}, {"type": "Package", "nodeid": "io/stationxml/tests"}], "outcome": "passed"}, {"nodeid": "io/wav/__init__.py", "result": [{"type": "DoctestItem", "lineno": 0, "nodeid": "io/wav/__init__.py::obspy.io.wav"}], "outcome": "passed"}, {"nodeid": "io/wav/core.py", "result": [{"type": "DoctestItem", "lineno": 37, "nodeid": "io/wav/core.py::obspy.io.wav.core._is_wav"}, {"type": "DoctestItem", "lineno": 65, "nodeid": "io/wav/core.py::obspy.io.wav.core._read_wav"}], "outcome": "passed"}, {"nodeid": "io/wav/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/wav/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/wav/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/wav/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 23, "nodeid": "io/wav/tests/test_core.py::TestCore::test_read_via_obspy"}, {"type": "Function", "lineno": 38, "nodeid": "io/wav/tests/test_core.py::TestCore::test_read_head_via_obspy"}, {"type": "Function", "lineno": 47, "nodeid": "io/wav/tests/test_core.py::TestCore::test_read_and_write_via_obspy"}, {"type": "Function", "lineno": 70, "nodeid": "io/wav/tests/test_core.py::TestCore::test_rescale_on_write"}, {"type": "Function", "lineno": 90, "nodeid": "io/wav/tests/test_core.py::TestCore::test_write_stream_via_obspy"}], "outcome": "passed"}, {"nodeid": "io/wav/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/wav/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/wav/tests", "result": [{"type": "DoctestModule", "nodeid": "io/wav/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/wav/tests/data"}, {"type": "DoctestModule", "nodeid": "io/wav/tests/test_core.py"}, {"type": "Module", "nodeid": "io/wav/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/wav", "result": [{"type": "DoctestModule", "nodeid": "io/wav/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/wav/core.py"}, {"type": "Package", "nodeid": "io/wav/tests"}], "outcome": "passed"}, {"nodeid": "io/win/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/win/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/win/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/win/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/win/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/win/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 14, "nodeid": "io/win/tests/test_core.py::TestCore::test_read_via_obspy"}, {"type": "Function", "lineno": 34, "nodeid": "io/win/tests/test_core.py::TestCore::test_read_via_module"}, {"type": "Function", "lineno": 54, "nodeid": "io/win/tests/test_core.py::TestCore::test_read_05_byte_data"}, {"type": "Function", "lineno": 78, "nodeid": "io/win/tests/test_core.py::TestCore::test_read_1kHz_data"}, {"type": "Function", "lineno": 85, "nodeid": "io/win/tests/test_core.py::TestCore::test_read_24bit_data"}], "outcome": "passed"}, {"nodeid": "io/win/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/win/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/win/tests", "result": [{"type": "DoctestModule", "nodeid": "io/win/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/win/tests/data"}, {"type": "DoctestModule", "nodeid": "io/win/tests/test_core.py"}, {"type": "Module", "nodeid": "io/win/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/win", "result": [{"type": "DoctestModule", "nodeid": "io/win/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/win/core.py"}, {"type": "Package", "nodeid": "io/win/tests"}], "outcome": "passed"}, {"nodeid": "io/xseed/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/xseed/__init__.py::obspy.io.xseed"}], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette010.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette011.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette012.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette030.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette031.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette032.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette033.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette034.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette041.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette043.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette044.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette047.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette048.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette050.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette051.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette052.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette053.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette054.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette055.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette057.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette058.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette059.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette060.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette061.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette/blockette062.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/blockette", "result": [{"type": "DoctestModule", "nodeid": "io/xseed/blockette/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette010.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette011.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette012.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette030.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette031.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette032.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette033.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette034.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette041.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette043.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette044.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette047.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette048.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette050.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette051.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette052.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette053.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette054.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette055.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette057.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette058.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette059.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette060.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette061.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/blockette/blockette062.py"}], "outcome": "passed"}, {"nodeid": "io/xseed/core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/fields.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/parser.py", "result": [{"type": "DoctestItem", "lineno": 2462, "nodeid": "io/xseed/parser.py::obspy.io.xseed.parser.is_xseed"}], "outcome": "passed"}, {"nodeid": "io/xseed/scripts/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/scripts/dataless2resp.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/scripts/dataless2xseed.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/scripts/xseed2dataless.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/scripts", "result": [{"type": "DoctestModule", "nodeid": "io/xseed/scripts/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/scripts/dataless2resp.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/scripts/dataless2xseed.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/scripts/xseed2dataless.py"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/tests/data/blockette-tests", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/tests/data", "result": [{"type": "Dir", "nodeid": "io/xseed/tests/data/blockette-tests"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_blockettes.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette", "result": [{"type": "Function", "lineno": 19, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_invalid_blockette_length"}, {"type": "Function", "lineno": 169, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_all_blockettes"}, {"type": "Function", "lineno": 193, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_all_blockettes_get_resp"}, {"type": "Function", "lineno": 241, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_blockette60_has_blockette_id"}, {"type": "Function", "lineno": 250, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_issue701"}, {"type": "Function", "lineno": 285, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_equality_and_unequality"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_blockettes.py", "result": [{"type": "Class", "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 73, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_is_seed"}, {"type": "Function", "lineno": 86, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_is_xseed"}, {"type": "Function", "lineno": 99, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_is_resp"}, {"type": "Function", "lineno": 112, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_simple_read_resp"}, {"type": "Function", "lineno": 120, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_simple_read_seed"}, {"type": "Function", "lineno": 131, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_simple_read_xseed"}, {"type": "Function", "lineno": 139, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_read_resp_metadata"}, {"type": "Function", "lineno": 285, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_read_seed_metainformation"}, {"type": "Function", "lineno": 382, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_calculation_from_resp_files"}, {"type": "Function", "lineno": 415, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_calculation_from_seed_and_xseed"}, {"type": "Function", "lineno": 506, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_warning_when_blockette_54_is_not_followed_by_57"}, {"type": "Function", "lineno": 539, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_warning_when_blockette_57_is_not_followed_by_58"}, {"type": "Function", "lineno": 558, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_warning_with_multiple_blockettes_58_in_stage_0"}, {"type": "Function", "lineno": 568, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_warning_with_multiple_differing_blockettes_58_in_stage_0"}, {"type": "Function", "lineno": 580, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_blkts_53_and_54_in_one_stage"}, {"type": "Function", "lineno": 599, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_reconstructing_stage_0_from_other_blockettes"}, {"type": "Function", "lineno": 625, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_parsing_blockette_62"}, {"type": "Function", "lineno": 647, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_parsing_blockette_62_as_stage_0"}, {"type": "Function", "lineno": 661, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_warning_with_no_blockettes_58"}, {"type": "Function", "lineno": 671, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_paz_with_no_actual_values"}, {"type": "Function", "lineno": 687, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_of_strain_meter"}, {"type": "Function", "lineno": 703, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_multiple_gain_blockettes"}, {"type": "Function", "lineno": 724, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_regression_1"}, {"type": "Function", "lineno": 743, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_regression_2"}, {"type": "Function", "lineno": 762, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_regression_segfault"}, {"type": "Function", "lineno": 784, "nodeid": "io/xseed/tests/test_core.py::TestCore::test_response_lots_zero_frequency_gains"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/xseed/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_fields.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_fields.py::TestFields", "result": [{"type": "Function", "lineno": 13, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_format_exponential"}, {"type": "Function", "lineno": 17, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_read_date_time"}, {"type": "Function", "lineno": 75, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_read_compact_date_time"}, {"type": "Function", "lineno": 152, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_wrong_spaces"}, {"type": "Function", "lineno": 161, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_fixed_string_any_punctuation"}, {"type": "Function", "lineno": 171, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_variable_string_any_punctuation"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_fields.py", "result": [{"type": "Class", "nodeid": "io/xseed/tests/test_fields.py::TestFields"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_parser.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_parser.py::TestParser", "result": [{"type": "Function", "lineno": 34, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue165"}, {"type": "Function", "lineno": 54, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_invalid_start_header"}, {"type": "Function", "lineno": 63, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_invalid_start_blockette"}, {"type": "Function", "lineno": 72, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_newline_between_blockettes"}, {"type": "Function", "lineno": 81, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_string"}, {"type": "Function", "lineno": 102, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_get_inventory"}, {"type": "Function", "lineno": 141, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_non_existing_file_name"}, {"type": "Function", "lineno": 148, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_blockette_starts_after_record"}, {"type": "Function", "lineno": 171, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_multiple_continued_station_control_header"}, {"type": "Function", "lineno": 218, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_blockette_longer_than_record_length"}, {"type": "Function", "lineno": 250, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_read_and_write_seed"}, {"type": "Function", "lineno": 283, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_create_read_assert_and_write_xseed"}, {"type": "Function", "lineno": 327, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_read_full_seed"}, {"type": "Function", "lineno": 342, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_get_paz"}, {"type": "Function", "lineno": 461, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_get_paz_from_xseed"}, {"type": "Function", "lineno": 479, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_get_coordinates"}, {"type": "Function", "lineno": 506, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_select_does_not_change_the_parser_format"}, {"type": "Function", "lineno": 516, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_create_resp_from_xseed"}, {"type": "Function", "lineno": 545, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_read_resp"}, {"type": "Function", "lineno": 559, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_read_resp_data"}, {"type": "Function", "lineno": 575, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_read_resp_paz_uncertainties"}, {"type": "Function", "lineno": 609, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_resp_round_trip"}, {"type": "Function", "lineno": 629, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_compare_blockettes"}, {"type": "Function", "lineno": 650, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_missing_required_date_times"}, {"type": "Function", "lineno": 682, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue_298a"}, {"type": "Function", "lineno": 690, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue_298b"}, {"type": "Function", "lineno": 698, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue_319"}, {"type": "Function", "lineno": 717, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue_157"}, {"type": "Function", "lineno": 740, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue_358"}, {"type": "Function", "lineno": 750, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_issue_361"}, {"type": "Function", "lineno": 769, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_split_stations_dataless_to_xseed"}, {"type": "Function", "lineno": 784, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_rotation_to_zne"}, {"type": "Function", "lineno": 830, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_underline_in_site_name"}, {"type": "Function", "lineno": 840, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_parsing_resp_file_without_clear_blkt_separation"}, {"type": "Function", "lineno": 863, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_parsing_resp_file_with_mutiple_blockette55"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_parser.py", "result": [{"type": "Class", "nodeid": "io/xseed/tests/test_parser.py::TestParser"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_scripts.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_scripts.py::TestScript", "result": [{"type": "Function", "lineno": 28, "nodeid": "io/xseed/tests/test_scripts.py::TestScript::test_dataless2resp"}, {"type": "Function", "lineno": 44, "nodeid": "io/xseed/tests/test_scripts.py::TestScript::test_dataless2resp_zipped"}, {"type": "Function", "lineno": 68, "nodeid": "io/xseed/tests/test_scripts.py::TestScript::test_dataless2xseed"}, {"type": "Function", "lineno": 87, "nodeid": "io/xseed/tests/test_scripts.py::TestScript::test_dataless2xseed_split"}, {"type": "Function", "lineno": 112, "nodeid": "io/xseed/tests/test_scripts.py::TestScript::test_xseed2dataless"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_scripts.py", "result": [{"type": "Class", "nodeid": "io/xseed/tests/test_scripts.py::TestScript"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_utils.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_utils.py::TestUtils", "result": [{"type": "Function", "lineno": 10, "nodeid": "io/xseed/tests/test_utils.py::TestUtils::test_to_tag"}, {"type": "Function", "lineno": 14, "nodeid": "io/xseed/tests/test_utils.py::TestUtils::test_datetime_to_string"}, {"type": "Function", "lineno": 32, "nodeid": "io/xseed/tests/test_utils.py::TestUtils::test_datetime_to_string_compact"}, {"type": "Function", "lineno": 44, "nodeid": "io/xseed/tests/test_utils.py::TestUtils::test_is_resp"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests/test_utils.py", "result": [{"type": "Class", "nodeid": "io/xseed/tests/test_utils.py::TestUtils"}], "outcome": "passed"}, {"nodeid": "io/xseed/tests", "result": [{"type": "DoctestModule", "nodeid": "io/xseed/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/xseed/tests/data"}, {"type": "DoctestModule", "nodeid": "io/xseed/tests/test_blockettes.py"}, {"type": "Module", "nodeid": "io/xseed/tests/test_blockettes.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/tests/test_core.py"}, {"type": "Module", "nodeid": "io/xseed/tests/test_core.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/tests/test_fields.py"}, {"type": "Module", "nodeid": "io/xseed/tests/test_fields.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/tests/test_parser.py"}, {"type": "Module", "nodeid": "io/xseed/tests/test_parser.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/tests/test_scripts.py"}, {"type": "Module", "nodeid": "io/xseed/tests/test_scripts.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/tests/test_utils.py"}, {"type": "Module", "nodeid": "io/xseed/tests/test_utils.py"}], "outcome": "passed"}, {"nodeid": "io/xseed/utils.py", "result": [], "outcome": "passed"}, {"nodeid": "io/xseed", "result": [{"type": "DoctestModule", "nodeid": "io/xseed/__init__.py"}, {"type": "Package", "nodeid": "io/xseed/blockette"}, {"type": "DoctestModule", "nodeid": "io/xseed/core.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/fields.py"}, {"type": "DoctestModule", "nodeid": "io/xseed/parser.py"}, {"type": "Package", "nodeid": "io/xseed/scripts"}, {"type": "Package", "nodeid": "io/xseed/tests"}, {"type": "DoctestModule", "nodeid": "io/xseed/utils.py"}], "outcome": "passed"}, {"nodeid": "io/y/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/y/core.py", "result": [{"type": "DoctestItem", "lineno": 104, "nodeid": "io/y/core.py::obspy.io.y.core._is_y"}, {"type": "DoctestItem", "lineno": 130, "nodeid": "io/y/core.py::obspy.io.y.core._read_y"}], "outcome": "passed"}, {"nodeid": "io/y/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/y/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/y/tests/test_core.py", "result": [], "outcome": "passed"}, {"nodeid": "io/y/tests/test_core.py::TestCore", "result": [{"type": "Function", "lineno": 10, "nodeid": "io/y/tests/test_core.py::TestCore::test_is_y_file"}, {"type": "Function", "lineno": 19, "nodeid": "io/y/tests/test_core.py::TestCore::test_read_y_file"}, {"type": "Function", "lineno": 36, "nodeid": "io/y/tests/test_core.py::TestCore::test_ignore_non_ascii_tag_station_info"}], "outcome": "passed"}, {"nodeid": "io/y/tests/test_core.py", "result": [{"type": "Class", "nodeid": "io/y/tests/test_core.py::TestCore"}], "outcome": "passed"}, {"nodeid": "io/y/tests", "result": [{"type": "DoctestModule", "nodeid": "io/y/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/y/tests/data"}, {"type": "DoctestModule", "nodeid": "io/y/tests/test_core.py"}, {"type": "Module", "nodeid": "io/y/tests/test_core.py"}], "outcome": "passed"}, {"nodeid": "io/y", "result": [{"type": "DoctestModule", "nodeid": "io/y/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/y/core.py"}, {"type": "Package", "nodeid": "io/y/tests"}], "outcome": "passed"}, {"nodeid": "io/zmap/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "io/zmap/__init__.py::obspy.io.zmap"}], "outcome": "passed"}, {"nodeid": "io/zmap/core.py", "result": [{"type": "DoctestItem", "lineno": 342, "nodeid": "io/zmap/core.py::obspy.io.zmap.core._is_zmap"}], "outcome": "passed"}, {"nodeid": "io/zmap/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "io/zmap/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "io/zmap/tests/test_zmap.py", "result": [], "outcome": "passed"}, {"nodeid": "io/zmap/tests/test_zmap.py::TestZMAP", "result": [{"type": "Function", "lineno": 36, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_serialize"}, {"type": "Function", "lineno": 58, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_plugin_interface"}, {"type": "Function", "lineno": 68, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_dump_to_file"}, {"type": "Function", "lineno": 78, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_dump_to_filename"}, {"type": "Function", "lineno": 88, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_dump_with_uncertainty"}, {"type": "Function", "lineno": 99, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_ou_hz_error"}, {"type": "Function", "lineno": 119, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_lat_lon_hz_error"}, {"type": "Function", "lineno": 133, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_is_zmap"}, {"type": "Function", "lineno": 174, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_is_zmap_binary_files"}, {"type": "Function", "lineno": 183, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_deserialize"}, {"type": "Function", "lineno": 211, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_read"}, {"type": "Function", "lineno": 228, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_read_float_seconds"}, {"type": "Function", "lineno": 306, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_no_origin_depth"}], "outcome": "passed"}, {"nodeid": "io/zmap/tests/test_zmap.py", "result": [{"type": "Class", "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP"}], "outcome": "passed"}, {"nodeid": "io/zmap/tests", "result": [{"type": "DoctestModule", "nodeid": "io/zmap/tests/__init__.py"}, {"type": "Dir", "nodeid": "io/zmap/tests/data"}, {"type": "DoctestModule", "nodeid": "io/zmap/tests/test_zmap.py"}, {"type": "Module", "nodeid": "io/zmap/tests/test_zmap.py"}], "outcome": "passed"}, {"nodeid": "io/zmap", "result": [{"type": "DoctestModule", "nodeid": "io/zmap/__init__.py"}, {"type": "DoctestModule", "nodeid": "io/zmap/core.py"}, {"type": "Package", "nodeid": "io/zmap/tests"}], "outcome": "passed"}, {"nodeid": "io", "result": [{"type": "DoctestModule", "nodeid": "io/__init__.py"}, {"type": "Package", "nodeid": "io/ah"}, {"type": "Package", "nodeid": "io/alsep"}, {"type": "Package", "nodeid": "io/arclink"}, {"type": "Package", "nodeid": "io/ascii"}, {"type": "Package", "nodeid": "io/cmtsolution"}, {"type": "Package", "nodeid": "io/cnv"}, {"type": "Package", "nodeid": "io/css"}, {"type": "Package", "nodeid": "io/csv"}, {"type": "Package", "nodeid": "io/cybershake"}, {"type": "Package", "nodeid": "io/dmx"}, {"type": "Package", "nodeid": "io/focmec"}, {"type": "Package", "nodeid": "io/gcf"}, {"type": "Package", "nodeid": "io/gse2"}, {"type": "Package", "nodeid": "io/hypodd"}, {"type": "Package", "nodeid": "io/iaspei"}, {"type": "Package", "nodeid": "io/json"}, {"type": "Package", "nodeid": "io/kinemetrics"}, {"type": "Package", "nodeid": "io/kml"}, {"type": "Package", "nodeid": "io/mseed"}, {"type": "Package", "nodeid": "io/ndk"}, {"type": "Package", "nodeid": "io/nied"}, {"type": "Package", "nodeid": "io/nlloc"}, {"type": "Package", "nodeid": "io/nordic"}, {"type": "Package", "nodeid": "io/pdas"}, {"type": "Package", "nodeid": "io/pde"}, {"type": "Package", "nodeid": "io/quakeml"}, {"type": "Package", "nodeid": "io/reftek"}, {"type": "Package", "nodeid": "io/rg16"}, {"type": "Package", "nodeid": "io/sac"}, {"type": "Package", "nodeid": "io/scardec"}, {"type": "Package", "nodeid": "io/seg2"}, {"type": "Package", "nodeid": "io/segy"}, {"type": "Package", "nodeid": "io/seisan"}, {"type": "Package", "nodeid": "io/seiscomp"}, {"type": "Package", "nodeid": "io/sh"}, {"type": "Package", "nodeid": "io/shapefile"}, {"type": "Package", "nodeid": "io/stationtxt"}, {"type": "Package", "nodeid": "io/stationxml"}, {"type": "Package", "nodeid": "io/wav"}, {"type": "Package", "nodeid": "io/win"}, {"type": "Package", "nodeid": "io/xseed"}, {"type": "Package", "nodeid": "io/y"}, {"type": "Package", "nodeid": "io/zmap"}], "outcome": "passed"}, {"nodeid": "lib/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "lib", "result": [{"type": "DoctestModule", "nodeid": "lib/__init__.py"}], "outcome": "passed"}, {"nodeid": "realtime/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "realtime/rtmemory.py", "result": [], "outcome": "passed"}, {"nodeid": "realtime/rttrace.py", "result": [{"type": "DoctestItem", "lineno": 36, "nodeid": "realtime/rttrace.py::obspy.realtime.rttrace.RtTrace"}], "outcome": "passed"}, {"nodeid": "realtime/signal.py", "result": [], "outcome": "passed"}, {"nodeid": "realtime/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "realtime/tests/data", "result": [], "outcome": "passed"}, {"nodeid": "realtime/tests/test_rttrace.py", "result": [], "outcome": "passed"}, {"nodeid": "realtime/tests/test_rttrace.py::TestRtTrace", "result": [{"type": "Function", "lineno": 18, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_eq"}, {"type": "Function", "lineno": 31, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_ne"}, {"type": "Function", "lineno": 44, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_register_rt_process"}, {"type": "Function", "lineno": 83, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_append_sanity_checks"}, {"type": "Function", "lineno": 125, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_append_overlap"}, {"type": "Function", "lineno": 141, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_append_gap"}, {"type": "Function", "lineno": 159, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_copy"}, {"type": "Function", "lineno": 176, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_append_not_float32"}, {"type": "Function", "lineno": 187, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_missing_or_wrong_argument_in_rt_process"}], "outcome": "passed"}, {"nodeid": "realtime/tests/test_rttrace.py", "result": [{"type": "Class", "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace"}], "outcome": "passed"}, {"nodeid": "realtime/tests/test_signal.py", "result": [], "outcome": "passed"}, {"nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal", "result": [{"type": "Function", "lineno": 39, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_square"}, {"type": "Function", "lineno": 52, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_integrate"}, {"type": "Function", "lineno": 65, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_differentiate"}, {"type": "Function", "lineno": 78, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_boxcar"}, {"type": "Function", "lineno": 94, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_scale"}, {"type": "Function", "lineno": 110, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_offset"}, {"type": "Function", "lineno": 126, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_kurtosis"}, {"type": "Function", "lineno": 140, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_abs"}, {"type": "Function", "lineno": 155, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_tauc"}, {"type": "Function", "lineno": 171, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_mwp_integral"}, {"type": "Function", "lineno": 189, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_mwp"}, {"type": "Function", "lineno": 211, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_combined"}], "outcome": "passed"}, {"nodeid": "realtime/tests/test_signal.py", "result": [{"type": "Class", "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal"}], "outcome": "passed"}, {"nodeid": "realtime/tests", "result": [{"type": "DoctestModule", "nodeid": "realtime/tests/__init__.py"}, {"type": "Dir", "nodeid": "realtime/tests/data"}, {"type": "DoctestModule", "nodeid": "realtime/tests/test_rttrace.py"}, {"type": "Module", "nodeid": "realtime/tests/test_rttrace.py"}, {"type": "DoctestModule", "nodeid": "realtime/tests/test_signal.py"}, {"type": "Module", "nodeid": "realtime/tests/test_signal.py"}], "outcome": "passed"}, {"nodeid": "realtime", "result": [{"type": "DoctestModule", "nodeid": "realtime/__init__.py"}, {"type": "DoctestModule", "nodeid": "realtime/rtmemory.py"}, {"type": "DoctestModule", "nodeid": "realtime/rttrace.py"}, {"type": "DoctestModule", "nodeid": "realtime/signal.py"}, {"type": "Package", "nodeid": "realtime/tests"}], "outcome": "passed"}, {"nodeid": "scripts/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "scripts/flinnengdahl.py", "result": [], "outcome": "passed"}, {"nodeid": "scripts/print.py", "result": [], "outcome": "passed"}, {"nodeid": "scripts/reftekrescue.py", "result": [], "outcome": "passed"}, {"nodeid": "scripts/runtests.py", "result": [], "outcome": "passed"}, {"nodeid": "scripts/sds_html_report.py", "result": [], "outcome": "passed"}, {"nodeid": "scripts/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "scripts/tests/test_print.py", "result": [], "outcome": "passed"}, {"nodeid": "scripts/tests/test_print.py::TestPrint", "result": [{"type": "Function", "lineno": 15, "nodeid": "scripts/tests/test_print.py::TestPrint::test_print"}, {"type": "Function", "lineno": 24, "nodeid": "scripts/tests/test_print.py::TestPrint::test_print_nomerge"}], "outcome": "passed"}, {"nodeid": "scripts/tests/test_print.py", "result": [{"type": "Class", "nodeid": "scripts/tests/test_print.py::TestPrint"}], "outcome": "passed"}, {"nodeid": "scripts/tests", "result": [{"type": "DoctestModule", "nodeid": "scripts/tests/__init__.py"}, {"type": "DoctestModule", "nodeid": "scripts/tests/test_print.py"}, {"type": "Module", "nodeid": "scripts/tests/test_print.py"}], "outcome": "passed"}, {"nodeid": "scripts", "result": [{"type": "DoctestModule", "nodeid": "scripts/__init__.py"}, {"type": "DoctestModule", "nodeid": "scripts/flinnengdahl.py"}, {"type": "DoctestModule", "nodeid": "scripts/print.py"}, {"type": "DoctestModule", "nodeid": "scripts/reftekrescue.py"}, {"type": "DoctestModule", "nodeid": "scripts/runtests.py"}, {"type": "DoctestModule", "nodeid": "scripts/sds_html_report.py"}, {"type": "Package", "nodeid": "scripts/tests"}], "outcome": "passed"}, {"nodeid": "signal/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "signal/__init__.py::obspy.signal"}], "outcome": "passed"}, {"nodeid": "signal/array_analysis.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/calibration.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/cpxtrace.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/cross_correlation.py", "result": [{"type": "DoctestItem", "lineno": 67, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.correlate"}, {"type": "DoctestItem", "lineno": 802, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.correlate_stream_template"}, {"type": "DoctestItem", "lineno": 187, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.correlate_template"}, {"type": "DoctestItem", "lineno": 986, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.correlation_detector"}, {"type": "DoctestItem", "lineno": 622, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.templates_max_similarity"}, {"type": "DoctestItem", "lineno": 367, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.xcorr_max"}], "outcome": "passed"}, {"nodeid": "signal/data", "result": [], "outcome": "passed"}, {"nodeid": "signal/detrend.py", "result": [{"type": "DoctestItem", "lineno": 60, "nodeid": "signal/detrend.py::obspy.signal.detrend.polynomial"}, {"type": "DoctestItem", "lineno": 119, "nodeid": "signal/detrend.py::obspy.signal.detrend.spline"}], "outcome": "passed"}, {"nodeid": "signal/differentiate_and_integrate.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/evrespwrapper.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/filter.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/freqattributes.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/headers.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/hoctavbands.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/interpolation.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/invsim.py", "result": [{"type": "DoctestItem", "lineno": 50, "nodeid": "signal/invsim.py::obspy.signal.invsim.cosine_taper"}, {"type": "DoctestItem", "lineno": 642, "nodeid": "signal/invsim.py::obspy.signal.invsim.estimate_magnitude"}, {"type": "DoctestItem", "lineno": 614, "nodeid": "signal/invsim.py::obspy.signal.invsim.paz_2_amplitude_value_of_freq_resp"}], "outcome": "passed"}, {"nodeid": "signal/konnoohmachismoothing.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/polarization.py", "result": [], "outcome": "failed", "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 398, in collect\n    return list(collector.collect())\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py\", line 548, in collect\n    module = self.obj\n             ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 289, in obj\n    self._obj = obj = self._getobj()\n                      ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 560, in _getobj\n    return importtestmodule(self.path, self.config)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 507, in importtestmodule\n    mod = import_path(\n          ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/pathlib.py\", line 587, in import_path\n    importlib.import_module(module_name)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/importlib/__init__.py\", line 90, in import_module\n    return _bootstrap._gcd_import(name[level:], package, level)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"<frozen importlib._bootstrap>\", line 1387, in _gcd_import\n  File \"<frozen importlib._bootstrap>\", line 1360, in _find_and_load\n  File \"<frozen importlib._bootstrap>\", line 1331, in _find_and_load_unlocked\n  File \"<frozen importlib._bootstrap>\", line 935, in _load_unlocked\n  File \"<frozen importlib._bootstrap_external>\", line 999, in exec_module\n  File \"<frozen importlib._bootstrap>\", line 488, in _call_with_frames_removed\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/polarization.py\", line 15, in <module>\n    import scipy.odr\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/scipy/odr/__init__.py\", line 171, in <module>\n    warnings.warn(msg, DeprecationWarning, stacklevel=2)\nDeprecationWarning: `scipy.odr` is deprecated as of version 1.17.0 and will be removed in SciPy 1.19.0. Please use `https://pypi.org/project/odrpack/` instead."}, {"nodeid": "signal/quality_control.py", "result": [{"type": "DoctestItem", "lineno": 54, "nodeid": "signal/quality_control.py::obspy.signal.quality_control.MSEEDMetadata"}], "outcome": "passed"}, {"nodeid": "signal/regression.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/rotate.py", "result": [{"type": "DoctestItem", "lineno": 154, "nodeid": "signal/rotate.py::obspy.signal.rotate.rotate2zne"}], "outcome": "passed"}, {"nodeid": "signal/spectral_estimation.py", "result": [{"type": "DoctestItem", "lineno": 203, "nodeid": "signal/spectral_estimation.py::obspy.signal.spectral_estimation.PPSD"}], "outcome": "passed"}, {"nodeid": "signal/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/data/segfaulting_RESPs", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/data", "result": [{"type": "Dir", "nodeid": "signal/tests/data/segfaulting_RESPs"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_array_analysis.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_array_analysis.py::TestArray", "result": [{"type": "Function", "lineno": 35, "nodeid": "signal/tests/test_array_analysis.py::TestArray::test_array_rotation"}, {"type": "Function", "lineno": 74, "nodeid": "signal/tests/test_array_analysis.py::TestArray::test_array_dilation"}, {"type": "Function", "lineno": 120, "nodeid": "signal/tests/test_array_analysis.py::TestArray::test_array_horizontal_shear"}, {"type": "Function", "lineno": 162, "nodeid": "signal/tests/test_array_analysis.py::TestArray::test_get_geometry"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_array_analysis.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_array_analysis.py::TestArray"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_calibration.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_calibration.py::TestCalibration", "result": [{"type": "Function", "lineno": 18, "nodeid": "signal/tests/test_calibration.py::TestCalibration::test_relcal_sts2_vs_unknown"}, {"type": "Function", "lineno": 64, "nodeid": "signal/tests/test_calibration.py::TestCalibration::test_relcal_using_traces"}, {"type": "Function", "lineno": 81, "nodeid": "signal/tests/test_calibration.py::TestCalibration::test_relcal_different_overlaps"}, {"type": "Function", "lineno": 110, "nodeid": "signal/tests/test_calibration.py::TestCalibration::test_relcal_using_dict"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_calibration.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_calibration.py::TestCalibration"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_cpxtrace.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_cpxtrace.py::TestCpxTrace", "result": [{"type": "Function", "lineno": 78, "nodeid": "signal/tests/test_cpxtrace.py::TestCpxTrace::test_normenvelope"}, {"type": "Function", "lineno": 91, "nodeid": "signal/tests/test_cpxtrace.py::TestCpxTrace::test_centroid"}, {"type": "Function", "lineno": 102, "nodeid": "signal/tests/test_cpxtrace.py::TestCpxTrace::test_inst_freq"}, {"type": "Function", "lineno": 114, "nodeid": "signal/tests/test_cpxtrace.py::TestCpxTrace::test_inst_bwith"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_cpxtrace.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_cpxtrace.py::TestCpxTrace"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_cross_correlation.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation", "result": [{"type": "Function", "lineno": 35, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_normalize_true_false"}, {"type": "Function", "lineno": 46, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_srl_xcorr"}, {"type": "Function", "lineno": 73, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_xcorr_vs_old_implementation"}, {"type": "Function", "lineno": 93, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_different_length_of_signals"}, {"type": "Function", "lineno": 99, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate"}, {"type": "Function", "lineno": 132, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_different_implementations"}, {"type": "Function", "lineno": 152, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_extreme_shifts_for_freq_xcorr"}, {"type": "Function", "lineno": 177, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_xcorr_max"}, {"type": "Function", "lineno": 185, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_xcorr_3c"}, {"type": "Function", "lineno": 194, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_xcorr_pick_correction"}, {"type": "Function", "lineno": 223, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_xcorr_pick_correction_images"}, {"type": "Function", "lineno": 239, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_eqcorrscan"}, {"type": "Function", "lineno": 277, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_eqcorrscan_time"}, {"type": "Function", "lineno": 302, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_different_normalizations"}, {"type": "Function", "lineno": 318, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_correct_alignment_of_normalization"}, {"type": "Function", "lineno": 330, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_versus_correlate"}, {"type": "Function", "lineno": 338, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_zeros_in_input"}, {"type": "Function", "lineno": 353, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_different_amplitudes"}, {"type": "Function", "lineno": 368, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_nodemean_fastmatchedfilter"}, {"type": "Function", "lineno": 421, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_integer_input_equals_float_input"}, {"type": "Function", "lineno": 439, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_stream_template_and_correlation_detector"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_cross_correlation.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_detrend.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_detrend.py::TestDetrend", "result": [{"type": "Function", "lineno": 16, "nodeid": "signal/tests/test_detrend.py::TestDetrend::test_polynomial_detrend"}, {"type": "Function", "lineno": 34, "nodeid": "signal/tests/test_detrend.py::TestDetrend::test_spline_detrend"}, {"type": "Function", "lineno": 51, "nodeid": "signal/tests/test_detrend.py::TestDetrend::test_polynomial_detrend_plotting"}, {"type": "Function", "lineno": 60, "nodeid": "signal/tests/test_detrend.py::TestDetrend::test_spline_detrend_plotting"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_detrend.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_detrend.py::TestDetrend"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_differentiate_and_integrate.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_differentiate_and_integrate.py::TestIntegrate", "result": [{"type": "Function", "lineno": 16, "nodeid": "signal/tests/test_differentiate_and_integrate.py::TestIntegrate::test_cumtrapz_integration"}, {"type": "Function", "lineno": 37, "nodeid": "signal/tests/test_differentiate_and_integrate.py::TestIntegrate::test_spline_integration"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_differentiate_and_integrate.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_differentiate_and_integrate.py::TestIntegrate"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_filter.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_filter.py::TestFilter", "result": [{"type": "Function", "lineno": 21, "nodeid": "signal/tests/test_filter.py::TestFilter::test_bandpass_vs_pitsa"}, {"type": "Function", "lineno": 46, "nodeid": "signal/tests/test_filter.py::TestFilter::test_bandpass_zphsh_vs_pitsa"}, {"type": "Function", "lineno": 77, "nodeid": "signal/tests/test_filter.py::TestFilter::test_lowpass_vs_pitsa"}, {"type": "Function", "lineno": 101, "nodeid": "signal/tests/test_filter.py::TestFilter::test_lowpass_zphsh_vs_pitsa"}, {"type": "Function", "lineno": 133, "nodeid": "signal/tests/test_filter.py::TestFilter::test_highpass_vs_pitsa"}, {"type": "Function", "lineno": 159, "nodeid": "signal/tests/test_filter.py::TestFilter::test_highpass_zphsh_vs_pitsa"}, {"type": "Function", "lineno": 191, "nodeid": "signal/tests/test_filter.py::TestFilter::test_envelope_vs_pitsa"}, {"type": "Function", "lineno": 211, "nodeid": "signal/tests/test_filter.py::TestFilter::test_lowpass_cheby_2"}, {"type": "Function", "lineno": 228, "nodeid": "signal/tests/test_filter.py::TestFilter::test_bandpass_high_corner_at_nyquist"}, {"type": "Function", "lineno": 270, "nodeid": "signal/tests/test_filter.py::TestFilter::test_filterarr2d_axis_and_zerophase"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_filter.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_filter.py::TestFilter"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_freqattributes.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace", "result": [{"type": "Function", "lineno": 84, "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace::test_cfrequency"}, {"type": "Function", "lineno": 96, "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace::test_cfrequency_no_win"}, {"type": "Function", "lineno": 102, "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace::test_bwith"}, {"type": "Function", "lineno": 114, "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace::test_domper"}, {"type": "Function", "lineno": 126, "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace::test_logcep"}, {"type": "Function", "lineno": 141, "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace::test_pgm"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_freqattributes.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_hoctavbands.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_hoctavbands.py::TestHoctavbands", "result": [{"type": "Function", "lineno": 79, "nodeid": "signal/tests/test_hoctavbands.py::TestHoctavbands::test_hoctavbands"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_hoctavbands.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_hoctavbands.py::TestHoctavbands"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_interpolation.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_interpolation.py::TestInterpolation", "result": [{"type": "Function", "lineno": 17, "nodeid": "signal/tests/test_interpolation.py::TestInterpolation::test_calculate_lanczos_kernel"}, {"type": "Function", "lineno": 50, "nodeid": "signal/tests/test_interpolation.py::TestInterpolation::test_lanczos_interpolation"}, {"type": "Function", "lineno": 90, "nodeid": "signal/tests/test_interpolation.py::TestInterpolation::test_lanczos_interpolation_units"}, {"type": "Function", "lineno": 115, "nodeid": "signal/tests/test_interpolation.py::TestInterpolation::test_plot_lanczos_window"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_interpolation.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_interpolation.py::TestInterpolation"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_invsim.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_invsim.py::TestInvSim", "result": [{"type": "Function", "lineno": 68, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_seis_sim_vs_pitsa1"}, {"type": "Function", "lineno": 101, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_seis_sim_vs_pitsa_2"}, {"type": "Function", "lineno": 133, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_estimate_magnitude"}, {"type": "Function", "lineno": 185, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_sac_instrument_correction"}, {"type": "Function", "lineno": 245, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_vs_obspy"}, {"type": "Function", "lineno": 299, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_cosine_taper"}, {"type": "Function", "lineno": 325, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_using_different_line_separator"}, {"type": "Function", "lineno": 347, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_bug_395"}, {"type": "Function", "lineno": 364, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_specific_frequencies"}, {"type": "Function", "lineno": 395, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_file_like_object"}, {"type": "Function", "lineno": 422, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_segfaulting_resp_file"}, {"type": "Function", "lineno": 438, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_seed_identifiers_work"}, {"type": "Function", "lineno": 469, "nodeid": "signal/tests/test_invsim.py::TestInvSim::test_evalresp_spline"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_invsim.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_invsim.py::TestInvSim"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_konnoohmachi.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_konnoohmachi.py::TestKonnoOhmachi", "result": [{"type": "Function", "lineno": 24, "nodeid": "signal/tests/test_konnoohmachi.py::TestKonnoOhmachi::test_smoothing_window"}, {"type": "Function", "lineno": 62, "nodeid": "signal/tests/test_konnoohmachi.py::TestKonnoOhmachi::test_smoothing_matrix"}, {"type": "Function", "lineno": 100, "nodeid": "signal/tests/test_konnoohmachi.py::TestKonnoOhmachi::test_konno_ohmachi_smoothing"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_konnoohmachi.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_konnoohmachi.py::TestKonnoOhmachi"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_polarization.py", "result": [], "outcome": "failed", "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 398, in collect\n    return list(collector.collect())\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py\", line 548, in collect\n    module = self.obj\n             ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 289, in obj\n    self._obj = obj = self._getobj()\n                      ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 560, in _getobj\n    return importtestmodule(self.path, self.config)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 507, in importtestmodule\n    mod = import_path(\n          ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/pathlib.py\", line 587, in import_path\n    importlib.import_module(module_name)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/importlib/__init__.py\", line 90, in import_module\n    return _bootstrap._gcd_import(name[level:], package, level)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"<frozen importlib._bootstrap>\", line 1387, in _gcd_import\n  File \"<frozen importlib._bootstrap>\", line 1360, in _find_and_load\n  File \"<frozen importlib._bootstrap>\", line 1331, in _find_and_load_unlocked\n  File \"<frozen importlib._bootstrap>\", line 935, in _load_unlocked\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/assertion/rewrite.py\", line 197, in exec_module\n    exec(co, module.__dict__)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_polarization.py\", line 11, in <module>\n    from obspy.signal import polarization, util\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/polarization.py\", line 15, in <module>\n    import scipy.odr\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/scipy/odr/__init__.py\", line 171, in <module>\n    warnings.warn(msg, DeprecationWarning, stacklevel=2)\nDeprecationWarning: `scipy.odr` is deprecated as of version 1.17.0 and will be removed in SciPy 1.19.0. Please use `https://pypi.org/project/odrpack/` instead."}, {"nodeid": "signal/tests/test_polarization.py", "result": [], "outcome": "failed", "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 398, in collect\n    return list(collector.collect())\n                ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 563, in collect\n    self._register_setup_module_fixture()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 576, in _register_setup_module_fixture\n    self.obj, (\"setUpModule\", \"setup_module\")\n    ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 289, in obj\n    self._obj = obj = self._getobj()\n                      ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 560, in _getobj\n    return importtestmodule(self.path, self.config)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 507, in importtestmodule\n    mod = import_path(\n          ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/pathlib.py\", line 587, in import_path\n    importlib.import_module(module_name)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/importlib/__init__.py\", line 90, in import_module\n    return _bootstrap._gcd_import(name[level:], package, level)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"<frozen importlib._bootstrap>\", line 1387, in _gcd_import\n  File \"<frozen importlib._bootstrap>\", line 1360, in _find_and_load\n  File \"<frozen importlib._bootstrap>\", line 1331, in _find_and_load_unlocked\n  File \"<frozen importlib._bootstrap>\", line 935, in _load_unlocked\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/assertion/rewrite.py\", line 197, in exec_module\n    exec(co, module.__dict__)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_polarization.py\", line 11, in <module>\n    from obspy.signal import polarization, util\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/polarization.py\", line 15, in <module>\n    import scipy.odr\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/scipy/odr/__init__.py\", line 171, in <module>\n    warnings.warn(msg, DeprecationWarning, stacklevel=2)\nDeprecationWarning: `scipy.odr` is deprecated as of version 1.17.0 and will be removed in SciPy 1.19.0. Please use `https://pypi.org/project/odrpack/` instead."}, {"nodeid": "signal/tests/test_quality_control.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_quality_control.py::TestQualityControl", "result": [{"type": "Function", "lineno": 28, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_no_files_given"}, {"type": "Function", "lineno": 36, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_gaps_and_overlaps"}, {"type": "Function", "lineno": 109, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_raise_unmatching_ids"}, {"type": "Function", "lineno": 130, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_gaps_between_multiple_files"}, {"type": "Function", "lineno": 151, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_file_with_no_timing_quality"}, {"type": "Function", "lineno": 165, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_extraction_of_basic_mseed_headers"}, {"type": "Function", "lineno": 196, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_extraction_header_flags_complex"}, {"type": "Function", "lineno": 253, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_extraction_fixed_header_flags"}, {"type": "Function", "lineno": 382, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_timing_quality"}, {"type": "Function", "lineno": 398, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_overall_sample_metrics"}, {"type": "Function", "lineno": 439, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_root_mean_square"}, {"type": "Function", "lineno": 455, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_int_overflow"}, {"type": "Function", "lineno": 470, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_overlap_fire_testing"}, {"type": "Function", "lineno": 511, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_gap_fire_testing"}, {"type": "Function", "lineno": 556, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_start_gap"}, {"type": "Function", "lineno": 611, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_random_window"}, {"type": "Function", "lineno": 630, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_end_gap"}, {"type": "Function", "lineno": 654, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_clock_locked_percentage"}, {"type": "Function", "lineno": 685, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_endtime_on_sample"}, {"type": "Function", "lineno": 720, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_continuous_segments_combined"}, {"type": "Function", "lineno": 768, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_continuous_segments_sample_metrics"}, {"type": "Function", "lineno": 832, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_json_serialization"}, {"type": "Function", "lineno": 846, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_schema_validation"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_quality_control.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_quality_control.py::TestQualityControl"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_regression.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_regression.py::TestRegression", "result": [{"type": "Function", "lineno": 25, "nodeid": "signal/tests/test_regression.py::TestRegression::test_weight_intercept"}, {"type": "Function", "lineno": 36, "nodeid": "signal/tests/test_regression.py::TestRegression::test_weight_nointercept"}, {"type": "Function", "lineno": 46, "nodeid": "signal/tests/test_regression.py::TestRegression::test_noweight_intercept"}, {"type": "Function", "lineno": 56, "nodeid": "signal/tests/test_regression.py::TestRegression::test_noweight_nointercept"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_regression.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_regression.py::TestRegression"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_rotate.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_rotate.py::TestRotate", "result": [{"type": "Function", "lineno": 20, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate_ne_rt_vs_pitsa"}, {"type": "Function", "lineno": 42, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate_zne_lqt_vs_pitsa"}, {"type": "Function", "lineno": 80, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate_ne_rt_ne"}, {"type": "Function", "lineno": 99, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate2zne_round_trip"}, {"type": "Function", "lineno": 128, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate2zne_raise"}, {"type": "Function", "lineno": 145, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_base_vector_calculation_simple_cases"}, {"type": "Function", "lineno": 200, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_base_vector_from_azimuth_and_dip_calculation"}, {"type": "Function", "lineno": 219, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_galperin_configuration"}, {"type": "Function", "lineno": 245, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate2zne_against_rotate_ne_rt"}, {"type": "Function", "lineno": 263, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate2zne_against_ne_rt_picking_any_two_horizontal_comps"}, {"type": "Function", "lineno": 290, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate2zne_against_lqt"}, {"type": "Function", "lineno": 328, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate2zne_against_lqt_different_combinations"}, {"type": "Function", "lineno": 400, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_with_real_data"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_rotate.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_rotate.py::TestRotate"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_sonic.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_sonic.py::TestSonic", "result": [{"type": "Function", "lineno": 92, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_sonic_bf"}, {"type": "Function", "lineno": 105, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_sonic_bf_prew"}, {"type": "Function", "lineno": 118, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_sonic_capon"}, {"type": "Function", "lineno": 132, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_sonic_capon_prew"}, {"type": "Function", "lineno": 146, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_get_spoint"}, {"type": "Function", "lineno": 160, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_array_transff_freqslowness"}, {"type": "Function", "lineno": 197, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_array_transff_wavenumber"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_sonic.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_sonic.py::TestSonic"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_spectral_estimation.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_spectral_estimation.py::TestPsd", "result": [{"type": "Function", "lineno": 92, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_obspy_psd_vs_pitsa"}, {"type": "Function", "lineno": 136, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_welch_window_vs_pitsa"}, {"type": "Function", "lineno": 151, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd"}, {"type": "Function", "lineno": 209, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_warnings"}, {"type": "Function", "lineno": 247, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_w_iris"}, {"type": "Function", "lineno": 313, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_w_iris_against_obspy_results"}, {"type": "Function", "lineno": 380, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_save_and_load_npz"}, {"type": "Function", "lineno": 402, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_restricted_stacks"}, {"type": "Function", "lineno": 478, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_earthquake_models"}, {"type": "Function", "lineno": 502, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_infrasound"}, {"type": "Function", "lineno": 542, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_add_npz"}, {"type": "Function", "lineno": 595, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_time_checks"}, {"type": "Function", "lineno": 650, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_issue1216"}, {"type": "Function", "lineno": 684, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_wrong_trace_id_message"}, {"type": "Function", "lineno": 707, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_psd_values"}, {"type": "Function", "lineno": 719, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_temporal_plot"}, {"type": "Function", "lineno": 742, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_exclude_last_sample"}, {"type": "Function", "lineno": 762, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_spectrogram_plot"}, {"type": "Function", "lineno": 779, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_uneven_sampling_rate"}, {"type": "Function", "lineno": 807, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_exception_reading_newer_npz"}, {"type": "Function", "lineno": 855, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_nice_ringlaser_metadata_error_msg"}, {"type": "Function", "lineno": 871, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_can_read_npz_without_pickle"}, {"type": "Function", "lineno": 905, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_can_add_npz_without_pickle"}, {"type": "Function", "lineno": 926, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_short_trace_warning"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_spectral_estimation.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_stream.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_stream.py::TestStream", "result": [{"type": "Function", "lineno": 16, "nodeid": "signal/tests/test_stream.py::TestStream::test_filter"}, {"type": "Function", "lineno": 131, "nodeid": "signal/tests/test_stream.py::TestStream::test_simulate"}, {"type": "Function", "lineno": 169, "nodeid": "signal/tests/test_stream.py::TestStream::test_decimate"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_stream.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_stream.py::TestStream"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_tf_misfit.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_tf_misfit.py::TestTf", "result": [{"type": "Function", "lineno": 75, "nodeid": "signal/tests/test_tf_misfit.py::TestTf::test_phase_misfit"}, {"type": "Function", "lineno": 138, "nodeid": "signal/tests/test_tf_misfit.py::TestTf::test_envelope_misfit"}, {"type": "Function", "lineno": 201, "nodeid": "signal/tests/test_tf_misfit.py::TestTf::test_envelope_gof"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_tf_misfit.py::TestTfPlot", "result": [{"type": "Function", "lineno": 278, "nodeid": "signal/tests/test_tf_misfit.py::TestTfPlot::test_plot_tfr"}, {"type": "Function", "lineno": 285, "nodeid": "signal/tests/test_tf_misfit.py::TestTfPlot::test_plot_tf_misfits"}, {"type": "Function", "lineno": 290, "nodeid": "signal/tests/test_tf_misfit.py::TestTfPlot::test_plot_tf_gofs"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_tf_misfit.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_tf_misfit.py::TestTf"}, {"type": "Class", "nodeid": "signal/tests/test_tf_misfit.py::TestTfPlot"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_trace.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_trace.py::TestTrace", "result": [{"type": "Function", "lineno": 16, "nodeid": "signal/tests/test_trace.py::TestTrace::test_simulate"}, {"type": "Function", "lineno": 42, "nodeid": "signal/tests/test_trace.py::TestTrace::test_filter"}, {"type": "Function", "lineno": 135, "nodeid": "signal/tests/test_trace.py::TestTrace::test_decimate"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_trace.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_trace.py::TestTrace"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_trigger.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/tests/test_trigger.py::TestTrigger", "result": [{"type": "Function", "lineno": 49, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_rec_sta_lta_c"}, {"type": "Function", "lineno": 60, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_rec_sta_lta_python"}, {"type": "Function", "lineno": 71, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_rec_sta_lta_raise"}, {"type": "Function", "lineno": 84, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_pk_baer"}, {"type": "Function", "lineno": 97, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_pk_baer_cf"}, {"type": "Function", "lineno": 112, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_aic_simple_constant_data"}, {"type": "Function", "lineno": 117, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_aic_simple_small_size"}, {"type": "Function", "lineno": 121, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_aic_simple"}, {"type": "Function", "lineno": 129, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_ar_pick"}, {"type": "Function", "lineno": 154, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_ar_pick_low_amplitude"}, {"type": "Function", "lineno": 177, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_ar_pick_3552"}, {"type": "Function", "lineno": 188, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_trigger_onset"}, {"type": "Function", "lineno": 223, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_trigger_onset_issue_2891"}, {"type": "Function", "lineno": 238, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_coincidence_trigger"}, {"type": "Function", "lineno": 460, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_coincidence_trigger_with_similarity_checking"}, {"type": "Function", "lineno": 568, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_classic_sta_lta_c_python"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_trigger.py::TestEnergyRatio", "result": [{"type": "Function", "lineno": 586, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_zero[1]"}, {"type": "Function", "lineno": 586, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_zero[2]"}, {"type": "Function", "lineno": 586, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_zero[3]"}, {"type": "Function", "lineno": 586, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_zero[4]"}, {"type": "Function", "lineno": 592, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_arange"}, {"type": "Function", "lineno": 599, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_ones[1]"}, {"type": "Function", "lineno": 599, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_ones[2]"}, {"type": "Function", "lineno": 599, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_ones[3]"}, {"type": "Function", "lineno": 599, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_ones[4]"}, {"type": "Function", "lineno": 599, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_ones[5]"}, {"type": "Function", "lineno": 609, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_nsta_too_large[6]"}, {"type": "Function", "lineno": 609, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_nsta_too_large[10]"}, {"type": "Function", "lineno": 609, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_nsta_too_large[20]"}, {"type": "Function", "lineno": 617, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_nsta_zero_or_less[0]"}, {"type": "Function", "lineno": 617, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_nsta_zero_or_less[-1]"}, {"type": "Function", "lineno": 617, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_nsta_zero_or_less[-10]"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio", "result": [{"type": "Function", "lineno": 631, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_zero[1]"}, {"type": "Function", "lineno": 631, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_zero[2]"}, {"type": "Function", "lineno": 631, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_zero[3]"}, {"type": "Function", "lineno": 631, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_zero[4]"}, {"type": "Function", "lineno": 637, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_arange"}, {"type": "Function", "lineno": 645, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_ones[1]"}, {"type": "Function", "lineno": 645, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_ones[2]"}, {"type": "Function", "lineno": 645, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_ones[3]"}, {"type": "Function", "lineno": 645, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_ones[4]"}, {"type": "Function", "lineno": 645, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_ones[5]"}, {"type": "Function", "lineno": 655, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_too_large[6]"}, {"type": "Function", "lineno": 655, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_too_large[10]"}, {"type": "Function", "lineno": 655, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_too_large[20]"}, {"type": "Function", "lineno": 663, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_zero_or_less[0]"}, {"type": "Function", "lineno": 663, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_zero_or_less[-1]"}, {"type": "Function", "lineno": 663, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_zero_or_less[-10]"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_trigger.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_trigger.py::TestTrigger"}, {"type": "Class", "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio"}, {"type": "Class", "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio"}], "outcome": "passed"}, {"nodeid": "signal/tests", "result": [{"type": "DoctestModule", "nodeid": "signal/tests/__init__.py"}, {"type": "Dir", "nodeid": "signal/tests/data"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_array_analysis.py"}, {"type": "Module", "nodeid": "signal/tests/test_array_analysis.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_calibration.py"}, {"type": "Module", "nodeid": "signal/tests/test_calibration.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_cpxtrace.py"}, {"type": "Module", "nodeid": "signal/tests/test_cpxtrace.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_cross_correlation.py"}, {"type": "Module", "nodeid": "signal/tests/test_cross_correlation.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_detrend.py"}, {"type": "Module", "nodeid": "signal/tests/test_detrend.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_differentiate_and_integrate.py"}, {"type": "Module", "nodeid": "signal/tests/test_differentiate_and_integrate.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_filter.py"}, {"type": "Module", "nodeid": "signal/tests/test_filter.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_freqattributes.py"}, {"type": "Module", "nodeid": "signal/tests/test_freqattributes.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_hoctavbands.py"}, {"type": "Module", "nodeid": "signal/tests/test_hoctavbands.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_interpolation.py"}, {"type": "Module", "nodeid": "signal/tests/test_interpolation.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_invsim.py"}, {"type": "Module", "nodeid": "signal/tests/test_invsim.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_konnoohmachi.py"}, {"type": "Module", "nodeid": "signal/tests/test_konnoohmachi.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_polarization.py"}, {"type": "Module", "nodeid": "signal/tests/test_polarization.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_quality_control.py"}, {"type": "Module", "nodeid": "signal/tests/test_quality_control.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_regression.py"}, {"type": "Module", "nodeid": "signal/tests/test_regression.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_rotate.py"}, {"type": "Module", "nodeid": "signal/tests/test_rotate.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_sonic.py"}, {"type": "Module", "nodeid": "signal/tests/test_sonic.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_spectral_estimation.py"}, {"type": "Module", "nodeid": "signal/tests/test_spectral_estimation.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_stream.py"}, {"type": "Module", "nodeid": "signal/tests/test_stream.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_tf_misfit.py"}, {"type": "Module", "nodeid": "signal/tests/test_tf_misfit.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_trace.py"}, {"type": "Module", "nodeid": "signal/tests/test_trace.py"}, {"type": "DoctestModule", "nodeid": "signal/tests/test_trigger.py"}, {"type": "Module", "nodeid": "signal/tests/test_trigger.py"}], "outcome": "passed"}, {"nodeid": "signal/tf_misfit.py", "result": [{"type": "DoctestItem", "lineno": 1138, "nodeid": "signal/tf_misfit.py::obspy.signal.tf_misfit.plot_tf_gofs"}, {"type": "DoctestItem", "lineno": 870, "nodeid": "signal/tf_misfit.py::obspy.signal.tf_misfit.plot_tf_misfits"}, {"type": "DoctestItem", "lineno": 1397, "nodeid": "signal/tf_misfit.py::obspy.signal.tf_misfit.plot_tfr"}], "outcome": "passed"}, {"nodeid": "signal/trigger.py", "result": [], "outcome": "passed"}, {"nodeid": "signal/util.py", "result": [{"type": "DoctestItem", "lineno": 248, "nodeid": "signal/util.py::obspy.signal.util._npts2nfft"}, {"type": "DoctestItem", "lineno": 79, "nodeid": "signal/util.py::obspy.signal.util.next_pow_2"}, {"type": "DoctestItem", "lineno": 93, "nodeid": "signal/util.py::obspy.signal.util.prev_pow_2"}, {"type": "DoctestItem", "lineno": 22, "nodeid": "signal/util.py::obspy.signal.util.util_geo_km"}, {"type": "DoctestItem", "lineno": 49, "nodeid": "signal/util.py::obspy.signal.util.util_lon_lat"}], "outcome": "passed"}, {"nodeid": "signal", "result": [{"type": "DoctestModule", "nodeid": "signal/__init__.py"}, {"type": "DoctestModule", "nodeid": "signal/array_analysis.py"}, {"type": "DoctestModule", "nodeid": "signal/calibration.py"}, {"type": "DoctestModule", "nodeid": "signal/cpxtrace.py"}, {"type": "DoctestModule", "nodeid": "signal/cross_correlation.py"}, {"type": "Dir", "nodeid": "signal/data"}, {"type": "DoctestModule", "nodeid": "signal/detrend.py"}, {"type": "DoctestModule", "nodeid": "signal/differentiate_and_integrate.py"}, {"type": "DoctestModule", "nodeid": "signal/evrespwrapper.py"}, {"type": "DoctestModule", "nodeid": "signal/filter.py"}, {"type": "DoctestModule", "nodeid": "signal/freqattributes.py"}, {"type": "DoctestModule", "nodeid": "signal/headers.py"}, {"type": "DoctestModule", "nodeid": "signal/hoctavbands.py"}, {"type": "DoctestModule", "nodeid": "signal/interpolation.py"}, {"type": "DoctestModule", "nodeid": "signal/invsim.py"}, {"type": "DoctestModule", "nodeid": "signal/konnoohmachismoothing.py"}, {"type": "DoctestModule", "nodeid": "signal/polarization.py"}, {"type": "DoctestModule", "nodeid": "signal/quality_control.py"}, {"type": "DoctestModule", "nodeid": "signal/regression.py"}, {"type": "DoctestModule", "nodeid": "signal/rotate.py"}, {"type": "DoctestModule", "nodeid": "signal/spectral_estimation.py"}, {"type": "Package", "nodeid": "signal/tests"}, {"type": "DoctestModule", "nodeid": "signal/tf_misfit.py"}, {"type": "DoctestModule", "nodeid": "signal/trigger.py"}, {"type": "DoctestModule", "nodeid": "signal/util.py"}], "outcome": "passed"}, {"nodeid": "taup/__init__.py", "result": [{"type": "DoctestItem", "lineno": 1, "nodeid": "taup/__init__.py::obspy.taup"}], "outcome": "passed"}, {"nodeid": "taup/c_wrappers.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/data", "result": [], "outcome": "passed"}, {"nodeid": "taup/helper_classes.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/ray_paths.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/seismic_phase.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/slowness_layer.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/slowness_model.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/tau.py", "result": [{"type": "DoctestItem", "lineno": 630, "nodeid": "taup/tau.py::obspy.taup.tau.TauPyModel.__init__"}, {"type": "DoctestItem", "lineno": 1123, "nodeid": "taup/tau.py::obspy.taup.tau.plot_ray_paths"}, {"type": "DoctestItem", "lineno": 975, "nodeid": "taup/tau.py::obspy.taup.tau.plot_travel_times"}], "outcome": "passed"}, {"nodeid": "taup/tau_branch.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/tau_model.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/taup_create.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/taup_geo.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/taup_path.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/taup_pierce.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/taup_time.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/tests/__init__.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/tests/data/TauP_test_data", "result": [], "outcome": "passed"}, {"nodeid": "taup/tests/data", "result": [{"type": "Dir", "nodeid": "taup/tests/data/TauP_test_data"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_misc.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/tests/test_misc.py::TestTauPyMisc", "result": [{"type": "Function", "lineno": 12, "nodeid": "taup/tests/test_misc.py::TestTauPyMisc::test_leg_puller"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_misc.py", "result": [{"type": "Class", "nodeid": "taup/tests/test_misc.py::TestTauPyMisc"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_ray_paths.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/tests/test_ray_paths.py::TestRayPathCalculations", "result": [{"type": "Function", "lineno": 14, "nodeid": "taup/tests/test_ray_paths.py::TestRayPathCalculations::test_compute_ray_paths"}, {"type": "Function", "lineno": 166, "nodeid": "taup/tests/test_ray_paths.py::TestRayPathCalculations::test_deep_source"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_ray_paths.py", "result": [{"type": "Class", "nodeid": "taup/tests/test_ray_paths.py::TestRayPathCalculations"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_seismic_phase.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/tests/test_seismic_phase.py::TestTauPySeismicPhase", "result": [{"type": "Function", "lineno": 28, "nodeid": "taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_shoot_existing_ray_param"}, {"type": "Function", "lineno": 50, "nodeid": "taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_shoot_middle_ray_param"}, {"type": "Function", "lineno": 61, "nodeid": "taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_many_identically_named_phases"}, {"type": "Function", "lineno": 76, "nodeid": "taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_diffracted_phases"}, {"type": "Function", "lineno": 98, "nodeid": "taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_phase_names"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_seismic_phase.py", "result": [{"type": "Class", "nodeid": "taup/tests/test_seismic_phase.py::TestTauPySeismicPhase"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_slowness_model.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/tests/test_slowness_model.py::TestTauPySlownessModel", "result": [{"type": "Function", "lineno": 13, "nodeid": "taup/tests/test_slowness_model.py::TestTauPySlownessModel::test_slowness_layer"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_slowness_model.py::TestBullenDepth", "result": [{"type": "Function", "lineno": 30, "nodeid": "taup/tests/test_slowness_model.py::TestBullenDepth::test_overflow"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_slowness_model.py", "result": [{"type": "Class", "nodeid": "taup/tests/test_slowness_model.py::TestTauPySlownessModel"}, {"type": "Class", "nodeid": "taup/tests/test_slowness_model.py::TestBullenDepth"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_split_model.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/tests/test_split_model.py::TestSplitTauModel", "result": [{"type": "Function", "lineno": 15, "nodeid": "taup/tests/test_split_model.py::TestSplitTauModel::test_split"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_split_model.py", "result": [{"type": "Class", "nodeid": "taup/tests/test_split_model.py::TestSplitTauModel"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_tau.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/tests/test_tau.py::TestTauPyModel", "result": [{"type": "Function", "lineno": 109, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_iasp91_manual"}, {"type": "Function", "lineno": 128, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_iasp91_geo_manual"}, {"type": "Function", "lineno": 154, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_iasp91_geo_fallback_manual"}, {"type": "Function", "lineno": 182, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_iasp91"}, {"type": "Function", "lineno": 195, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_ak135"}, {"type": "Function", "lineno": 209, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_ak135f_no_mud"}, {"type": "Function", "lineno": 224, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_jb"}, {"type": "Function", "lineno": 238, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_pwdk"}, {"type": "Function", "lineno": 252, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_iasp91"}, {"type": "Function", "lineno": 267, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_ak135"}, {"type": "Function", "lineno": 282, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_pierce_p_iasp91"}, {"type": "Function", "lineno": 305, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_pierce_p_iasp91_geo"}, {"type": "Function", "lineno": 344, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_pierce_p_iasp91_fallback_geo"}, {"type": "Function", "lineno": 387, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_vs_java_iasp91"}, {"type": "Function", "lineno": 464, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_pierce_all_phases"}, {"type": "Function", "lineno": 506, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_pierce_add_depth"}, {"type": "Function", "lineno": 518, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_single_path_iasp91"}, {"type": "Function", "lineno": 547, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_single_path_geo_iasp91"}, {"type": "Function", "lineno": 613, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_single_path_geo_fallback_iasp91"}, {"type": "Function", "lineno": 664, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_single_path_ak135"}, {"type": "Function", "lineno": 747, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_p_deep"}, {"type": "Function", "lineno": 751, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_p_shallow"}, {"type": "Function", "lineno": 755, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_pcp"}, {"type": "Function", "lineno": 759, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_pkikp"}, {"type": "Function", "lineno": 763, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_s_deep"}, {"type": "Function", "lineno": 767, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_s_shallow"}, {"type": "Function", "lineno": 771, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_scp"}, {"type": "Function", "lineno": 775, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_kennet_ak135_ttime_tables_scs"}, {"type": "Function", "lineno": 779, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_java_pnps"}, {"type": "Function", "lineno": 796, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_surface_wave_ttimes"}, {"type": "Function", "lineno": 833, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_underside_reflections"}, {"type": "Function", "lineno": 849, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_buried_receiver"}, {"type": "Function", "lineno": 862, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_different_models"}, {"type": "Function", "lineno": 890, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_paths_for_crustal_phases"}, {"type": "Function", "lineno": 984, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_arrivals_class"}, {"type": "Function", "lineno": 1033, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_regional_models"}, {"type": "Function", "lineno": 1074, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_fruit"}, {"type": "Function", "lineno": 1112, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_high_slowness_crust"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_tau.py", "result": [{"type": "Class", "nodeid": "taup/tests/test_tau.py::TestTauPyModel"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_taup_geo.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/tests/test_taup_geo.py::TestTaupGeo", "result": [{"type": "Function", "lineno": 21, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeo::test_path_geo"}, {"type": "Function", "lineno": 36, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeo::test_path_resampling"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist", "result": [{"type": "Function", "lineno": 146, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist::test_taup_geo_calc_dist_1"}, {"type": "Function", "lineno": 156, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist::test_taup_geo_calc_dist_2"}, {"type": "Function", "lineno": 166, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist::test_taup_geo_calc_dist_3"}, {"type": "Function", "lineno": 176, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist::test_taup_geo_calc_dist_4"}, {"type": "Function", "lineno": 186, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist::test_taup_geo_calc_dist_azi"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_taup_geo.py", "result": [{"type": "Class", "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeo"}, {"type": "Class", "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_taup_plotting.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting", "result": [{"type": "Function", "lineno": 34, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_spherical_many_phases"}, {"type": "Function", "lineno": 43, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_spherical_many_phases_buried_station"}, {"type": "Function", "lineno": 52, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_spherical_many_phases_one_way"}, {"type": "Function", "lineno": 61, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_spherical_more_then_360_degrees"}, {"type": "Function", "lineno": 70, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_spherical_diff_phases"}, {"type": "Function", "lineno": 84, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_cartesian_many_phases"}, {"type": "Function", "lineno": 94, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_cartesian_many_phases_buried_station"}, {"type": "Function", "lineno": 104, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_cartesian_many_phases_one_way"}, {"type": "Function", "lineno": 114, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_cartesian_many_phases_one_way_depr"}, {"type": "Function", "lineno": 128, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_plot_travel_times"}, {"type": "Function", "lineno": 136, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_plot_travel_times_convenience_1"}, {"type": "Function", "lineno": 146, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_plot_travel_times_convenience_2"}, {"type": "Function", "lineno": 153, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_plot_travel_times_convenience_3"}, {"type": "Function", "lineno": 160, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_ray_plot_mismatching_axes_type_warnings"}, {"type": "Function", "lineno": 198, "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_invalid_plot_option"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_taup_plotting.py", "result": [{"type": "Class", "nodeid": "taup/tests/test_taup_plotting.py::TestTauPyPlotting"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_velocity_model.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/tests/test_velocity_model.py::TestTauPyVelocityModel", "result": [{"type": "Function", "lineno": 8, "nodeid": "taup/tests/test_velocity_model.py::TestTauPyVelocityModel::test_read_velocity_model"}], "outcome": "passed"}, {"nodeid": "taup/tests/test_velocity_model.py", "result": [{"type": "Class", "nodeid": "taup/tests/test_velocity_model.py::TestTauPyVelocityModel"}], "outcome": "passed"}, {"nodeid": "taup/tests", "result": [{"type": "DoctestModule", "nodeid": "taup/tests/__init__.py"}, {"type": "Dir", "nodeid": "taup/tests/data"}, {"type": "DoctestModule", "nodeid": "taup/tests/test_misc.py"}, {"type": "Module", "nodeid": "taup/tests/test_misc.py"}, {"type": "DoctestModule", "nodeid": "taup/tests/test_ray_paths.py"}, {"type": "Module", "nodeid": "taup/tests/test_ray_paths.py"}, {"type": "DoctestModule", "nodeid": "taup/tests/test_seismic_phase.py"}, {"type": "Module", "nodeid": "taup/tests/test_seismic_phase.py"}, {"type": "DoctestModule", "nodeid": "taup/tests/test_slowness_model.py"}, {"type": "Module", "nodeid": "taup/tests/test_slowness_model.py"}, {"type": "DoctestModule", "nodeid": "taup/tests/test_split_model.py"}, {"type": "Module", "nodeid": "taup/tests/test_split_model.py"}, {"type": "DoctestModule", "nodeid": "taup/tests/test_tau.py"}, {"type": "Module", "nodeid": "taup/tests/test_tau.py"}, {"type": "DoctestModule", "nodeid": "taup/tests/test_taup_geo.py"}, {"type": "Module", "nodeid": "taup/tests/test_taup_geo.py"}, {"type": "DoctestModule", "nodeid": "taup/tests/test_taup_plotting.py"}, {"type": "Module", "nodeid": "taup/tests/test_taup_plotting.py"}, {"type": "DoctestModule", "nodeid": "taup/tests/test_velocity_model.py"}, {"type": "Module", "nodeid": "taup/tests/test_velocity_model.py"}], "outcome": "passed"}, {"nodeid": "taup/utils.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/velocity_layer.py", "result": [], "outcome": "passed"}, {"nodeid": "taup/velocity_model.py", "result": [], "outcome": "passed"}, {"nodeid": "taup", "result": [{"type": "DoctestModule", "nodeid": "taup/__init__.py"}, {"type": "DoctestModule", "nodeid": "taup/c_wrappers.py"}, {"type": "Dir", "nodeid": "taup/data"}, {"type": "DoctestModule", "nodeid": "taup/helper_classes.py"}, {"type": "DoctestModule", "nodeid": "taup/ray_paths.py"}, {"type": "DoctestModule", "nodeid": "taup/seismic_phase.py"}, {"type": "DoctestModule", "nodeid": "taup/slowness_layer.py"}, {"type": "DoctestModule", "nodeid": "taup/slowness_model.py"}, {"type": "DoctestModule", "nodeid": "taup/tau.py"}, {"type": "DoctestModule", "nodeid": "taup/tau_branch.py"}, {"type": "DoctestModule", "nodeid": "taup/tau_model.py"}, {"type": "DoctestModule", "nodeid": "taup/taup_create.py"}, {"type": "DoctestModule", "nodeid": "taup/taup_geo.py"}, {"type": "DoctestModule", "nodeid": "taup/taup_path.py"}, {"type": "DoctestModule", "nodeid": "taup/taup_pierce.py"}, {"type": "DoctestModule", "nodeid": "taup/taup_time.py"}, {"type": "Package", "nodeid": "taup/tests"}, {"type": "DoctestModule", "nodeid": "taup/utils.py"}, {"type": "DoctestModule", "nodeid": "taup/velocity_layer.py"}, {"type": "DoctestModule", "nodeid": "taup/velocity_model.py"}], "outcome": "passed"}, {"nodeid": ".", "result": [{"type": "DoctestModule", "nodeid": "__init__.py"}, {"type": "Package", "nodeid": "clients"}, {"type": "DoctestModule", "nodeid": "conftest.py"}, {"type": "Package", "nodeid": "core"}, {"type": "Package", "nodeid": "geodetics"}, {"type": "Package", "nodeid": "imaging"}, {"type": "Package", "nodeid": "io"}, {"type": "Package", "nodeid": "lib"}, {"type": "Package", "nodeid": "realtime"}, {"type": "Package", "nodeid": "scripts"}, {"type": "Package", "nodeid": "signal"}, {"type": "Package", "nodeid": "taup"}], "outcome": "passed"}], "environment": {}, "dependencies": {"lxml": "6.0.2", "numpy": "2.4.2", "obspy": "1.4.2.post0+482.g509ef587ae", "scipy": "1.17.1", "flake8": "---", "pyproj": "3.7.2", "pytest": "9.0.2", "cartopy": "0.25.0", "requests": "2.32.5", "decorator": "5.2.1", "shapefile": "---", "matplotlib": "3.10.8", "setuptools": "82.0.0", "sqlalchemy": "1.4.54", "geographiclib": "2.1", "pytest-json-report": "1.5.0"}, "platform_info": {"node": "gh-actions", "system": "Linux", "machine": "x86_64", "release": "6.14.0-1017-azure", "version": "#17~24.04.1-Ubuntu SMP Mon Dec  1 20:10:50 UTC 2025", "processor": "x86_64", "architecture": "64bit", "python_version": "3.12.12", "python_compiler": "GCC 14.3.0", "python_implementation": "CPython"}, "runtest_flags": "--cov obspy --cov-report=xml:/home/runner/work/obspy/obspy/coverage.xml --cov-append --report --keep-images -W error"}